نسخ البيانات وتحويلها في Amazon Simple Storage Service، باستخدام Azure Data Factory أو Azure Synapse Analytics

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

تلميح

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

توضح هذه المقالة كيفية استخدام «نشاط النسخ» لنسخ البيانات من Amazon Simple Storage Service (Amazon S3)، واستخدام «تدفق البيانات» لتحويل البيانات في Amazon S3. للتعرف على المزيد، اقرأ المقالات التمهيدية حول Azure Data Factory وSynapse Analytics.

تلميح

لمعرفة المزيد حول سيناريو ترحيل البيانات من Amazon S3 إلى Azure Storage، راجع ترحيل البيانات من Amazon S3 إلى Azure Storage.

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

يتم دعم موصل Amazon S3 هذا للأنشطة التالية:

القدرات المدعومة IR
نشاط النسخ (مصدر/-) (1) (2)
تعيين تدفق البيانات (المصدر/ المتلقي) (1)
نشاط البحث (1) (2)
نشاط GetMetadata (1) (2)
حذف النشاط (1) (2)

① وقت تشغيل تكامل Azure ② وقت تشغيل التكامل المستضاف ذاتيًا

على وجه التحديد، يدعم موصل خدمة Amazon S3 هذا نسخ الملفات كما هي أو تحليل الملفات بتنسيقات الملفات المدعومة وبرامج ضغط الوسائط وفكها. يمكنك أيضاً اختيار الاحتفاظ ببيانات تعريف الملف أثناء النسخ. يستخدم الموصل الإصدار الرابع من توقيع AWS لمصادقة الطلبات إلى S3.

تلميح

إذا كنت ترغب في نسخ البيانات من أي موفر تخزين متوافق مع S3، فراجع التخزين المتوافق مع Amazon S3.

الأذونات المطلوبة

لنسخ البيانات من Amazon S3، تأكد من منحك الأذونات التالية لعمليات عنصر Amazon S3: s3:GetObject وs3:GetObjectVersion.

إذا كنت تستخدم واجهة مستخدم Data Factory، فسينبغي الحصول على أذونات s3:ListAllMyBuckets وs3:ListBucket/s3:GetBucketLocation الإضافية لعمليات مثل اختبار الاتصال بالخدمة المرتبطة والتصفح من الجذر. إذا كنت لا تريد منح هذه الأذونات، فيمكنك اختيار خيارات "اختبار الاتصال بمسار الملف" أو "التصفح من المسار المحدد" من واجهة المستخدم.

للحصول على القائمة الكاملة لأذونات Amazon S3، راجعتحديد الأذونات في نهج ما على موقع AWS.

الشروع في العمل

لتنفيذ نشاط النسخ باستخدام أحد المسارات، يمكنك استخدام إحدى الأدوات أو عدد تطوير البرامج التالية:

إنشاء Amazon Simple Storage Service (S3) مرتبطة باستخدام واجهة المستخدم

استخدم الخطوات التالية لإنشاء خدمة مرتبطة بـ Amazon S3 في واجهة مستخدم مدخل Microsoft Azure.

  1. استعرض للوصول إلى علامة التبويب "Manage" في مصنع بيانات Azure أو مساحة عمل Synapse، وحدد "Linked Services"، ثم انقر فوق "New":

  2. ابحث عن Amazon وحدد موصل Amazon S3.

    لقطة شاشة للموصل Amazon S3.

  3. قم بتكوين تفاصيل الخدمة، واختبر الاتصال، وأنشئ الخدمة المرتبطة الجديدة.

    لقطة شاشة لتكوين خدمة مرتبطة بخدمة Amazon S3.

تفاصيل تكوين الموصل

توفر الأقسام التالية تفاصيل حول الخصائص المستخدمة لتحديد كيانات Data Factory الخاصة بـ Amazon S3.

خصائص الخدمة المرتبطة

يتم اعتماد الخصائص التالية لخدمة مرتبطة خاصة بـ Amazon S3:

الخاصية الوصف مطلوب
النوع ينبغي ضبط الخاصية type على AmazonS3. ‏‏نعم‬
نوع المصادقة حدد نوع المصادقة المستخدم للاتصال بـ Amazon S3. يمكنك اختيار استخدام مفاتيح الاختصار لحساب AWS Identity وAccess Management (IAM)، أو بيانات اعتماد الأمان المؤقتة.
القيم المسموح بها هي: AccessKey (افتراضية)، وTemporarySecurityCredentials.
لا
accessKeyId معرف مفتاح الوصول السري. ‏‏نعم‬
secretAccessKey مفتاح الدخول السري نفسه. ضَع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو أشر إلى أحد بيانات سرية مخزنة في Azure Key Vault. ‏‏نعم‬
sessionToken قابل للتطبيق عند استخدام مصادقة بيانات اعتماد الأمان المؤقتة. تعرّف على كيفية طلب بيانات اعتماد أمان مؤقتة من AWS.
تجدر الإشارة إلى انتهاء صلاحية بيانات الاعتماد المؤقتة في AWS بين 15 دقيقة إلى 36 ساعة حسب الإعدادات. تأكد من صحة بيانات الاعتماد عند تنفيذ النشاط، خاصةً بالنسبة لعبء العمل التشغيلي - على سبيل المثال، يمكنك تحديثه بشكل دوري وتخزينه في Azure Key Vault.
ضَع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو أشر إلى أحد بيانات سرية مخزنة في Azure Key Vault.
لا
serviceUrl حدد نقطة نهاية S3 المخصصة باعتبارها https://<service url>.
قم بتغييره فقط إذا كنت تريد تجربة نقطة نهاية خدمة مختلفة أو تريد التبديل بين https وhttp.
لا
connectVia يُستخدم وقت تشغيل التكامل للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل تكامل Azure أو وقت تشغيل التكامل المستضاف ذاتياً (إذا كان مخزن البيانات الخاص بك في شبكة خاصة). إذا لم يتم تحديد هذه الخاصية، فإن الخدمة تستخدم وقت تشغيل تكامل Azure الافتراضي. لا

مثال: استخدام مصادقة مفتاح الاختصار

{
    "name": "AmazonS3LinkedService",
    "properties": {
        "type": "AmazonS3",
        "typeProperties": {
            "accessKeyId": "<access key id>",
            "secretAccessKey": {
                "type": "SecureString",
                "value": "<secret access key>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مثال: استخدام مصادقة بيانات اعتماد الأمان المؤقتة

{
    "name": "AmazonS3LinkedService",
    "properties": {
        "type": "AmazonS3",
        "typeProperties": {
            "authenticationType": "TemporarySecurityCredentials",
            "accessKeyId": "<access key id>",
            "secretAccessKey": {
                "type": "SecureString",
                "value": "<secret access key>"
            },
            "sessionToken": {
                "type": "SecureString",
                "value": "<session token>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

خصائص مجموعة البيانات

للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف مجموعات البيانات، راجع مقالة مجموعات البيانات.

يدعم Azure Data Factory تنسيقات الملفات التالية. راجع كل مقالة للاطلاع على الإعدادات المستندة إلى التنسيق.

يتم دعم الخصائص التالية لـ Amazon S3 ضمن الإعدادات location في مجموعة البيانات المستندة إلى التنسيق:

الخاصية الوصف مطلوب
النوع ينبغي ضبط الخاصية type ضمن location في مجموعة بيانات على AmazonS3Location. ‏‏نعم‬
bucketName اسم مستودع S3. ‏‏نعم‬
folderPath المسار إلى المجلد الموجود ضمن الحاوية المحددة. إذا كنت تريد استخدام حرف بدل لتصفية المجلد، فتخط هذا الإعداد وحدد ذلك في إعدادات مصدر النشاط. لا
fileName اسم الملف ضمن مسار الحاوية والمجلد المحدد. إذا كنت تريد استخدام حرف بدل لتصفية الملفات، فتخط هذا الإعداد وحدد ذلك في إعدادات مصدر النشاط. لا
إصدار إصدار كائن S3 إذا تم تمكين إصدار S3. إذا لم يتم تحديده، فسيتم إحضار أحدث إصدار. لا

مثال:

{
    "name": "DelimitedTextDataset",
    "properties": {
        "type": "DelimitedText",
        "linkedServiceName": {
            "referenceName": "<Amazon S3 linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [ < physical schema, optional, auto retrieved during authoring > ],
        "typeProperties": {
            "location": {
                "type": "AmazonS3Location",
                "bucketName": "bucketname",
                "folderPath": "folder/subfolder"
            },
            "columnDelimiter": ",",
            "quoteChar": "\"",
            "firstRowAsHeader": true,
            "compressionCodec": "gzip"
        }
    }
}

انسخ خصائص النشاط

للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف الأنشطة، راجع مقالة التدفقات. يوفر هذا القسم قائمة بالخصائص التي يدعمها مصدر Amazon S3.

Amazon S3 كنوع مصدر

يدعم Azure Data Factory تنسيقات الملفات التالية. راجع كل مقالة للاطلاع على الإعدادات المستندة إلى التنسيق.

يتم دعم الخصائص التالية لـ Amazon S3 ضمن الإعدادات storeSettings في مصدر النسخ المستندة إلى التنسيق:

الخاصية الوصف مطلوب
النوع ينبغي ضبط الخاصية type ضمن storeSettings على AmazonS3ReadSettings. ‏‏نعم‬
حدد موقع الملفات المراد نسخها:
الخيار 1: مسار ثابت
انسخ من مسار الحاوية أو المجلد / الملف المحدد في مجموعة البيانات. إذا كنت تريد نسخ جميع الملفات من مستودع أو مجلد، فحدد أيضاً wildcardFileName كـ *.
الخيار 2: بادئة S3
- اختصار
بادئة لاسم مفتاح S3 ضمن المستودع المحدد التي تم تكوينها في مجموعة بيانات لتصفية ملفات S3 المصدر. تم تحديد مفاتيح S3 التي تبدأ أسماؤها بـ bucket_in_dataset/this_prefix. إنه يستخدم عامل تصفية جانب الخدمة الخاص بـ S3، والذي يوفر أداءً أفضل من عامل تصفية حرف البدل.

عند استخدام البادئة واختيار النسخ إلى متلقي يستند إلى ملف مع الاحتفاظ بالتسلسل الهرمي، لاحظ لأنه سيتم الاحتفاظ بالمسار الفرعي بعد آخر "/" في البادئة. على سبيل المثال، لديك المصدر bucket/folder/subfolder/file.txt، وتكوين البادئة كـ folder/sub، ثم مسار الملف المحفوظ هو subfolder/file.txt.
لا
الخيار 3: wildcard
- wildcardFolderPath
مسار المجلد الذي يحتوي على أحرف بدل ضمن الحاوية المحددة المكونة في مجموعة بيانات لتصفية مجلدات المصدر.
أحرف البدل المسموح بها هي: * (تطابق صفراً أو أكثر من الأحرف) و? (تطابق صفر أو حرف واحد). استخدم ^ للإلغاء إذا كان اسم المجلد الخاص بك يحتوي على حرف بدل أو حرف إلغاء بداخله.
راجع المزيد من الأمثلة في أمثلة على تصفية الملفات والمجلدات.
لا
الخيار 3: wildcard
- wildcardFileName
اسم الملف مع أحرف البدل ضمن مسار الحاوية والمجلد المحدد (أو مسار مجلد حرف البدل) لتصفية الملفات المصدر.
أحرف البدل المسموح بها هي: * (تطابق صفراً أو أكثر من الأحرف) و? (تطابق صفر أو حرف واحد). استخدم ^ للإلغاء إذا كان اسم المجلد الخاص بك يحتوي على حرف بدل أو حرف الإلغاء هذا بداخله. راجع المزيد من الأمثلة في أمثلة على تصفية الملفات والمجلدات.
‏‏نعم‬
الخيار 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 قيمته NULL، سيتم تحديد الملفات التي سمة آخر تعديل لها أقل من قيمة التاريخ والوقت.
لا تنطبق هذه الخاصية عند تكوين 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": "CopyFromAmazonS3",
        "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": "AmazonS3ReadSettings",
                    "recursive": true,
                    "wildcardFolderPath": "myfolder*A",
                    "wildcardFileName": "*.csv"
                }
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

أمثلة على تصفية الملفات والمجلدات

يصف هذا المقطع السلوك الناتج عن مسار المجلد واسم الملف مع عوامل تصفية البدل.

bucket المفتاح التكرار بنية المجلد المصدر ونتائج التصفية (يتم استرداد الملفات المكتوبة بخط عريض)
bucket Folder*/* true bucket
    مجلد أ
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
bucket Folder*/* صحيح bucket
    مجلد أ
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
bucket Folder*/*.csv true bucket
    مجلد أ
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv
bucket Folder*/*.csv صحيح bucket
    مجلد أ
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    AnotherFolderB
        File6.csv

أمثلة على قائمة الملفات

يصف هذا القسم السلوك الناتج عن استخدام مسار قائمة الملفات في مصدر نشاط النسخ.

افترض أن لديك بنية المجلد المصدر التالية وتريد نسخ الملفات بالخط العريض:

نموذج بنية المصدر Content in FileListToCopy.txt التكوين
bucket
    مجلد أ
        File1.csv
        File2.json
        Subfolder1
            File3.csv
            File4.json
            File5.csv
    بيانات التعريف
        FileListToCopy.txt
File1.csv
Subfolder1/File3.csv
Subfolder1/File5.csv
في مجموعة البيانات:
- Bucket: bucket
- مسار المجلد: FolderA

في مصدر نشاط النسخ:
- مسار ملف القائمة: bucket/Metadata/FileListToCopy.txt

يشير مسار قائمة الملفات إلى ملف نصي في نفس مخزن البيانات الذي يتضمن قائمة بالملفات التي تريد نسخها، ملف واحد لكل سطر، مع المسار النسبي للمسار الذي تم تكوينه في مجموعة البيانات.

الاحتفاظ ببيانات التعريف أثناء عملية النسخ

عند نسخ الملفات من Amazon S3 إلى Azure Data Lake Storage Gen2 أو مخزن الكائنات الثنائية الكبيرة الحجم لـ Azure، يمكنك اختيار الاحتفاظ ببيانات تعريف الملف بجانب البيانات. تعرّف على المزيد من الاحتفاظ ببيانات التعريف.

تعيين خصائص تدفق البيانات

عند تحويل البيانات في تعيين تدفقات البيانات، يمكنك قراءة الملفات من Amazon S3 بالتنسيقات التالية:

توجد إعدادات تنسيق معينة في وثائق هذا التنسيق. للحصول على مزيدٍ من المعلومات، راجع تحويل المصدر في تعيين تدفق البيانات.

تحويل المصدر

في تحويل المصدر، يمكنك القراءة من حاوية أو مجلد أو ملف فردي في Amazon S3. استخدم علامة التبويب خيارات المصدر لإدارة كيفية قراءة الملفات.

لقطة شاشة لخيارات Source.

مسارات البدل: استخدام نمط البدل سوف يرشد الخدمة إلى تكرار حلقي من خلال كل مجلد وملف مطابقين في تحويل مصدر واحد. وهذه طريقة فعالة لمعالجة ملفات متعددة داخل تدفق واحد. أضف أنماط مطابقة متعددة لأحرف البدل بعلامة الجمع التي تظهر عند تمرير مؤشر الفارة فوق نمط حرف البدل الموجود.

من حاوية المصدر، اختر سلسلة من الملفات التي تطابق نمطاً. يمكن تحديد حاوية فقط في مجموعة البيانات. ويجب أن يتضمن مسار البدل مسار المجلد من المجلد الجذر.

أمثلة البدل:

  • * يمثل أي مجموعة من الأحرف.

  • ** يمثل تداخل الدليل المتكرر.

  • ? يستبدل حرف واحد.

  • [] يطابق حرف واحد أو أكثر في الأقواس.

  • /data/sales/**/*.csv يحصل على جميع ملفات .csv ضمن /data/sales.

  • /data/sales/20??/**/ يحصل على جميع الملفات في القرن العشرين.

  • /data/sales/*/*/*.csv يحصل على ملفات .csv في مستويين ضمن /data/sales.

  • /data/sales/2004/*/12/[XY]1?.csv يحصل على جميع ملفات .csv في ديسمبر 2004 بدءاً من X أو Y مسبوقة بعدد مكون من رقمين.

مسار جذر القسم: إذا كان لديك مجلدات مقسمة في مصدر الملف الخاص بك بتنسيق key=value (على سبيل المثال، year=2019)، يمكنك حينئذٍ تعيين المستوى الأعلى لشجرة مجلد القسم هذا إلى اسم عمود في تدفق البيانات في تدفق البيانات الخاصة بك.

أولاً، قم بتعيين حرف بدل لتضمين جميع المسارات التي هي المجلدات المقسمة بالإضافة إلى ملفات العقدة الطرفية التي تريد قراءتها.

لقطة شاشة لإعدادات ملف مصدر القسم.

استخدم إعداد المسار الجذري للقسم لتحديد ما هو المستوى الأعلى من بنية المجلد. عند عرض محتويات بياناتك عبر معاينة البيانات، سترى أن الخدمة ستضيف الأقسام التي تم حلها، والموجودة في كل مستوى من مستويات المجلد.

لقطة شاشة لمسار جذر القسم.

قائمة الملفات: عبارة عن مجموعة ملفات. أنشئ ملف نصي يتضمن قائمة ملفات المسار النسبي لمعالجتها. أشر إلى هذا الملف النصي.

عمود لتخزين اسم الملف: خزّن اسم الملف المصدر في عمود في بياناتك. أدخِل اسم عمود جديد هنا لتخزين سلسلة اسم الملف.

بعد الانتهاء: اختر عدم إجراء أي عملية مع الملف المصدر بعد تشغيل تدفق البيانات أو حذف الملف المصدر أو نقل الملف المصدر. المسارات الخاصة بهذه الخطوة نسبية.

لنقل الملفات المصدر إلى موقع آخر بعد المعالجة، حدد أولاً "Move" لعملية الملف. ثم اضبط الدليل "from". إذا كنت لا تستخدم أي أحرف بدل للمسار، فسيكون الإعداد "from" هو نفس المجلد الذي يستخدمه المجلد المصدر.

إذا كان لديك مسار مصدر مع حرف البدل، ستبدو الصياغة كما يلي:

/data/sales/20??/**/*.csv

يمكنك تحديد "from" على النحو التالي:

/data/sales

ويمكنك تحديد "to" على النحو:

/backup/priorSales

في هذه الحالة، يتم نقل جميع الملفات التي تم الحصول عليها ضمن /data/sales إلى /backup/priorSales.

إشعار

لا تستخدم تشغيل عمليات الملف إلا عندما تبدأ تدفق البيانات من تشغيل خط الأنابيب (تتبع أخطاء خط الأنابيب أو تشغيل التنفيذ)، والذي يستخدم نشاط تنفيذ تدفق البيانات في خط الأنابيب. لا يتم تشغيل عمليات الملفات في وضع تتبع أخطاء تدفق البيانات.

التصفية حسب آخر تعديل: يمكنك تصفية الملفات التي تعالجها عن طريق تحديد نطاق تاريخ آخر تعديل لها. جميع أوقات التواريخ بصيغة UTC.

بحث عن خصائص النشاط

لمعرفة تفاصيل حول الخصائص، تحقق من نشاط البحث.

خصائص نشاط GetMetadata

لمعرفة تفاصيل حول الخصائص، تحقق من نشاط GetMetadata.

حذف خصائص النشاط

لمعرفة تفاصيل حول الخصائص، حدد Delete activity.

النماذج القديمة

إشعار

لا تزال النماذج التالية مدعومة كما هي للتوافق مع الإصدارات السابقة. نقترح عليك استخدام النموذج الجديد المذكور سابقاً. لقد تحولت واجهة مستخدم التأليف إلى إنشاء النموذج الجديد.

نموذج مجموعة البيانات القديم

الخاصية الوصف مطلوب
النوع ينبغي ضبط الخاصية type لمجموعة البيانات على AmazonS3Object. ‏‏نعم‬
bucketName اسم مستودع S3. عامل تصفية حرف البدل غير مدعوم. نعم لنشاط النسخ أو البحث، لا لنشاط GetMetadata
المفتاح عامل تصفية الاسم أو حرف البدل لمفتاح عنصر S3 ضمن المستودع المحدد. ينطبق فقط عندما لا يتم تحديد خاصية prefix.

يتم دعم عامل تصفية حرف البدل لكل من جزء المجلد وجزء اسم الملف. أحرف البدل المسموح بها هي: * (تطابق صفراً أو أكثر من الأحرف) و? (تطابق صفر أو حرف واحد).
- مثال 1: "key": "rootfolder/subfolder/*.csv"
- مثال 2: "key": "rootfolder/subfolder/???20180427.txt"
راجع المزيد من الأمثلة في أمثلة على تصفية الملفات والمجلدات. استخدم ^ للإلغاء إذا كان اسم المجلد أو الملف الفعلي يحتوي على حرف بدل أو حرف إلغاء بداخله.
لا
البادئة بادئة مفتاح كائن S3. يتم تحديد العناصر التي تبدأ مفاتيحها بهذه البادئة. ينطبق فقط عندما لا يتم تحديد خاصية key. لا
إصدار إصدار كائن S3 إذا تم تمكين إصدار S3. إذا لم يتم تحديد الإصدار، فسيتم إحضار أحدث إصدار. لا
تاريخ البدء المعدل تتم تصفية الملفات استناداً إلى السمة: last modified. سوف يتم تحديد الملفات إذا كان وقت آخر تعديل لها أكبر من أو يساوي modifiedDatetimeStart وأقل من modifiedDatetimeEnd. يتم تطبيق الوقت على المنطقة الزمنية UTC بتنسيق "2018-12-01T05:00:00Z".

يجب أن تدرك أن تمكين هذا الإعداد سيؤثر على الأداء الكلي لحركة البيانات عندما تريد تصفية كميات هائلة من الملفات.

يمكن أن تكون الخصائص NULL، ما يعني أنه لن يتم تطبيق عامل تصفية سمة الملف على مجموعة البيانات. عندما يكون لـ modifiedDatetimeStart قيمة تاريخ ووقت، ولكن modifiedDatetimeEnd قيمته NULL، فهذا يعني أن الملفات التي قيمة آخر تعديل للسمة الخاصة بها أكبر من قيمة التاريخ والوقت أو تساويها، هي التي سيتم تحديدها. عندما يكون لـ modifiedDatetimeEnd قيمة تاريخ ووقت، ولكن modifiedDatetimeStart قيمته «NULL»، سيتم تحديد الملفات التي سمة آخر تعديل لها أقل من قيمة التاريخ والوقت.
لا
modifiedDatetimeEnd تتم تصفية الملفات استناداً إلى السمة: last modified. سوف يتم تحديد الملفات إذا كان وقت آخر تعديل لها أكبر من أو يساوي modifiedDatetimeStart وأقل من modifiedDatetimeEnd. يتم تطبيق الوقت على المنطقة الزمنية UTC بتنسيق "2018-12-01T05:00:00Z".

يجب أن تدرك أن تمكين هذا الإعداد سيؤثر على الأداء الكلي لحركة البيانات عندما تريد تصفية كميات هائلة من الملفات.

يمكن أن تكون الخصائص NULL، ما يعني أنه لن يتم تطبيق عامل تصفية سمة الملف على مجموعة البيانات. عندما يكون لـ modifiedDatetimeStart قيمة تاريخ ووقت، ولكن modifiedDatetimeEnd قيمته NULL، فهذا يعني أن الملفات التي قيمة آخر تعديل للسمة الخاصة بها أكبر من قيمة التاريخ والوقت أو تساويها، هي التي سيتم تحديدها. عندما يكون لـ modifiedDatetimeEnd قيمة تاريخ ووقت، ولكن modifiedDatetimeStart قيمته NULL، سيتم تحديد الملفات التي سمة آخر تعديل لها أقل من قيمة التاريخ والوقت.
لا
format إذا كنت تريد نسخ الملفات كما هو الحال بين مخازن مستندة إلى ملف (نسخة ثنائية)، فتخطَّ قسم التنسيق في كل من التعريفات مجموعة بيانات الإدخال والإخراج.

إذا كنت تريد توزيع الملفات أو إنشاءها بتنسيق معين، فإن أنواع تنسيق الملف التالية مدعومة: TextFormat، وJsonFormat، وAvroFormat، وOrcFormat، وParquetFormat. قم بتعيين خاصية النوع الموجودة ضمن التنسيق إلى إحدى هذه القيم. للحصول على مزيدٍ من المعلومات، راجع أقسام تنسيق Text، وتنسيقJSON، وتنسيقAvro، وتنسيقORC، وتنسيق Parquet.
لا (فقط لسيناريو النسخ الثنائي)
ضغط حدد نوع ضغط البيانات ومستواه. للحصول على مزيدٍ من المعلومات، راجع تنسيقات الملفات المدعومة وبرامج ضغط الوسائط وفكها.
الأنواع المدعومة هي GZipو Deflateو BZip2، وZipDeflate.
المستويات المعتمدة هي الأمثل والأسرع.
لا

تلميح

لنسخ كافة الملفات ضمن مجلد، حدد bucketName للمستودع وprefix لجزء المجلد.

لنسخ ملف واحد باسم معين، حدد bucketName للمستودع وkey لجزء المجلد بالإضافة إلى اسم الملف.

لنسخ مجموعة فرعية من الملفات ضمن مجلد، حدد bucketName للمستودع وkey لجزء المجلد بالإضافة إلى عامل تصفية حرف البدل.

مثال: استخدام البادئة

{
    "name": "AmazonS3Dataset",
    "properties": {
        "type": "AmazonS3Object",
        "linkedServiceName": {
            "referenceName": "<Amazon S3 linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "bucketName": "testbucket",
            "prefix": "testFolder/test",
            "modifiedDatetimeStart": "2018-12-01T05:00:00Z",
            "modifiedDatetimeEnd": "2018-12-01T06:00:00Z",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

مثال: استخدام المفتاح والإصدار (اختياري)

{
    "name": "AmazonS3Dataset",
    "properties": {
        "type": "AmazonS3",
        "linkedServiceName": {
            "referenceName": "<Amazon S3 linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties": {
            "bucketName": "testbucket",
            "key": "testFolder/testfile.csv.gz",
            "version": "XXXXXXXXXczm0CJajYkHf0_k6LhBmkcL",
            "format": {
                "type": "TextFormat",
                "columnDelimiter": ",",
                "rowDelimiter": "\n"
            },
            "compression": {
                "type": "GZip",
                "level": "Optimal"
            }
        }
    }
}

نموذج مصدر قديم لنشاط النسخ

الخاصية الوصف مطلوب
النوع ينبغي ضبط الخاصية type لنشاط النسخ على FileSystemSource. ‏‏نعم‬
التكرار يشير إلى ما إذا كانت البيانات ستتم قراءتها بشكل متكرر من المجلدات الفرعية أو من المجلد المحدد فقط. تجدر الإشارة إلى أنه عند ضبط recursive على true ويكون المتلقي مخزناً يستند إلى ملف، لن يتم نسخ أو إنشاء مجلد فارغ أو مجلد فرعي عند المتلقي.
القيم المسموح بها هي true (افتراضية) وfalse.
لا
maxConcurrentConnections الحد الأعلى للاتصالات المتزامنة التي تم إنشاؤها إلى مخزن البيانات أثناء تشغيل النشاط. حدد قيمة فقط عندما تريد تحديد الاتصالات المتزامنة. لا

مثال:

"activities":[
    {
        "name": "CopyFromAmazonS3",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Amazon S3 input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "FileSystemSource",
                "recursive": true
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

للحصول على قائمة مخازن البيانات المعتمدة كمصادر ومواضع تلقٍ، راجع مخازن البيانات المدعومة.