دالة الجدول azureBlobStorage
الصياغة
- سلسلة اتصال
- عنوان URL لحساب التخزين
- مجموعة مسماة
تكون بيانات الاعتماد مضمنة في سلسلة اتصال، لذلك لا حاجة إلى
account_name/account_key بشكل منفصل:الوسيطات
| Argument | Description |
|---|---|
connection_string | سلسلة اتصال تتضمن بيانات اعتماد مضمّنة (اسم الحساب + مفتاح الحساب أو SAS token). عند استخدام هذا الشكل، يجب ألا يتم تمرير account_name وaccount_key بشكل منفصل. راجع Configure a connection string. |
storage_account_url | عنوان URL لنقطة نهاية حساب التخزين، على سبيل المثال https://myaccount.blob.core.windows.net/. عند استخدام هذا الشكل، يجب أيضًا تمرير account_name وaccount_key. |
container_name | اسم الحاوية. |
blobpath | مسار الملف. يدعم أحرف البدل التالية في وضع القراءة فقط: *, **, ?, {abc,def} و{N..M}، حيث إن N وM — أرقام، و'abc' و'def' — سلاسل نصية. |
account_name | اسم حساب التخزين. مطلوب عند استخدام storage_account_url بدون SAS؛ ويجب ألا يتم تمريره عند استخدام connection_string. |
account_key | مفتاح حساب التخزين. مطلوب عند استخدام storage_account_url بدون SAS؛ ويجب ألا يتم تمريره عند استخدام connection_string. |
format | تنسيق الملف. |
compression | القيم المدعومة: none, gzip/gz, brotli/br, xz/LZMA, zstd/zst. افتراضيًا، سيُكتشف الضغط تلقائيًا استنادًا إلى امتداد الملف (كما لو كان الإعداد auto). |
structure | بنية الجدول. الصيغة: 'column1_name column1_type, column2_name column2_type, ...'. |
partition_strategy | اختياري. القيم المدعومة: WILDCARD أو HIVE. تتطلب WILDCARD وجود {_partition_id} في المسار، ويُستبدل بمفتاح التقسيم. أما HIVE فلا يسمح بأحرف البدل، ويفترض أن المسار هو جذر الجدول، ويُنشئ أدلة مقسّمة بأسلوب Hive مع Snowflake IDs كأسماء ملفات وتنظيم الملف كامتداد. القيمة الافتراضية هي الإعداد file_like_engine_default_partition_strategy (WILDCARD ضمن إعدادات compatibility الأقدم من 26.6، وHIVE بخلاف ذلك). |
partition_columns_in_data_file | اختياري. يُستخدم فقط مع استراتيجية التقسيم HIVE. يحدد لـ ClickHouse ما إذا كان ينبغي توقّع كتابة أعمدة التقسيم داخل ملف البيانات. القيمة الافتراضية false. |
extra_credentials | استخدم client_id وtenant_id للمصادقة. إذا تم توفير extra_credentials، فستُعطى لهما الأولوية على account_name وaccount_key. |
المجموعات المسماة
| المفتاح | مطلوب | الوصف |
|---|---|---|
container | نعم | اسم الحاوية. يقابل الوسيط الموضعي container_name. |
blob_path | نعم | مسار الملف (مع أحرف بدل اختيارية). يقابل الوسيط الموضعي blobpath. |
connection_string | لا* | سلسلة اتصال تتضمن بيانات اعتماد مضمّنة. *يجب توفير أحد الخيارين: connection_string أو storage_account_url. |
storage_account_url | لا* | عنوان URL لنقطة نهاية حساب التخزين. *يجب توفير أحد الخيارين: connection_string أو storage_account_url. |
account_name | لا | مطلوب عند استخدام storage_account_url |
account_key | لا | مطلوب عند استخدام storage_account_url |
format | لا | تنسيق الملف. |
compression | لا | نوع الضغط. |
structure | لا | بنية الجدول. |
client_id | لا | معرّف العميل للمصادقة. |
tenant_id | لا | معرّف المستأجر للمصادقة. |
تختلف أسماء مفاتيح المجموعات المسماة عن أسماء الوسائط الموضعية للدالة:
container (وليس container_name) وblob_path (وليس blobpath).القيمة المعادة
أمثلة
القراءة بصيغة storage_account_url
القراءة باستخدام صيغة connection_string
الكتابة باستخدام التقسيمات
الأعمدة الافتراضية
_path— مسار الملف. النوع:LowCardinality(String)._file— اسم الملف. النوع:LowCardinality(String)._size— حجم الملف بالبايت. النوع:Nullable(UInt64). إذا كان حجم الملف غير معروف، تكون القيمةNULL._time— وقت آخر تعديل للملف. النوع:Nullable(DateTime). إذا كان الوقت غير معروف، تكون القيمةNULL.
الكتابة مع التقسيم
استراتيجية التقسيم
INSERT.
WILDCARD: يستبدل الرمز البديل {_partition_id} في مسار الملف بمفتاح التقسيم الفعلي. ويُختار افتراضيًا فقط ضمن إعدادات compatibility الأقدم من 26.6؛ وإلا تكون القيمة الافتراضية هي HIVE (راجع الإعداد file_like_engine_default_partition_strategy).
يعتمد HIVE التقسيم بأسلوب Hive لعمليات القراءة والكتابة. ويُنشئ الملفات بالتنسيق التالي: <prefix>/<key1=val1/key2=val2...>/<snowflakeid>.<toLower(file_format)>.
مثال على استراتيجية التقسيم HIVE
إعداد use_hive_partitioning
partition_strategy.
عند تعيين use_hive_partitioning إلى القيمة 1، سيكتشف ClickHouse التقسيم بأسلوب Hive في المسار (/name=value/) وسيتيح استخدام أعمدة التقسيم كأعمدة افتراضية في الاستعلام. وستحمل هذه الأعمدة الافتراضية الأسماء نفسها الموجودة في المسار المُقسَّم.
مثال
استخدم عمودًا افتراضيًا أُنشئ باستخدام التقسيم بأسلوب Hive
azureBlobStorage Shared Access Signatures (SAS).
يحتوي Blob SAS token على جميع المعلومات اللازمة لمصادقة الطلب، بما في ذلك الـ blob المستهدف، والأذونات، وفترة الصلاحية. ولإنشاء URL للـ blob، ألحِق SAS token بنقطة نهاية خدمة الـ blob. على سبيل المثال، إذا كانت نقطة النهاية هي https://clickhousedocstest.blob.core.windows.net/، يصبح الطلب كما يلي: