إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
ينطبق على:
Azure Data Factory
Azure Synapse Analytics
تلميح
Data Factory في Microsoft Fabric هو الجيل القادم من Azure Data Factory، مع بنية أبسط، وذكاء اصطناعي مدمج، وميزات جديدة. إذا كنت جديدا في تكامل البيانات، ابدأ مع Fabric Data Factory. يمكن لأعباء عمل ADF الحالية الترقية إلى Fabric للوصول إلى قدرات جديدة في علوم البيانات، والتحليلات اللحظية، والتقارير.
توضح هذه المقالة كيفية استخدام نشاط النسخ في خطوط أنابيب Synapse Analytics في Azure Data Factory لنسخ البيانات من وإلى قاعدة بيانات MongoDB. تعتمد هذه المقالة على مقالة نظرة عامة على نشاط النسخ التي تقدم نظرة عامة على نشاط النسخ.
هام
يوفر موصل MongoDB الجديد دعمًا محسنًا من MongoDB الأصلي. إذا كنت تستخدم موصل MongoDB القديم في الحل الخاص بك، المدعوم كما هو للتوافق مع الإصدارات السابقة فقط، راجع مقالة موصل MongoDB (القديمة).
القدرات المدعومة
موصل Azure Files هذا مدعوم للإمكانيات التالية:
| القدرات المدعومة | IR |
|---|---|
| Copy activity (المصدر/الحوض) | (1) (2) |
(1) Azure وقت تشغيل التكامل (2) وقت تشغيل التكامل المستضاف ذاتيا
للحصول على قائمة مخازن البيانات المعتمدة كمصادر ومواضع تلقي، راجع جدول مخازن البيانات المعتمدة.
على وجه التحديد، يدعم موصل MongoDB هذا إصدارات تصل إلى 4.2. إذا كان عملك يتطلب إصدارات أحدث من 4.2، ففكر في استخدام MongoDB Atlas مع موصل MongoDB Atlas، والذي يوفر دعما وميزات أكثر شمولا.
المتطلبات الأساسية
إذا كان مخزن بياناتك يقع داخل شبكة محلية، أو شبكة افتراضية Azure، أو سحابة أمازون الافتراضية الخاصة، فعليك تكوين وقت تشغيل تكامل ذاتي المستضافة للاتصال به.
إذا كان مخزن بياناتك خدمة بيانات سحابية مدارة، يمكنك استخدام Azure Integration Runtime. إذا كان الوصول مقصورا على عناوين IP المعتمدة في قواعد جدار الحماية، يمكنك إضافة Azure Integration Runtime IPs إلى قائمة التصاريح.
يمكنك أيضا استخدام ميزة تشغيل وقت تشغيل تكامل الشبكة الافتراضية المدارة في Azure Data Factory للوصول إلى الشبكة المحلية دون الحاجة لتثبيت وتكوين وقت تشغيل تكامل ذاتي المستضافة.
لمزيد من المعلومات حول آليات وخيارات أمان الشبكة التي يدعمها Data Factory، راجع إستراتيجيات الوصول إلى البيانات.
الشروع في العمل
لتنفيذ نشاط النسخ باستخدام خط أنابيب ، يمكنك استخدام إحدى الأدوات أو مجموعات SDK التالية:
- أداة نسخ البيانات
- مدخل Azure
- .NET SDK
- Python SDK
- Azure PowerShell
- واجهة برمجة التطبيقات REST
- Azure Resource Manager قالب
إنشاء خدمة مرتبطة لـ MongoDB باستخدام واجهة المستخدم
استخدم الخطوات التالية لإنشاء خدمة مرتبطة ب MongoDB في واجهة بوابة Azure.
تصفح إلى تبويب الإدارة في Azure Data Factory أو مساحة Synapse الخاصة بك واختر Linked Services، ثم اضغط على New:
ابحث عن MongoDB وحدد موصل MongoDB.
قم بتكوين تفاصيل الخدمة، واختبر الاتصال، وأنشئ الخدمة المرتبطة الجديدة.
تفاصيل تكوين الموصل
توفر الأقسام التالية تفاصيل حول الخصائص المستخدمة لتعريف كيانات Data Factory الخاصة بموصل MongoDB.
خصائص الخدمة المرتبطة
الخصائص التالية مدعومة لخدمة MongoDB المرتبطة:
| الخاصية | الوصف | مطلوب |
|---|---|---|
| النوع | يجب تعيين خاصية النوع إلى: MongoDbV2 | نعم |
| سلسلة الاتصال | حدد connection string MongoDB مثل mongodb://[username:password@]host[:port][/[database][?options]]. راجع دليل MongoDB على connection string لمزيد من التفاصيل. يمكنك أيضا وضع connection string في Azure Key Vault. راجع بيانات اعتماد المتجر Store في Azure Key Vault لمزيد من التفاصيل. |
نعم |
| قاعدة بيانات | اسم قاعدة البيانات التي تريد الوصول إليها. | نعم |
| connectVia | Integration Runtime لاستخدامها للاتصال بمخزن البيانات. تعرف على المزيد من قسم المتطلبات الأساسية. إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. | لا |
مثال:
{
"name": "MongoDBLinkedService",
"properties": {
"type": "MongoDbV2",
"typeProperties": {
"connectionString": "mongodb://[username:password@]host[:port][/[database][?options]]",
"database": "myDatabase"
},
"connectVia": {
"referenceName": "<name of Integration Runtime>",
"type": "IntegrationRuntimeReference"
}
}
}
خصائص مجموعة البيانات
للحصول على قائمة كاملة بالأقسام والخصائص المتاحة لتعريف مجموعات البيانات، راجع مجموعات البيانات والخدمات المرتبطة. يتم دعم الخصائص التالية لمجموعة بيانات MongoDB:
| الخاصية | الوصف | مطلوب |
|---|---|---|
| النوع | يجب تعيين خاصية نوع مجموعة البيانات إلى: MongoDbV2Collection | نعم |
| اسم المجموعة | اسم المجموعة في قاعدة بيانات MongoDB. | نعم |
مثال:
{
"name": "MongoDbDataset",
"properties": {
"type": "MongoDbV2Collection",
"typeProperties": {
"collectionName": "<Collection name>"
},
"schema": [],
"linkedServiceName": {
"referenceName": "<MongoDB linked service name>",
"type": "LinkedServiceReference"
}
}
}
خصائص Copy activity
للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف الأنشطة، راجع مقالة التدفقات. يوفر هذا القسم قائمة من الخصائص التي يدعمها مصدر ومتلقي MongoDB.
MongoDB كمصدر
تُدعم الخصائص التالية في قسم مصدر نشاط النسخ:
| الخاصية | الوصف | مطلوب |
|---|---|---|
| النوع | يجب تعيين خاصية نوع مصدر نشاط النسخ إلى:MongoDbV2Source | نعم |
| filter | يحدد عامل تصفية التحديد باستخدام عوامل تشغيل الاستعلام. لإرجاع جميع المستندات في مجموعة، احذف هذه المعلمة أو مرر مستند فارغ ({}). | لا |
| cursorMethods.project | يحدد الحقول التي سيتم إرجاعها في المستندات للإسقاط. لإرجاع جميع الحقول في المستندات المطابقة، احذف هذه المعلمة. | لا |
| cursorMethods.sort | يحدد الترتيب الذي يقوم الاستعلام بإرجاع مستندات مطابقة به. ارجع إلى cursor.sort(). | لا |
| cursorMethods.limit | يحدد الحد الأقصى لعدد المستندات التي يرجعها الخادم. ارجع إلى cursor.limit(). | لا |
| cursorMethods.skip | يحدد عدد المستندات التي يجب تخطيها والتي يبدأ MongoDB من عندها في إرجاع النتائج. الرجوع إلى cursor.skip(). | لا |
| batchSize | يحدد عدد المستندات التي سيتم إرجاعها في كل دُفعة من الاستجابة من مثيل MongoDB. في معظم الحالات، لن يؤثر تعديل حجم الدُفعة على المستخدم أو التطبيق. يحدد Azure Cosmos DB أن حجم كل دفعة لا يمكن أن يتجاوز 40 ميجابايت، وهو مجموع حجم حجم الدفعة للمستندات، لذا قم بتقليل هذه القيمة إذا كان حجم المستند كبيرا. | لا (الافتراضي هو 100) |
تلميح
تدعم الخدمة استهلاك مستند BSON في الوضع Strict. تأكد من أن استعلام التصفية في الوضع Strict بدلًا من الوضع Shell. يمكن العثور على مزيد من الوصف في دليل MongoDB.
مثال:
"activities":[
{
"name": "CopyFromMongoDB",
"type": "Copy",
"inputs": [
{
"referenceName": "<MongoDB input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "MongoDbV2Source",
"filter": "{datetimeData: {$gte: ISODate(\"2018-12-11T00:00:00.000Z\"),$lt: ISODate(\"2018-12-12T00:00:00.000Z\")}, _id: ObjectId(\"5acd7c3d0000000000000000\") }",
"cursorMethods": {
"project": "{ _id : 1, name : 1, age: 1, datetimeData: 1 }",
"sort": "{ age : 1 }",
"skip": 3,
"limit": 3
}
},
"sink": {
"type": "<sink type>"
}
}
}
]
MongoDB كمتلقي
تُدعم الخصائص التالية في قسم متلقي نشاط النسخ:
| الخاصية | الوصف | مطلوب |
|---|---|---|
| النوع | يجب تعيين خاصية نوع متلقٍ نشاط النسخ إلى MongoDbV2Sink. | نعم |
| writeBehavior | توضح هذه المقالة كيفية كتابة البيانات إلى MongoDB. القيم المسموح بها: insert وupsert. سلوك upsert هو استبدال المستند إذا كان مستند بنفس _id موجود مسبقًا؛ وإلا، قم بإدراج المستند.ملاحظة: تنشئ الخدمة تلقائيًا _id لمستند إذا لم يتم تحديد _id إما في المستند الأصلي أو بتعيين عمود. وهذا يعني أنه يجب عليك التأكد من أن المستند يحتوي على معرّف لكي يعمل upsert كما هو متوقع. |
لا (الافتراضي هو insert) |
| writeBatchSize | تتحكم خاصية writeBatchSize في حجم المستندات للكتابة في كل دُفعة. يمكنك محاولة زيادة قيمة writeBatchSize لتحسين الأداء وتقليل القيمة إذا كان حجم المستند كبيرًا. | لا (الافتراضي هو 10,000) |
| writeBatchTimeout | وقت الانتظار لانتهاء عملية إدراج الدُفعة قبل انتهاء الوقت. القيمة المسموح بها هي نهاية الوقت. | لا (الافتراضي هو 00:30:00 - 30 دقيقة) |
تلميح
لاستيراد مستندات JSON كما هي، راجع قسم استيراد أو تصدير مستندات JSON؛ وللنسخ من بيانات على شكل جدولي، راجع تعيين المخطط.
مثال
"activities":[
{
"name": "CopyToMongoDB",
"type": "Copy",
"inputs": [
{
"referenceName": "<input dataset name>",
"type": "DatasetReference"
}
],
"outputs": [
{
"referenceName": "<Document DB output dataset name>",
"type": "DatasetReference"
}
],
"typeProperties": {
"source": {
"type": "<source type>"
},
"sink": {
"type": "MongoDbV2Sink",
"writeBehavior": "upsert"
}
}
}
]
استيراد وتصدير مستندات JSON
يمكنك استخدام موصل MongoDB هذا للقيام بما يلي بسهولة:
- نسخ المستندات بين مجموعتين MongoDB كما هي.
- استيراد مستندات JSON من مصادر مختلفة إلى MongoDB، بما في ذلك من Azure Cosmos DB، وتخزين Azure Blob، ومخزن Azure Data Lake، وغيرها من المخازن المدعومة القائمة على الملفات.
- تصدير مستندات JSON من مجموعة MongoDB إلى مختلف المتاجر المستندة إلى الملفات.
للوصول إلى هذه النسخة متعددة المخططات، قم بتخطي المقطع "structure" (المسمى أيضاً schema) في مجموعة البيانات وتعيين المخطط في copy activity.
تعيين نوع البيانات ل MongoDB
عند نسخ البيانات من MongoDB، يتم استخدام التعيينات التالية من أنواع بيانات MongoDB إلى أنواع البيانات المؤقتة التي تستخدمها الخدمة داخليا. راجع تعيينات المخططات ونوع البيانات لمعرفة كيفية تعيين نشاط النسخ للمخطط المصدر ونوع البيانات إلى المتلقي.
| نوع بيانات MongoDB | نوع بيانات الخدمة المؤقتة |
|---|---|
| التاريخ | int64 |
| ObjectId | السلسلة |
| عشري128 | السلسلة |
| الطابع الزمني | أهم 32 بت -> Int64 أقل 32 بت أهمية -> Int64 |
| السلسلة | السلسلة |
| مزدوج | السلسلة |
| Int32 | int64 |
| int64 | int64 |
| قيمة منطقية | قيمة منطقية |
| Null | Null |
| JavaScript | السلسلة |
| التعبير العادي | السلسلة |
| الحد الأدنى للمفتاح | int64 |
| ماكس مفتاح | int64 |
| ثنائي | السلسلة |
دورة حياة موصل MongoDB وترقيته
يوضح الجدول التالي مرحلة الإصدار وسجلات التغيير لإصدارات مختلفة من موصل MongoDB:
| الإصدار | مرحلة الإصدار | سجل التغيير |
|---|---|---|
| MongoDB (الإرث) | تمت الإزالة | غير قابل للتطبيق. |
| MongoDB | يتوفر إصدار GA | • دعم استعلامات MongoDB المكافئة فقط. • يقرأ المضاعف على أنه نوع بيانات سلسلة. |
ترقية خدمة MongoDB المرتبطة
إنشاء خدمة MongoDB مرتبطة جديدة وتكوينها بالإشارة إلى خصائص الخدمة المرتبطة.
المحتوى ذو الصلة
للحصول على قائمة بمخازن البيانات المدعومة من نشاط النسخ كمصادر ومواضع تلقي، راجع مخازن البيانات المدعومة.