نسخ البيانات من خدمة التخزين السحابي 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، يرجى الرجوع هنا للاطلاع على المتطلبات الأساسية والإذن المطلوب.
الشروع في العمل
لتنفيذ نشاط النسخ باستخدام أحد المسارات، يمكنك استخدام إحدى الأدوات أو عدد تطوير البرامج التالية:
- أداة نسخ البيانات
- مدخل Azure
- The .NET SDK
- عدة تطوير برامج Python
- Azure PowerShell
- واجهة برمجة تطبيقات REST
- قالب Azure Resource Manager
إنشاء خدمة مرتبطة بخدمة التخزين السحابي من Oracle باستخدام واجهة المستخدم
استخدم الخطوات التالية لإنشاء خدمة مرتبطة إلى التخزين السحابي من Oracle في واجهة المستخدم المدخل Azure.
استعرض للوصول إلى علامة التبويب "Manage" في مصنع بيانات Azure أو مساحة عمل Synapse، وحدد "Linked Services"، ثم انقر فوق "New":
البحث عن Oracle وتحديد موصل التخزين السحابي من 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.
المحتوى ذو الصلة
للحصول على قائمة مخازن البيانات المعتمدة كمصادر ومواضع تلقٍ، راجع مخازن البيانات المدعومة.