نشاط Get Metadata في Azure Data Factory أو Azure Synapse Analytics

ينطبق على:Azure Data Factory Azure Synapse Analytics

تلميح

جرب Data Factory في Microsoft Fabric، وهو حل تحليلي متكامل للمؤسسات. يغطي Microsoft Fabric كل شيء بدءا من حركة البيانات إلى علم البيانات والتحليلات في الوقت الحقيقي والمعلومات المهنية وإعداد التقارير. تعرف على كيفية بدء إصدار تجريبي جديد مجانا!

يمكنك استخدام نشاط Get Metadata لاسترداد بيانات التعريف لأي بيانات في Azure Data Factory أو مسار Synapse. يمكنك استخدام الإخراج من نشاط Get Metadata في التعبيرات الشرطية لإجراء التحقق من الصحة أو استهلاك البيانات الأولية في الأنشطة اللاحقة.

إنشاء نشاط Get Metadata باستخدام واجهة المستخدم

لاستخدام نشاط Get Metadata في البنية الأساسية لبرنامج ربط العمليات التجارية، أكمل الخطوات التالية:

  1. ابحث عن Get Metadata في جزء Pipeline Activities، واسحب نشاط Fail إلى لوحة البنية الأساسية.

  2. حدد نشاط Get Metadata الجديد على اللوحة إذا لم يكن محددا بالفعل، وعلامة التبويب الإعدادات الخاصة به، لتحرير تفاصيله.

  3. اختر مجموعة بيانات، أو أنشئ مجموعة بيانات جديدة باستخدام الزر جديد. ثم يمكنك تحديد خيارات التصفية وإضافة أعمدة من بيانات التعريف المتوفرة لمجموعة البيانات.

    Shows the UI for a Get Metadata activity.

  4. استخدم إخراج النشاط كمدخل لنشاط آخر، مثل نشاط تبديل في هذا المثال. يمكنك الرجوع إلى إخراج نشاط بيانات التعريف في أي مكان يتم فيه دعم المحتوى الديناميكي في النشاط الآخر.

    Shows the pipeline with a Switch activity added to handle the output of the Get Metadata activity.

  5. في محرر المحتوى الديناميكي، حدد إخراج نشاط Get Metadata للإشارة إليه في النشاط الآخر.

    Shows the dynamic content editor with the output of the Get Metadata activity as the dynamic content.

القدرات المدعومة

يأخذ نشاط Get Metadata مجموعة بيانات كمدخل ويعيد معلومات بيانات التعريف كإخراج. حاليًا، يتم دعم الموصلات التالية وبيانات التعريف المقابلة القابلة للاسترداد. الحد الأقصى لحجم بيانات التعريف التي تم إرجاعها هو 4 ميغا بايت.

الموصلات المدعومة

تخزين الملفات

موصل / بيانات التعريف itemName
(file/folder)
itemType
(file/folder)
size
(ملف)
تم الإنشاء
(file/folder)
lastModified1
(file/folder)
childItems
(folder)
contentMD5
(ملف)
بنية2
(ملف)
columnCount2
(ملف)
موجود3
(file/folder)
Amazon S3 √/√ √/√ x/x √/√ × √/√
التخزين المتوافق مع Amazon S3 √/√ √/√ x/x √/√ × √/√
Google Cloud Storage √/√ √/√ x/x √/√ × √/√
Oracle Cloud Storage √/√ √/√ x/x √/√ × √/√
تخزين Azure Blob √/√ √/√ x/x √/√ √/√
Azure Data Lake Storage الجيل الأول √/√ √/√ x/x √/√ × √/√
Azure Data Lake Storage Gen2 √/√ √/√ x/x √/√ √/√
ملفات Azure √/√ √/√ √/√ √/√ × √/√
Microsoft Fabric Lakehouse √/√ √/√ x/x √/√ √/√
نظام الملفات √/√ √/√ √/√ √/√ × √/√
SFTP √/√ √/√ x/x √/√ × √/√
Ftp √/√ √/√ x/x x/x × √/√

1 بيانات التعريف lastModified:

  • بالنسبة إلى Amazon S3 وAmazon S3 Compatible Storage وGoogle Cloud Storage وOracle Cloud Storage، ينطبق lastModified على الحاوية والمفتاح ولكن ليس على المجلد الظاهري ، وينطبق exists على الحاوية والمفتاح ولكن ليس على البادئة أو مجلد افتراضي.
  • بالنسبة إلى تخزين Azure Blob، ينطبق lastModified على الحاوية وكائن ثنائي كبير الحجم ولكن ليس على المجلد الظاهري.

2 لا يتم دعم بيانات التعريف structure وcolumnCount عند الحصول على بيانات التعريف من ملفات Binary أو JSON أو XML.

3 بيانات التعريف exists: بالنسبة إلى Amazon S3 وAmazon S3 Compatible Storage وGoogle Cloud Storage وOracle Cloud Storage، تنطبق exists على الحاوية والمفتاح ولكن ليس على البادئة أو المجلد الظاهري.

لاحظ ما يلي:

  • عند استخدام نشاط Get Metadata لمجلد، تأكد من أن لديك إذن LIST / EXECUTE للمجلد المحدد.

  • لا يتم دعم عامل تصفية أحرف البدل في المجلدات / الملفات لنشاط Get Metadata.

  • تم تعيين عامل التصفية modifiedDatetimeStart وmodifiedDatetimeEnd على الموصل:

    • تُستخدم هاتين الخاصيتين لتصفية العناصر الفرعية عند الحصول على بيانات التعريف من مجلد. لا يتم تطبيقه عند الحصول على بيانات التعريف من ملف.
    • عند استخدام عامل التصفية هذا، فإن childItems في الإخراج يتضمن فقط الملفات التي تم تعديلها ضمن النطاق المحدد وليس المجلدات.
    • لتطبيق عامل التصفية هذا، سيقوم نشاط GetMetadata بتعداد جميع الملفات الموجودة في المجلد المحدد والتحقق من الوقت المعدل. تجنب الإشارة إلى مجلد به عدد كبير من الملفات حتى إذا كان عدد الملفات المؤهل المتوقع صغيرًا.

قاعدة بيانات علائقية

موصل / بيانات التعريف البنية columnCount موجود
Amazon RDS ل SQL Server
قاعدة بيانات Azure SQL
مثيل Azure SQL المدار
Azure Synapse Analytics
SQL Server

خيارات بيانات التعريف

يمكنك تحديد أنواع بيانات التعريف التالية في قائمة حقل نشاط الحصول على البيانات الوصفية لاسترداد المعلومات المقابلة:

نوع بيانات التعريف ‏‏الوصف
itemName اسم الملف أو المجلد.
itemType نوع الملف أو المجلد. القيمة التي تم إرجاعها هي File أو Folder .
size حجم الملف بالبايت. ينطبق فقط على الملفات.
تم الإنشاء تاريخ إنشاء وقت الملف أو المجلد.
lastModified تاريخ آخر تعديل للملف أو المجلد.
childItems قائمة المجلدات الفرعية والملفات الموجودة في المجلد المحدد. ينطبق فقط على الملفات. القيمة التي تم إرجاعها هي قائمة باسم ونوع كل عنصر تابع.
contentMD5 MD5 من الملف. ينطبق فقط على الملفات.
البنية هيكل بيانات الملف أو جدول قاعدة البيانات العلائقية. القيمة التي تم إرجاعها هي قائمة بأسماء الأعمدة وأنواع الأعمدة.
columnCount عدد الأعمدة في الملف أو الجدول العلائقي.
موجود ما إذا كان يوجد ملف أو مجلد أو جدول. إذا تم تحديد exists في قائمة حقول الحصول على بيانات التعريف، فلن يفشل النشاط حتى إذا كان الملف أو المجلد أو الجدول غير موجود. بدلا من ذلك، يتم إرجاع exists: false في الإخراج.

تلميح

عندما تريد التحقق من وجود ملف أو مجلد أو جدول، حدد exists في قائمة مجال نشاط بيانات التعريف. يمكنك بعد ذلك التحقق من النتيجة exists: true/false في إخراج النشاط. إذا لم يتم تحديد exists في قائمة الحقول، فسيفشل نشاط إحضار بيانات التعريف إذا لم يتم العثور على العنصر.

إشعار

عندما تحصل على البيانات الأولية من مخازن الملفات وتكوين modifiedDatetimeStart أو modifiedDatetimeEnd، فإن childItems في الإخراج يتضمن فقط الملفات الموجودة في المسار المحدد التي تم تعديلها مؤخرًا ضمن النطاق المحدد. لا يتم تضمين العناصر الموجودة في المجلدات الفرعية.

إشعار

بالنسبة لقائمة حقل Structure لتوفير بنية البيانات الفعلية للنص المحدد ومجموعات بيانات تنسيق Excel، يجب تمكين خاصية First Row as Header المدعومة فقط لمصادر البيانات هذه.

بناء الجملة

نشاط Get Metadata

{
    "name":"MyActivity",
    "type":"GetMetadata",
    "dependsOn":[

    ],
    "policy":{
        "timeout":"7.00:00:00",
        "retry":0,
        "retryIntervalInSeconds":30,
        "secureOutput":false,
        "secureInput":false
    },
    "userProperties":[

    ],
    "typeProperties":{
        "dataset":{
            "referenceName":"MyDataset",
            "type":"DatasetReference"
        },
        "fieldList":[
            "size",
            "lastModified",
            "structure"
        ],
        "storeSettings":{
            "type":"AzureBlobStorageReadSettings"
        },
        "formatSettings":{
            "type":"JsonReadSettings"
        }
    }
}

Dataset

{
    "name":"MyDataset",
    "properties":{
        "linkedServiceName":{
            "referenceName":"AzureStorageLinkedService",
            "type":"LinkedServiceReference"
        },
        "annotations":[

        ],
        "type":"Json",
        "typeProperties":{
            "location":{
                "type":"AzureBlobStorageLocation",
                "fileName":"file.json",
                "folderPath":"folder",
                "container":"container"
            }
        }
    }
}

خصائص النوع

حاليًا، يمكن لنشاط Get Metadata إرجاع الأنواع التالية من معلومات بينات التعريف:

الخاصية الوصف مطلوب
fieldList أنواع معلومات بيانات التعريف المطلوبة. للحصول على تفاصيل حول بيانات التعريف المعتمدة، راجع القسم خيارات بيانات التعريف في هذه المقالة. ‏‏نعم‬
مجموعة البيانات مجموعة البيانات المرجعية التي سيتم استرداد بيانات التعريف الخاصة بها بواسطة نشاط Get Metadata. راجع القسم Capabilities للحصول على معلومات حول الموصلات المعتمدة. راجع موضوعات الموصل المحددة للحصول على تفاصيل حول بنية مجموعة البيانات. ‏‏نعم‬
إعدادات التنسيقات تنطبق عند استخدام مجموعة بيانات نوع التنسيق. لا
إعدادات المخزن تنطبق عند استخدام مجموعة بيانات نوع التنسيق. لا

عينة الإخراج

تظهر نتائج Get Metadata في إخراج النشاط. فيما يلي عينتان تعرضان خيارات بيانات التعريف واسعة النطاق. لاستخدام النتائج في نشاط لاحق، استخدم هذا النمط: @{activity('MyGetMetadataActivity').output.itemName}.

الحصول على بيانات تعريف الملف

{
  "exists": true,
  "itemName": "test.csv",
  "itemType": "File",
  "size": 104857600,
  "lastModified": "2017-02-23T06:17:09Z",
  "created": "2017-02-23T06:17:09Z",
  "contentMD5": "cMauY+Kz5zDm3eWa9VpoyQ==",
  "structure": [
    {
        "name": "id",
        "type": "Int64"
    },
    {
        "name": "name",
        "type": "String"
    }
  ],
  "columnCount": 2
}

الحصول على بيانات تعريف المجلد

{
  "exists": true,
  "itemName": "testFolder",
  "itemType": "Folder",
  "lastModified": "2017-02-23T06:17:09Z",
  "created": "2017-02-23T06:17:09Z",
  "childItems": [
    {
      "name": "test.avro",
      "type": "File"
    },
    {
      "name": "folder hello",
      "type": "Folder"
    }
  ]
}

تعرف على أنشطة تدفق التحكم المدعومة الأخرى: