نسخ البيانات من خدمة التخزين السحابي Oracle باستخدام مصنع بيانات Azure أو تحليلات Synapse

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

تلميح

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

توضح هذه المقالة كيفية نسخ البيانات من خدمة التخزين السحابي من Oracle. للتعرف على المزيد، اقرأ المقالات التمهيدية حول Azure Data Factory وSynapse Analytics.

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

يتم اعتماد موصل خدمة التخزين السحابي Oracle هذا للإمكانيات التالية:

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

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

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

المتطلبات الأساسية

لنسخ البيانات من خدمة التخزين السحابي Oracle، يرجى الرجوع هنا للاطلاع على المتطلبات الأساسية والإذن المطلوب.

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

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

إنشاء خدمة مرتبطة بخدمة التخزين السحابي من Oracle باستخدام واجهة المستخدم

استخدم الخطوات التالية لإنشاء خدمة مرتبطة إلى التخزين السحابي من Oracle في واجهة المستخدم المدخل Azure.

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

  2. البحث عن Oracle وتحديد موصل التخزين السحابي من Oracle.

    لقطة شاشة لموصل خدمة التخزين السحابي من Oracle.

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

    لقطة شاشة لتكوين خدمة التخزين السحابي من Oracle.

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

توفر المقاطع التالية تفاصيل حول الخصائص المستخدمة لتعريف الكيانات الخاصة بخدمة التخزين السحابي من Oracle.

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

يتم اعتماد الخصائص التالية لخدمات التخزين السحابي المرتبطة من Oracle:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى OracleCloudStorage. ‏‏نعم‬
accessKeyId معرف مفتاح الوصول السري. للعثور على مفتاح الوصول والسر، راجع المتطلبات الأساسية. ‏‏نعم‬
secretAccessKey مفتاح الدخول السري نفسه. ضع علامة على هذا الحقل كـ SecureString لتخزينها بأمان، أو راجع السر المُخزن في Azure Key Vault. ‏‏نعم‬
serviceUrl حدد نقطة النهاية المخصصة كـ https://<namespace>.compat.objectstorage.<region identifier>.oraclecloud.com. لمزيدٍ من التفاصيل، راجع هذا الرابط ‏‏نعم‬
connectVia يُستخدم وقت تشغيل التكامل للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل تكامل Azure أو وقت تشغيل التكامل المستضاف ذاتياً (إذا كان مخزن البيانات الخاص بك في شبكة خاصة). إذا لم يتم تحديد هذه الخاصية، فإن الخدمة تستخدم وقت تشغيل تكامل Azure الافتراضي. لا

إليك مثال:

{
    "name": "OracleCloudStorageLinkedService",
    "properties": {
        "type": "OracleCloudStorage",
        "typeProperties": {
            "accessKeyId": "<access key id>",
            "secretAccessKey": {
                "type": "SecureString",
                "value": "<secret access key>"
            },
            "serviceUrl": "https://<namespace>.compat.objectstorage.<region identifier>.oraclecloud.com"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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

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

يتم اعتماد الخصائص التالية لخدمة التخزين السحابي من Oracle ضمن location الإعدادات في مجموعة بيانات مستندة إلى تنسيق:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوعlocation ضمن في مجموعة البيانات إلى OracleCloudStorageLocation. ‏‏نعم‬
bucketName اسم مستودع التخزين السحابي من Oracle. ‏‏نعم‬
folderPath المسار إلى المجلد ضمن الحاوية المحددة. إذا كنت تريد استخدام حرف بدل لتصفية المجلد، فتخطَّ هذا الإعداد وحدد ذلك في إعدادات مصدر النشاط. لا
fileName اسم الملف ضمن مسار الحاوية والمجلد المحدد. إذا كنت تريد استخدام حرف بدل لتصفية الملفات، فتخط هذا الإعداد وحدد ذلك في إعدادات مصدر النشاط. لا

مثال:

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

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

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

أوراكل سحابة التخزين كنوع مصدر

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

يتم اعتماد الخصائص التالية خدمة التخزين السحابي من Oracle ضمن storeSettingsإعدادات في مصدر نسخة مستند إلى تنسيق:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع بموجب storeSettings إلى OracleCloudStorageReadSettings. ‏‏نعم‬
حدد موقع الملفات المراد نسخها:
الخيار 1: مسار ثابت
انسخ من مسار الحاوية أو المجلد / الملف المحدد في مجموعة البيانات. إذا كنت تريد نسخ جميع الملفات من مستودع أو مجلد، فحدد أيضاً wildcardFileName كـ *.
الخيار 2: بادئة خدمة التخزين السحابي من Oracle
- اختصار
بادئة لاسم مفتاح خدمة التخزين السحابي من Oracle بموجب مستودع معين تكوينها في مجموعة البيانات لتصفية مصدر ملفات خدمة التخزين السحابي من Oracle. يتم تحديد مفاتيح خدمة التخزين السحابي من Oracle التي تبدأ bucket_in_dataset/this_prefix أسماؤها مع. ويستخدم مرشح خدمة التخزين السحابي من Oracle من جانب الخدمة، والتي توفر أداء أفضل من مرشح البدل. لا
الخيار 3: wildcard
- wildcardFolderPath
مسار المجلد الذي يحتوي على أحرف بدل ضمن الحاوية المحددة المكونة في مجموعة بيانات لتصفية مجلدات المصدر.
أحرف البدل المسموح بها هي: * (تطابق صفراً أو أكثر من الأحرف) و? (تطابق صفر أو حرف واحد). استخدم ^ للإلغاء إذا كان اسم المجلد الخاص بك يحتوي على حرف بدل أو حرف إلغاء بداخله.
راجع المزيد من الأمثلة في أمثلة على تصفية الملفات والمجلدات.
لا
الخيار 4: حرف بدل
- wildcardFileName
اسم الملف مع أحرف البدل ضمن مسار الحاوية والمجلد المحدد (أو مسار مجلد حرف البدل) لتصفية الملفات المصدر.
أحرف البدل المسموح بها هي: * (تطابق صفراً أو أكثر من الأحرف) و? (تطابق صفر أو حرف واحد). استخدم ^ للإلغاء إذا كان اسم المجلد الخاص بك يحتوي على حرف بدل أو حرف الإلغاء هذا بداخله. راجع المزيد من الأمثلة في أمثلة على تصفية الملفات والمجلدات.
‏‏نعم‬
الخيار 5: قائمة بالملفات
- 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": "CopyFromOracleCloudStorage",
        "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": "OracleCloudStorageReadSettings",
                    "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

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

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

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

خصائص نشاط GetMetadata

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

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

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

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