نسخ البيانات من أو إلى Azure Files باستخدام Azure Data Factory
ينطبق على: Azure Data Factory Azure Synapse Analytics
تلميح
جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!
توضح هذه المقالة كيفية نسخ البيانات إلى ومن Azure Files. للتعرف على Azure Data Factory، أقرأ المقالة التمهيدية.
القدرات المدعومة
موصل Azure Files هذا مدعوم للإمكانيات التالية:
القدرات المدعومة | IR | نقطة النهاية الخاصة المُدارة |
---|---|---|
Copy activity (المصدر/المتلق) | (1) (2) | ✓ استبعاد حساب التخزين V1 |
نشاط البحث | (1) (2) | ✓ استبعاد حساب التخزين V1 |
نشاط GetMetadata | (1) (2) | ✓ استبعاد حساب التخزين V1 |
حذف النشاط | (1) (2) | ✓ استبعاد حساب التخزين V1 |
① وقت تشغيل تكامل Azure ② وقت تشغيل التكامل المستضاف ذاتيًا
يمكنك نسخ البيانات من Azure Files إلى أي مخزن بيانات متلقي معتمد، أو نسخ البيانات من أي مخزن بيانات مصدر معتمد إلى Azure Files. للحصول على قائمة مخازن البيانات المعتمدة كمصادر ومواضع تلقٍّ، راجع مخازن البيانات المعتمدة والتنسيقات.
وبشكل خاص، يدعم موصل Azure Files هذا:
- نسخ الملفات باستخدام مصادقات مفتاح الحساب أو توقيع الوصول المشترك للخدمة (SAS).
- نسخ الملفات كما هي أو تحليل / إنشاء الملفات مع تنسيقات الملفات المدعومة وبرامج ضغط الوسائط وفكها.
الشروع في العمل
لتنفيذ نشاط النسخ باستخدام أحد المسارات، يمكنك استخدام إحدى الأدوات أو عدد تطوير البرامج التالية:
- أداة نسخ البيانات
- مدخل Azure
- The .NET SDK
- عدة تطوير برامج Python
- Azure PowerShell
- واجهة برمجة تطبيقات REST
- قالب Azure Resource Manager
إنشاء خدمة مرتبطة بـ Azure Files باستخدام واجهة المستخدم
استخدم الخطوات التالية لإنشاء خدمة مرتبطة بـ Azure Files في واجهة مستخدم مدخل Microsoft Azure.
استعرض للوصول إلى علامة التبويب "Manage" في مصنع بيانات Azure أو مساحة عمل Synapse، وحدد "Linked Services"، ثم انقر فوق "New":
ابحث عن ملف وحدد موصل Azure Files المسمى Azure File Storage.
قم بتكوين تفاصيل الخدمة، واختبر الاتصال، وأنشئ الخدمة المرتبطة الجديدة.
تفاصيل تكوين الموصل
توفر الأقسام التالية تفاصيل حول الخصائص المستخدمة لتعريف الكيانات الخاصة بـ Azure Files.
خصائص الخدمة المرتبطة
يدعم موصل Azure Files أنواع المصادقة التالية. راجع الأقسام المقابلة للاطلاع على التفاصيل.
- مصادقة مفتاح الحساب
- مصادقة توقيع الوصول المشترك
- مصادقة الهوية المدارة المعينة من قبل النظام
- مصادقة الهوية المدارة المعينة من قبل المستخدم
إشعار
إذا كنت تستخدم خدمة Azure Files المرتبطة مع الطراز القديم، حيث يتم عرض واجهة مستخدم تأليف ADF على أنها "مصادقة أساسية"، فإنها لا تزال مدعومة كما هي، بينما يُقترح عليك استخدام النموذج الجديد من الآن فصاعداً. ينقل الطراز القديم البيانات من/إلى التخزين عبر Server Message Block (SMB)، بينما يستخدم الطراز الجديد SDK للتخزين الذي يتمتع بمعدل نقل أفضل. للترقية، يمكنك تعديل الخدمة المرتبطة لتبديل أسلوب المصادقة إلى "مفتاح الحساب" أو "SAS URI"؛ لا حاجة للتغيير في مجموعة البيانات أو نشاط النسخ.
مصادقة مفتاح الحساب
يدعم Data Factory الخصائص التالية لمصادقة مفتاح حساب Azure Files:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية النوع إلى: AzureFileStorage. | نعم |
سلسلة الاتصال | حدد المعلومات المطلوبة للاتصال بـ Azure Files. يمكنك أيضا وضع مفتاح الحساب في Azure Key Vault وسحب accountKey التكوين من سلسلة الاتصال. للمزيد من المعلومات، راجع العينات التالية ومقالة بيانات اعتماد المخزن في Azure Key Vault. |
نعم |
fileShare | تحديد مشاركة الملف. | نعم |
اللقطة | حدد تاريخ لقطة مشاركة الملف إذا كنت تريد النسخ من لقطة. | لا |
connectVia | Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. يمكنك استخدام Azure Integration Runtime أو وقت تشغيل التكامل المستضاف ذاتياً (إذا كان مخزن البيانات موجوداً في شبكة خاصة). إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. | لا |
مثال:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountName>;AccountKey=<accountKey>;EndpointSuffix=core.windows.net;",
"fileShare": "<file share name>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مثال: تخزين مفتاح الحساب في Azure Key Vault
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"connectionString": "DefaultEndpointsProtocol=https;AccountName=<accountname>;",
"fileShare": "<file share name>",
"accountKey": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مصادقة توقيع الوصول المشترك
ويوفر توقيع الوصول المشترك وصولاً مفوضًا إلى الموارد في حساب التخزين الخاص بك. يمكنك استخدام توقيع وصول المشترك لمنح عميل أذونات محدودة للعناصر الموجودة في حساب التخزين الخاص بك لفترة محددة. للمزيد من المعلومات حول توقيعات الوصول المشتركة، راجع توقيعات الوصول المشتركة: فهم نموذج توقيع الوصول المشترك.
تدعم الخدمة الخصائص التالية لاستخدام مصادقة توقيع الوصول المشترك:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية النوع إلى: AzureFileStorage. | نعم |
sasUri | تحديد عنوان URI لتوقيع الوصول المشترك إلى الموارد. وضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن. يمكنك أيضاً وضع رمز SAS المميز في Azure Key Vault لاستخدام التدوير التلقائي وإزالة جزء الرمز المميز. لمزيد من المعلومات، راجع العينات التالية وبيانات اعتماد المتجر في Azure Key Vault. |
نعم |
fileShare | تحديد مشاركة الملف. | نعم |
اللقطة | حدد تاريخ لقطة مشاركة الملف إذا كنت تريد النسخ من لقطة. | لا |
connectVia | Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. يمكنك استخدام Azure Integration Runtime أو وقت تشغيل التكامل المستضاف ذاتياً (إذا كان مخزن البيانات موجوداً في شبكة خاصة). إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. | لا |
مثال:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the resource e.g. https://<accountname>.file.core.windows.net/?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
},
"fileShare": "<file share name>",
"snapshot": "<snapshot version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مثال: تخزين رمز SAS المميز في Azure Key Vault
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"sasUri": {
"type": "SecureString",
"value": "<SAS URI of the Azure Storage resource without token e.g. https://<accountname>.file.core.windows.net/>"
},
"sasToken": {
"type": "AzureKeyVaultSecret",
"store": {
"referenceName": "<Azure Key Vault linked service name>",
"type": "LinkedServiceReference"
},
"secretName": "<secretName with value of SAS token e.g. ?sv=<storage version>&st=<start time>&se=<expire time>&sr=<resource>&sp=<permissions>&sip=<ip range>&spr=<protocol>&sig=<signature>>"
},
"fileShare": "<file share name>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مصادقة الهوية المدارة المعينة من قبل النظام
يمكن أن يقترن مصنع بيانات أو خط Synapse بهوية مدارة تم تعيينها من قبل النظام لموارد Azure، والتي تمثل هذا المورد للمصادقة على خدمات Azure الأخرى. يمكنك استخدام هذه الهوية المدارة المعينة من قبل النظام لمصادقة ملفات Azure. ولمعرفة المزيد عن الهويات المدارة لموارد Azure، راجع الهويات المدارة لموارد Azure.
لاستخدام مصادقة الهوية المدارة المعينة من قبل النظام، اتبع الخطوات التالية:
استرداد معلومات الهوية المدارة المعينة من قبل النظام عن طريق نسخ قيمة معرف كائن الهوية المدارة المعينة من قبل النظام التي تم إنشاؤها مع مساحة عمل المصنع أو Synapse.
امنح إذن الهوية المدارة في Azure Files. لمزيد من المعلومات حول الأدوار، راجع هذه المقالة.
- كمصدر، في Access control (IAM)، امنح على الأقل دور Storage File Data Privileged Reader.
- كمتلقي، في Access control (IAM) ، امنح على الأقل دور Storage File Data Privileged Contributor .
يتم دعم هذه الخصائص لخدمة مرتبطة بملفات Azure:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية النوع إلى AzureFileStorage. | نعم |
نقطة الخدمة | حدد نقطة نهاية خدمة ملفات Azure مع نمط https://<accountName>.file.core.windows.net/ . |
نعم |
fileShare | تحديد مشاركة الملف. | نعم |
اللقطة | حدد تاريخ لقطة مشاركة الملف إذا كنت تريد النسخ من لقطة. | لا |
connectVia | Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل تكامل Azure. إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. | لا |
إشعار
يتم دعم مصادقة الهوية المدارة المعينة من قبل النظام فقط من قبل وقت تشغيل تكامل Azure.
مثال:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.file.core.windows.net/",
"fileShare": "<file share name>",
"snapshot": "<snapshot version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
مصادقة الهوية المدارة المعينة من قبل المستخدم
يمكن تعيين مصنع بيانات باستخدام مصادقة هوية مدارة معينة من قبل المستخدم، واحدة أو متعددة. يمكنك استخدام هذه الهوية المدارة المعينة من قبل المستخدم لمصادقة Azure Files، والتي تسمح بالوصول إلى البيانات ونسخها من أو إلى Azure Files. ولمعرفة المزيد عن الهويات المدارة لموارد Azure، راجع الهويات المدارة لموارد Azure.
لاستخدام مصادقة الهوية المدارة المعينة من قبل المستخدم اتبع الخطوات التالية:
إنشاء هوية واحدة أو عدة هويات مدارة يعينها المستخدم ومنح الإذن في Azure Files. لمزيد من المعلومات حول الأدوار، راجع هذه المقالة.
- كمصدر، في Access control (IAM)، امنح على الأقل دور Storage File Data Privileged Reader.
- كمتلقي، في Access control (IAM) ، امنح على الأقل دور Storage File Data Privileged Contributor .
تعيين هوية مدارة معينة من قبل المستخدم، واحدة أو متعددة، إلى مصنع البيانات وإنشاء بيانات اعتماد لكل هوية مدارة معينة من قبل المستخدم.
يتم دعم هذه الخصائص لخدمة مرتبطة بملفات Azure:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية النوع إلى AzureFileStorage. | نعم |
نقطة الخدمة | حدد نقطة نهاية خدمة ملفات Azure مع نمط https://<accountName>.file.core.windows.net/ . |
نعم |
بيانات الاعتماد | حدد الهوية المدارة المعينة من قبل المستخدم ككائن بيانات الاعتماد. | نعم |
fileShare | تحديد مشاركة الملف. | نعم |
اللقطة | حدد تاريخ لقطة مشاركة الملف إذا كنت تريد النسخ من لقطة. | لا |
connectVia | Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. يمكنك استخدام Azure Integration Runtime أو وقت تشغيل التكامل المستضاف ذاتياً (إذا كان مخزن البيانات موجوداً في شبكة خاصة). إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. | لا |
مثال:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"serviceEndpoint": "https://<accountName>.file.core.windows.net/",
"credential": {
"referenceName": "credential1",
"type": "CredentialReference"
},
"fileShare": "<file share name>",
"snapshot": "<snapshot version>"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
الطراز القديم
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية النوع إلى: AzureFileStorage. | نعم |
مضيف | تحديد نقطة نهاية Azure Files على النحو التالي: -استخدام واجهة المستخدم: تحديد \\<storage name>.file.core.windows.net\<file service name> - استخدام JSON: "host": "\\\\<storage name>.file.core.windows.net\\<file service name>" . |
نعم |
معرف المستخدم | حدد المستخدم للوصول إلى Azure Files على النحو التالي: -استخدام واجهة المستخدم: تحديد AZURE\<storage name> - استخدام JSON: "userid": "AZURE\\<storage name>" . |
نعم |
كلمة المرور | تحديد مفتاح الوصول إلى التخزين. ضع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن في مصنع البيانات أو قم بالإشارة إلى البيانات السرية المُخزنة فيAzure Key Vault. | نعم |
connectVia | Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. يمكنك استخدام Azure Integration Runtime أو وقت تشغيل التكامل المستضاف ذاتياً (إذا كان مخزن البيانات موجوداً في شبكة خاصة). إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. | لا للمصدر، نعم للمتلقي |
مثال:
{
"name": "AzureFileStorageLinkedService",
"properties": {
"type": "AzureFileStorage",
"typeProperties": {
"host": "\\\\<storage name>.file.core.windows.net\\<file service name>",
"userid": "AZURE\\<storage name>",
"password": {
"type": "SecureString",
"value": "<storage access key>"
}
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
خصائص مجموعة البيانات
للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف مجموعات البيانات، راجع مقالة مجموعات البيانات.
يدعم Azure Data Factory تنسيقات الملفات التالية. راجع كل مقالة للاطلاع على الإعدادات المستندة إلى التنسيق.
يتم اعتماد الخصائص التالية لـ Azure Files ضمن الإعدادات location
في مجموعة البيانات المستندة إلى التنسيق:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين نوع الخاصية ضمن location في مجموعة البيانات إلى AzureFileStorageLocation. |
نعم |
folderPath | المسار إلى المجلد. إذا أردت استخدام البدل لتصفية المجلد، فتخطَّ هذا الإعداد وحدد في إعدادات مصدر النشاط. | لا |
fileName | اسم الملف ضمن folderPath المحدد. إذا أردت استخدام البدل لتصفية الملفات، فتخطَّ هذا الإعداد وحدد في إعدادات مصدر النشاط. | لا |
مثال:
{
"name": "DelimitedTextDataset",
"properties": {
"type": "DelimitedText",
"linkedServiceName": {
"referenceName": "<Azure File Storage linked service name>",
"type": "LinkedServiceReference"
},
"schema": [ < physical schema, optional, auto retrieved during authoring > ],
"typeProperties": {
"location": {
"type": "AzureFileStorageLocation",
"folderPath": "root/folder/subfolder"
},
"columnDelimiter": ",",
"quoteChar": "\"",
"firstRowAsHeader": true,
"compressionCodec": "gzip"
}
}
}
انسخ خصائص النشاط
للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف الأنشطة، راجع مقالة التدفقات. يوفر هذا القسم قائمة الخصائص المعتمدة من مصدر ومتلقي Azure Files.
Azure Files كمصدر
يدعم Azure Data Factory تنسيقات الملفات التالية. راجع كل مقالة للاطلاع على الإعدادات المستندة إلى التنسيق.
يتم اعتماد الخصائص التالية لـ Azure Files ضمن الإعدادات storeSettings
في مصدر النسخ المستند إلى التنسيق:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية النوع ضمن storeSettings إلى AzureFileStorageReadSettings. |
نعم |
حدد موقع الملفات المراد نسخها: | ||
الخيار 1: مسار ثابت |
نسخ من مسار المجلد/الملف المحدد في مجموعة البيانات. إذا كنت تريد نسخ كافة الملفات من مجلد، بالإضافة إلى ذلك حدد wildcardFileName على أنه * . |
|
الخيار 2: بادئة الملف - اختصار |
بادئة اسم الملف ضمن مشاركة الملف المحددة التي تم تكوينها في مجموعة بيانات لتصفية الملفات المصدر. تم تحديد الملفات التي تبدأ أسماؤها بـ fileshare_in_linked_service/this_prefix . ويستخدم عامل التصفية من جانب الخدمة لـ Azure Files، والذي يوفر أداء أفضل من عامل تصفية حرف البدل. هذه الميزة غير مدعومة عند استخدام طراز خدمة مرتبط قديم. |
لا |
الخيار 3: wildcard - wildcardFolderPath |
مسار المجلد مع أحرف البدل لتصفية مجلدات المصدر. حروف البدل المسموح بها هي: * (يطابق صفراً أو المزيد من الأحرف)، و? (يطابق صفراً أو حرفاً واحداً)؛ يمكنك استخدام ^ للإلغاء إذا كان اسم المجلد الفعلي يتضمن حرف بدل أو حرف إلغاء بداخله. راجع المزيد من الأمثلة في أمثلة على تصفية الملفات والمجلدات. |
لا |
الخيار 3: wildcard - wildcardFileName |
اسم الملف مع حروف البدل ضمن المجلد المحدد / folderPath/wildcardFolderPath المحدد لتصفية الملفات المصدر. حروف البدل المسموح بها هي: * (يطابق صفراً أو المزيد من الأحرف)، و? (يطابق صفراً أو حرفاً واحداً)؛ يمكنك استخدام ^ للإلغاء إذا كان اسم الملف الفعلي يتضمن حرف بدل أو حرف إلغاء بداخله. راجع المزيد من الأمثلة في أمثلة على تصفية الملفات والمجلدات. |
نعم |
الخيار 4: قائمة الملفات - fileListPath |
يشير إلى نسخ مجموعة ملفات معينة. أشر إلى ملف نصي يتضمن قائمة بالملفات التي تريد نسخها، ملف واحد لكل سطر، وهو المسار النسبي للمسار الذي تم تكوينه في مجموعة البيانات. عند استخدام هذا الخيار، لا تحدد اسم الملف في مجموعة البيانات. شاهد المزيد من الأمثلة في أمثلة قائمة الملفات. |
لا |
إعدادات إضافية: | ||
التكرار | يشير إلى ما إذا كانت البيانات ستتم قراءتها بشكل متكرر من المجلدات الفرعية أو من المجلد المحدد فقط. عندما يتم تعيين "recursive" إلى "true" والمتلقي هو مخزن يستند إلى ملف، لا يتم نسخ أو إنشاء مجلد فارغ أو مجلد فرعي في المتلقي. القيم المسموح بها هي true (افتراضية) وfalse. لا تنطبق هذه الخاصية عند تكوين fileListPath . |
لا |
deleteFilesAfterCompletion | يشير إلى ما إذا كان سيتم حذف الملفات الثنائية من مخزن المصدر بعد الانتقال بنجاح إلى مخزن الوجهة. يتم حذف الملف لكل ملف، لذلك عند فشل نشاط النسخ، سترى أن بعض الملفات قد تم نسخها بالفعل إلى الوجهة وحذفها من المصدر، بينما لا يزال البعض الآخر في المخزن المصدر. هذه الخاصية صالحة فقط في سيناريو نسخ الملفات الثنائية. القيمة الافتراضية: false. |
لا |
تاريخ البدء المعدل | تصفية الملفات استنادا إلى السمة: "Last Modified". سوف يتم تحديد الملفات إذا كان وقت آخر تعديل لها أكبر من أو يساوي modifiedDatetimeStart وأقل من modifiedDatetimeEnd . ويتم تطبيق الوقت على المنطقة الزمنية UTC بتنسيق «2018-12-01T05:00:00Z». يمكن أن تكون الخصائص NULL، ما يعني أنه لن يتم تطبيق عامل تصفية سمة الملف على مجموعة البيانات. عندما يكون modifiedDatetimeStart له قيمة للتاريخ والوقت، ولكن modifiedDatetimeEnd قيمته "NULL،" فهذا يعني أن الملفات ذات قيمة التعديل الأخير للسمة الخاصة بها أكبر من قيمة التاريخ والوقت أو تساويها، هي التي سيتم تحديدها. وعندما يكون modifiedDatetimeEnd له قيمة محددة للوقت والتاريخ، ولكن modifiedDatetimeStart له «قيمة خالية»، فإن هذا يعني أن الملفات، التي قيمة سمة تاريخ آخر تعديل لها أقل من قيمة التاريخ والوقت، هي التي سيتم تحديدها.لا تنطبق هذه الخاصية عند تكوين fileListPath . |
لا |
modifiedDatetimeEnd | مثل أعلاه. | لا |
enablePartitionDiscovery | بالنسبة للملفات المقسمة، حدد ما إذا كنت تريد تحليل الأقسام من مسار الملف وإضافتها كأعمدة مصدر إضافية. القيم المسموح بها هي false (افتراضية) وtrue. |
لا |
partitionRootPath | عند تمكين اكتشاف القسم، حدد مسار الجذر المطلق لقراءة المجلدات المقسمة كأعمدة بيانات. إذا لم يتم تحديده، بشكل افتراضي، - عند استخدام مسار الملف في مجموعة البيانات أو قائمة الملفات على المصدر، يكون مسار جذر القسم هو المسار الذي تم تكوينه في مجموعة البيانات. - عند استخدام عامل تصفية مجلد أحرف البدل، يكون مسار جذر القسم هو المسار الفرعي قبل أول حرف بدل. على سبيل المثال، بافتراض أنك قمت بتكوين المسار في مجموعة البيانات كـ "root/folder/year=2020/month=08/day=27": - إذا حددت المسار الجذري للقسم كـ "root/folder/year=2020"، فإن نشاط النسخ سينتج عمودين آخرين month وday وقيمة "08" و"27" على التوالي، بالإضافة إلى الأعمدة داخل الملفات.- إذا لم يتم تحديد مسار جذر القسم، فلن يتم إنشاء أي عمود إضافي. |
لا |
maxConcurrentConnections | الحد الأعلى للاتصالات المتزامنة التي تم إنشاؤها إلى مخزن البيانات أثناء تشغيل النشاط. حدد قيمة فقط عندما تريد تحديد الاتصالات المتزامنة. | لا |
مثال:
"activities":[
{
"name": "CopyFromAzureFileStorage",
"type": "Copy",
"inputs": [
{
"referenceName": "<Delimited text input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "DelimitedTextSource",
"formatSettings":{
"type": "DelimitedTextReadSettings",
"skipLineCount": 10
},
"storeSettings":{
"type": "AzureFileStorageReadSettings",
"recursive": true,
"wildcardFolderPath": "myfolder*A",
"wildcardFileName": "*.csv"
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
Azure Files كمتلقي
يدعم Azure Data Factory تنسيقات الملفات التالية. راجع كل مقالة للاطلاع على الإعدادات المستندة إلى التنسيق.
يتم اعتماد الخصائص التالية لـ Azure Files ضمن الإعدادات storeSettings
في متلقي النسخ المستند إلى التنسيق:
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية النوع ضمن storeSettings إلى AzureFileStorageWriteSettings. |
نعم |
copyBehavior | تعريف سلوك النسخ عندما يكون المصدر ملفات من مخزن بيانات مستند إلى ملف. القيم المسموح بها هي: - PreserveHierarchy (افتراضي): يحافظ على التسلسل الهرمي للملف في المجلد الهدف. يكون المسار النسبي لملف المصدر إلى المجلد المصدر مطابقاً للمسار النسبي لملف الهدف إلى المجلد الهدف. - FlattenHierarchy: جميع الملفات من المجلد المصدر في المستوى الأول من المجلد الهدف. لملفات الهدف أسماء تم إنشائها تلقائياً. - MergeFiles: دمج جميع الملفات من المجلد المصدر إلى ملف واحد. إذا تم تحديد اسم الملف، فسيكون اسم الملف المدمج هو الاسم المحدد. وإلا، فسيتم إنشاء اسم الملف تلقائياً. |
لا |
maxConcurrentConnections | الحد الأعلى للاتصالات المتزامنة التي تم إنشاؤها إلى مخزن البيانات أثناء تشغيل النشاط. حدد قيمة فقط عندما تريد تحديد الاتصالات المتزامنة. | لا |
مثال:
"activities":[
{
"name": "CopyToAzureFileStorage",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Parquet output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "ParquetSink",
"storeSettings":{
"type": "AzureFileStorageWriteSettings",
"copyBehavior": "PreserveHierarchy"
}
}
}
}
]
أمثلة على تصفية الملفات والمجلدات
يصف هذا المقطع السلوك الناتج عن مسار المجلد واسم الملف مع عوامل تصفية البدل.
folderPath | fileName | التكرار | بنية المجلد المصدر ونتيجة التصفية (يتم استرداد الملفات بخط عريض) |
---|---|---|---|
Folder* |
(فارغ، استخدم الإعداد الافتراضي) | true | مجلد أ File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
(فارغ، استخدم الإعداد الافتراضي) | صحيح | مجلد أ File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
true | مجلد أ File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
Folder* |
*.csv |
صحيح | مجلد أ File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv AnotherFolderB File6.csv |
أمثلة على قائمة الملفات
يصف هذا القسم السلوك الناتج عن استخدام مسار قائمة الملفات في نسخ مصدر النشاط.
بافتراض أن لديك بنية المجلد المصدر التالية وتريد نسخ الملفات بخط عريض:
نموذج بنية المصدر | Content in FileListToCopy.txt | التكوين |
---|---|---|
جذر مجلد أ File1.csv File2.json Subfolder1 File3.csv File4.json File5.csv بيانات التعريف FileListToCopy.txt |
File1.csv Subfolder1/File3.csv Subfolder1/File5.csv |
في مجموعة البيانات: - مسار المجلد: root/FolderA في مصدر نشاط النسخ: - مسار ملف القائمة: root/Metadata/FileListToCopy.txt يشير مسار قائمة الملفات إلى ملف نصي في نفس مخزن البيانات يتضمن قائمة بالملفات التي ترغب في نسخها، ملف واحد لكل سطر، مع المسار النسبي للمسار الذي تم تكوينه في مجموعة البيانات. |
بعض الأمثلة على recursive وcopyBehavior
يصف هذا القسم السلوك الناتج من عملية نسخ تركيبات مختلفة من قيم التكرار وcopyBehavior.
التكرار | copyBehavior | بنية المجلد المصدر | الهدف الناتج |
---|---|---|---|
صحيح | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء المجلد الهدف Folder1 بنفس بنية المصدر: Folder1 File1 File2 Subfolder1 File3 File4 File5. |
صحيح | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء Folder1 الهدف بالبنية التالية: Folder1 الاسم الذي تم إنشائه تلقائياً لملف1 الاسم الذي تم إنشائه تلقائياً للملف2 الاسم الذي تم إنشائه تلقائياً للملف3 الاسم الذي تم إنشائه تلقائياً للملف4 الاسم الذي تم إنشائه تلقائياً للملف5 |
صحيح | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء Folder1 الهدف بالبنية التالية: Folder1 يتم دمج محتويات File1 + File2 + File3 + File4 + File 5 في ملف واحد باسم ملف تم إنشاؤه تلقائيًا |
true | preserveHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء المجلد الهدف Folder1 باستخدام البنية التالية Folder1 File1 File2 لا يتم انتقاء المجلد الفرعي1 مع File3 و File4 و File5. |
true | flattenHierarchy | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء المجلد الهدف Folder1 باستخدام البنية التالية Folder1 الاسم الذي تم إنشائه تلقائياً لملف1 الاسم الذي تم إنشائه تلقائياً للملف2 لا يتم انتقاء المجلد الفرعي1 مع File3 و File4 و File5. |
true | mergeFiles | Folder1 File1 File2 Subfolder1 File3 File4 File5 |
يتم إنشاء المجلد الهدف Folder1 باستخدام البنية التالية Folder1 يتم دمج محتويات File1 + File2 في ملف واحد باسم يتم إنشاؤه تلقائياً. الاسم الذي تم إنشائه تلقائياً لملف1 لا يتم انتقاء المجلد الفرعي1 مع File3 و File4 و File5. |
بحث عن خصائص النشاط
لمعرفة تفاصيل حول الخصائص، تحقق من نشاط البحث.
خصائص نشاط GetMetadata
لمعرفة تفاصيل حول الخصائص، يرجى التحقق من نشاط GetMetadata
حذف خصائص النشاط
لمعرفة تفاصيل حول الخصائص، يرجى التحقق من نشاط الحذف
النماذج القديمة
إشعار
لا تزال النماذج التالية مدعومة كما هي للتوافق مع الإصدارات السابقة. نقترح عليك استخدام النموذج الجديد المذكور في الأقسام أعلاه للمضي قدماً، وقد تحولت واجهة مستخدم التأليف إلى إنشاء النموذج الجديد.
نموذج مجموعة البيانات القديم
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية نوع مجموعة البيانات إلى: FileShare | نعم |
folderPath | المسار إلى المجلد. حروف البدل مدعومة، حروف البدل المسموح بها هي: * (يطابق صفراً أو المزيد من الأحرف)، و? (يطابق صفراً أو حرفاً واحداً)؛ يمكنك استخدام ^ للإلغاء إذا كان اسم المجلد الفعلي يتضمن حرف بدل أو حرف إلغاء بداخله. أمثلة: rootfolder/subfolder/، راجع المزيد من الأمثلة في أمثلة على تصفية الملف والمجلد. |
نعم |
fileName | اسم أو عامل تصفية حرف البدل للملف (الملفات) ضمن "folderPath" المحدد. إذا لم تحدد قيمة لهذه الخاصية، فإن مجموعة البيانات تشير إلى جميع الملفات الموجودة في المجلد. للتصفية، أحرف البدل المسموح بها هي * (تطابق صفراً أو المزيد من الحروف) و? (تطابق صفراً أو حرفاً واحداً).- مثال 1: "fileName": "*.csv" - مثال 2: "fileName": "???20180427.txt" استخدم ^ للإلغاء، إذا كان اسم الملف الفعلي يتضمن حرف بدل، أو إذا كان حرف الإلغاء هذا موجود بداخله.عندما لا يتم تحديد fileName لمجموعة بيانات الإخراج ولم يحدد preserveHierarchy في متلقي النشاط، يقوم نشاط النسخ تلقائياً بإنشاء اسم الملف باستخدام النمط التالي: "البيانات.[ نشاط تشغيل المعرف الفريد العمومي]. [المعرف الفريد العمومي في حالة FlattenHierarchy]. [التنسيق إذا تم تكوينه]. [الضغط إذا تم تكوينه]، على سبيل المثال "Data.0a405f8a-93ff-4c6f-b3be-f69616f1df7a.txt.gz"؛ إذا قمت بالنسخ من مصدر جدولي باستخدام اسم الجدول بدلاً من الاستعلام، يكون نمط الاسم "[اسم الجدول].[ التنسيق]. [الضغط إذا تم تكوينه]"، على سبيل المثال "MyTable.csv". |
لا |
تاريخ البدء المعدل | تصفية الملفات استنادا إلى السمة: "Last Modified". سوف يتم تحديد الملفات إذا كان وقت آخر تعديل لها أكبر من أو يساوي modifiedDatetimeStart وأقل من modifiedDatetimeEnd . ويتم تطبيق الوقت على المنطقة الزمنية UTC بتنسيق «2018-12-01T05:00:00Z». كن على يقين بأن الأداء الكلي لحركة البيانات سيتأثر بتمكين هذا الإعداد عندما تريد إجراء تصفية ملفات من كميات هائلة من الملفات. يمكن أن تكون الخصائص NULL (فارغة)، مما يعني أنه لن يتم تطبيق تصفية سمة الملف على مجموعة البيانات. عندما يكون modifiedDatetimeStart له قيمة للتاريخ والوقت، ولكن modifiedDatetimeEnd قيمته "NULL،" فهذا يعني أن الملفات ذات قيمة التعديل الأخير للسمة الخاصة بها أكبر من قيمة التاريخ والوقت أو تساويها، هي التي سيتم تحديدها. وعندما يكون modifiedDatetimeEnd له قيمة محددة للوقت والتاريخ، ولكن modifiedDatetimeStart له «قيمة خالية»، فإن هذا يعني أن الملفات، التي قيمة سمة تاريخ آخر تعديل لها أقل من قيمة التاريخ والوقت، هي التي سيتم تحديدها. |
لا |
modifiedDatetimeEnd | تصفية الملفات استنادا إلى السمة: "Last Modified". سوف يتم تحديد الملفات إذا كان وقت آخر تعديل لها أكبر من أو يساوي modifiedDatetimeStart وأقل من modifiedDatetimeEnd . ويتم تطبيق الوقت على المنطقة الزمنية UTC بتنسيق «2018-12-01T05:00:00Z». كن على يقين بأن الأداء الكلي لحركة البيانات سيتأثر بتمكين هذا الإعداد عندما تريد إجراء تصفية ملفات من كميات هائلة من الملفات. يمكن أن تكون الخصائص NULL (فارغة)، مما يعني أنه لن يتم تطبيق تصفية سمة الملف على مجموعة البيانات. عندما يكون modifiedDatetimeStart له قيمة للتاريخ والوقت، ولكن modifiedDatetimeEnd قيمته "NULL،" فهذا يعني أن الملفات ذات قيمة التعديل الأخير للسمة الخاصة بها أكبر من قيمة التاريخ والوقت أو تساويها، هي التي سيتم تحديدها. وعندما يكون modifiedDatetimeEnd له قيمة محددة للوقت والتاريخ، ولكن modifiedDatetimeStart له «قيمة خالية»، فإن هذا يعني أن الملفات، التي قيمة سمة تاريخ آخر تعديل لها أقل من قيمة التاريخ والوقت، هي التي سيتم تحديدها. |
لا |
format | إذا كنت تريد نسخ الملفات كما هي بين المخازن المستندة إلى الملفات (نسخ ثنائي)، فتخطى قسم التنسيق في تعريفات الإدخال والإخراج في مجموعة البيانات على حدٍ سواء. إذا كنت تريد توزيع الملفات أو إنشاءها بتنسيق معين، فإن أنواع تنسيق الملف التالية مدعومة: TextFormat، وJsonFormat، وAvroFormat، وOrcFormat، وParquetFormat. عيّن خاصية النوع الموجودة ضمن التنسيق إلى إحدى هذه القيم. للحصول على مزيدٍ من المعلومات، انظر أقسام Text format، وJSON format، وAvro format، وORC format، وParquet format. |
لا (فقط لسيناريو النسخ الثنائي) |
ضغط | حدد نوع ضغط البيانات ومستواه. للحصول على مزيدٍ من المعلومات، راجع تنسيقات الملفات المدعومة وبرامج ضغط الوسائط وفكها. الأنواع المدعومة هي: GZip، وDeflate، وBZip2، وZipDeflate. المستويات المدعومة هي Optimal وFastest. |
لا |
تلميح
لنسخ جميع الملفات المضمنة في مجلد، حدد folderPath فقط.
لنسخ ملف واحد باسم معين، حدد folderPath مع جزء المجلد، وfileName مع اسم الملف.
لنسخ مجموعة فرعية من الملفات ضمن مجلد ما، حدد folderPath مع جزء المجلد، وfileName مع عامل تصفية حرف البدل.
إشعار
إذا كنت تستخدم خاصية "fileFilter" لتصفية الملفات، فإنه لا يزال مدعوماً كما هو، بينما نقترح عليك استخدام إمكانية التصفية الجديدة المضافة إلى "fileName" للمضي قدماً.
مثال:
{
"name": "AzureFileStorageDataset",
"properties": {
"type": "FileShare",
"linkedServiceName":{
"referenceName": "<Azure File Storage linked service name>",
"type": "LinkedServiceReference"
},
"typeProperties": {
"folderPath": "folder/subfolder/",
"fileName": "*",
"modifiedDatetimeStart": "2018-12-01T05:00:00Z",
"modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
"format": {
"type": "TextFormat",
"columnDelimiter": ",",
"rowDelimiter": "\n"
},
"compression": {
"type": "GZip",
"level": "Optimal"
}
}
}
}
نموذج مصدر نشاط النسخ القديم
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية نوع مصدر نشاط النسخ إلى: FileSystemSource | نعم |
التكرار | تشير إلى ما إذا كان يتم قراءة البيانات بشكل متكرر من المجلدات الفرعية أو فقط من المجلد المحدد. ملاحظة: عند تعيين التكرار إلى صحيح ويكون المتلقي هو مخزن يستند إلى ملف، لن يتم إنشاء / نسخ مجلد فارغ /مجلد فرعي في المتلقي. القيم المسموح بها هي "true" (افتراضي) و"false" |
لا |
maxConcurrentConnections | الحد الأعلى للاتصالات المتزامنة التي تم إنشاؤها إلى مخزن البيانات أثناء تشغيل النشاط. حدد قيمة فقط عندما تريد تحديد الاتصالات المتزامنة. | لا |
مثال:
"activities":[
{
"name": "CopyFromAzureFileStorage",
"type": "Copy",
"inputs": [
{
"referenceName": "<Azure File Storage input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "FileSystemSource",
"recursive": true
},
"sink": {
"type": "<sink type>"
}
}
}
]
نموذج متلقي نشاط النسخ القديم
الخاصية | الوصف | مطلوب |
---|---|---|
النوع | يجب تعيين خاصية نوع متلقي نشاط النسخ إلى: FileSystemSink | نعم |
copyBehavior | لتحديد سلوك النسخ عندما يكون المصدر عبارة عن ملفات من مخزن البيانات المستند إلى الملفات. القيم المسموح بها هي: - PreserveHierarchy (افتراضي): للحفاظ على التدرج الهرمي للملف في المجلد الهدف. يكون المسار النسبي لملف المصدر إلى المجلد المصدر مطابقاً للمسار النسبي لملف الهدف إلى المجلد الهدف. - FlattenHierarchy: جميع الملفات من المجلد المصدر في المستوى الأول من المجلد الهدف. تحتوي الملفات الهدف على اسم يتم إنشاؤه تلقائياً. - MergeFiles: لدمج جميع الملفات من المجلد المصدر إلى ملف واحد. إذا تم تحديد اسم الملف، يكون اسم الملف المدمج هو الاسم المحدد؛ وإلا، سيتم إنشاء اسم الملف تلقائياً. |
لا |
maxConcurrentConnections | الحد الأعلى للاتصالات المتزامنة التي تم إنشاؤها إلى مخزن البيانات أثناء تشغيل النشاط. حدد قيمة فقط عندما تريد تحديد الاتصالات المتزامنة. | لا |
مثال:
"activities":[
{
"name": "CopyToAzureFileStorage",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Azure File Storage output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "FileSystemSink",
"copyBehavior": "PreserveHierarchy"
}
}
}
]
المحتوى ذو الصلة
للحصول على قائمة بمخازن البيانات المدعومة من نشاط النسخ كمصادر ومواضع تلقي، راجع مخازن البيانات المدعومة.