نسخ البيانات وتحويلها في Azure Cosmos DB ل NoSQL باستخدام Azure Data Factory

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

تلميح

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

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

إشعار

يدعم هذا الموصل Azure Cosmos DB ل NoSQL فقط. بالنسبة إلى Azure Cosmos DB ل MongoDB، راجع موصل Azure Cosmos DB ل MongoDB. أنواع واجهة برمجة التطبيقات الأخرى غير مدعومة الآن.

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

يتم دعم موصل Azure Cosmos DB ل NoSQL للقدرات التالية:

القدرات المدعومة IR نقطة النهاية الخاصة المُدارة
Copy activity (المصدر/المتلق) (1) (2)
تعيين تدفق البيانات (المصدر/ المتلقي) (1)
نشاط البحث (1) (2)

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

بالنسبة لنشاط النسخ، يدعم موصل Azure Cosmos DB ل NoSQL هذا:

  • انسخ البيانات من وإلى Azure Cosmos DB ل NoSQL باستخدام المفتاح أو كيان الخدمة أو الهويات المدارة لمصادقات موارد Azure.
  • الكتابة إلى Azure Cosmos DB كـ إدراج أو upsert.
  • استيراد وتصدير مستندات JSON كما هي، أو نسخ البيانات من أو إلى مجموعة بيانات مجدولة. تتضمن الأمثلة قاعدة بيانات SQL وملف CSV. لنسخ المستندات كما هي من أو إلى ملفات JSON أو من أو إلى مجموعة Azure Cosmos DB أخرى، راجع استيراد مستندات JSON وتصديرها.

تتكامل مسارات Data Factory وSynapse مع مكتبة المنفذ المجمع Azure Cosmos DB لتوفير أفضل أداء عند الكتابة إلى Azure Cosmos DB.

تلميح

يرشدك فيديو ترحيل البيانات عبر خطوات نسخ البيانات من تخزين Azure Blob إلى Azure Cosmos DB. يصف الفيديو أيضاً اعتبارات ضبط الأداء لإدخال البيانات إلى Azure Cosmos DB بشكل عام.

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

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

أنشئ خدمة مرتبطة بـ Azure Cosmos DB باستخدام واجهة المستخدم

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

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

  2. ابحث عن Azure Cosmos DB ل NoSQL وحدد موصل Azure Cosmos DB ل NoSQL.

    حدد Azure Cosmos DB لموصل NoSQL.

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

    لقطة شاشة لتكوين الخدمة المرتبطة ل Azure Cosmos DB.

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

توفر الأقسام التالية تفاصيل حول الخصائص التي يمكنك استخدامها لتعريف الكيانات الخاصة ب Azure Cosmos DB ل NoSQL.

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

يدعم موصل Azure Cosmos DB ل NoSQL أنواع المصادقة التالية. راجع المقاطع المقابلة للحصول على التفاصيل:

المصادقة الرئيسية

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى CosmosDb. ‏‏نعم‬
سلسلة الاتصال حدد المعلومات المطلوبة للاتصال بقاعدة بيانات Azure Cosmos DB.
ملاحظة: يجب تحديد معلومات قاعدة البيانات في سلسلة الاتصال كما هو موضح في الأمثلة التالية.
يمكنك أيضاً وضع مفتاح الحساب في Azure Key Vault وسحب تكوين accountKey خارج سلسلة الاتصال. راجع النماذج التالية ومقال تخزين بيانات الاعتماد في Azure Key Vault لمزيد من التفاصيل.
‏‏نعم‬
connectVia وقت تشغيل التكامل المطلوب استخدامه للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل التكامل في Azure أو وقت تشغيل تكامل مستضاف ذاتياً (إذا كان مخزن البيانات الخاص بك موجوداً في شبكة خاصة). إذا لم يتم تحديد هذه الخاصية، فسيتم استخدام وقت تشغيل التكامل في Azure الافتراضي. لا

مثال

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "connectionString": "AccountEndpoint=<EndpointUrl>;AccountKey=<AccessKey>;Database=<Database>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مثال: مفتاح حساب المخزن في Azure Key Vault

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "connectionString": "AccountEndpoint=<EndpointUrl>;Database=<Database>",
            "accountKey": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<Azure Key Vault linked service name>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<secretName>" 
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

المصادقة الأساسية للخدمة

إشعار

حالياً، لا يتم دعم المصادقة الرئيسية للخدمة في تدفق البيانات.

لاستخدام مصادقة كيان الخدمة، اتبع هذه الخطوات.

  1. تسجيل تطبيق باستخدام النظام الأساسي للهويات في Microsoft. لمعرفة كيفية إجراء ذلك، راجع التشغيل السريع: تسجيل تطبيق باستخدام النظام الأساسي للهويات في Microsoft. دون هذه القيم التي تستخدمها لتعريف الخدمة المرتبطة:

    • مُعرّف التطبيق
    • مفتاح التطبيق
    • معرف المستأجر
  2. امنح الإذن الصحيح الأساسي للخدمة. راجع أمثلة حول كيفية عمل الإذن في Azure Cosmos DB من قوائم التحكم في الوصول على الملفات والدلائل. وبشكل أكثر تحديدا، قم بإنشاء تعريف دور، وتعيين الدور إلى كيان الخدمة عبر معرف كائن كيان الخدمة.

هذه الخصائص معتمدة للخدمة المرتبطة:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى CosmosDb. ‏‏نعم‬
حساب حدد عنوان URL لنقطة نهاية الحساب لمثيل Azure Cosmos DB. ‏‏نعم‬
قاعدة بيانات حدد اسم قاعدة البيانات. ‏‏نعم‬
servicePrincipalId حدد معرّف عميل التطبيق. ‏‏نعم‬
servicePrincipalCredentialType نوع بيانات الاعتماد المراد استخدامه للمصادقة الأساسية للخدمة. القيم المسموح بها هي ServicePrincipalKey وServicePrincipalCert. ‏‏نعم‬
servicePrincipalCredential بيانات اعتماد كيان الخدمة.
عند استخدام ServicePrincipalKey كنوع بيانات الاعتماد، حدد مفتاح التطبيق. ضع علامة على هذا الحقل كـ SecureString لتخزينها بأمان، أو راجع السر المُخزن في Azure Key Vault.
عند استخدام ServicePrincipalCert كبيانات اعتماد، قم بالإشارة إلى شهادة في Azure Key Vault، وتأكد من أن نوع محتوى الشهادة هو PKCS #12.
‏‏نعم‬
tenant حدد معلومات المستأجر (اسم المجال أو معرف المستأجر) التي يوجد داخلها التطبيق. يمكنك استرداده من خلال تمرير الماوس على الزاوية العلوية اليمنى من مدخل Microsoft Azure. ‏‏نعم‬
azureCloudType للمصادقة الأساسية للخدمة، حدد نوع بيئة سحابة Azure التي تم تسجيل تطبيق Microsoft Entra إليها.
القيم المسموح بها هي AzurePublic، وAzureChina، وAzureUsGovernment، وAzureGermany. يتم استخدام بيئة السحابة للخدمة بشكل افتراضي.
لا
connectVia يُستخدم وقت تشغيل التكامل للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل تكامل Azure أو وقت تشغيل تكامل مستضاف ذاتياً إذا كان مخزن البيانات الخاص بك في شبكة خاصة. في حالة عدم التحديد، يُستخدم وقت تشغيل تكامل Azure الافتراضي. لا

مثال: استخدام مصادقة مفتاح كيان الخدمة

يمكنك أيضاً تخزين مفتاح الخدمة الأساسي في Azure Key Vault.

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalKey",
            "servicePrincipalCredential": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مثال: استخدام مصادقة شهادة كيان الخدمة

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>", 
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalCredentialType": "ServicePrincipalCert",
            "servicePrincipalCredential": { 
                "type": "AzureKeyVaultSecret", 
                "store": { 
                    "referenceName": "<AKV reference>", 
                    "type": "LinkedServiceReference" 
                }, 
                "secretName": "<certificate name in AKV>" 
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>" 
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مصادقة الهوية المدارة المعينة من قبل النظام

إشعار

حاليا، يتم دعم مصادقة الهوية المدارة المعينة من قبل النظام في تدفقات البيانات من خلال استخدام الخصائص المتقدمة بتنسيق JSON.

يمكن إقران مصنع البيانات أو مسار Synapse بهوية مُدارة معينة من قبل النظام لموارد Azure، والتي تمثل مثيل الخدمة المحدد هذا. يمكنك استخدام هذه الهوية المدارة مباشرة لمصادقة Azure Cosmos DB، على غرار استخدام كيان الخدمة الخاص بك. يسمح لهذا المورد المعين بالوصول إلى البيانات ونسخها من أو إلى مثيل Azure Cosmos DB.

لاستخدام الهويات المُدارة المعينة من قبل النظام لمصادقة مورد Azure، اتبع هذه الخطوات.

  1. استرجع معلومات الهوية المُدارة المخصصة من قبل النظام عن طريق نسخ قيمة معرف كائن الهوية المُدار الذي تم إنشاؤه جنبًا إلى جنب مع خدمتك.

  2. منح إذن صحيح للهوية المُدارة التي يُعيّنها النظام. راجع أمثلة حول كيفية عمل الإذن في Azure Cosmos DB من قوائم التحكم في الوصول على الملفات والدلائل. وبشكل أكثر تحديدًا، قم بإنشاء تعريف دور، وقم بتعيين الدور للهوية المُدارة المخصصة للنظام.

هذه الخصائص معتمدة للخدمة المرتبطة:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى CosmosDb. ‏‏نعم‬
حساب حدد عنوان URL لنقطة نهاية الحساب لمثيل Azure Cosmos DB. ‏‏نعم‬
قاعدة بيانات حدد اسم قاعدة البيانات. ‏‏نعم‬
connectVia يُستخدم وقت تشغيل التكامل للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل تكامل Azure أو وقت تشغيل تكامل مستضاف ذاتياً إذا كان مخزن البيانات الخاص بك في شبكة خاصة. في حالة عدم التحديد، يُستخدم وقت تشغيل تكامل Azure الافتراضي. لا
subscriptionId حدد معرف الاشتراك لمثيل Azure Cosmos DB لا لنشاط النسخ، نعم لتعيين تدفق البيانات
tenantId تحديد معرف المستأجر لمثيل Azure Cosmos DB لا لنشاط النسخ، نعم لتعيين تدفق البيانات
resourceGroup حدد اسم مجموعة الموارد لمثيل Azure Cosmos DB لا لنشاط النسخ، نعم لتعيين تدفق البيانات

مثال:

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>",
            "subscriptionId": "<subscription id>",
            "tenantId": "<tenant id>",
            "resourceGroup": "<resource group>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مصادقة الهوية المدارة المعينة من قبل المستخدم

إشعار

حاليا، يتم دعم مصادقة الهوية المدارة المعينة من قبل المستخدم في تدفقات البيانات من خلال استخدام الخصائص المتقدمة بتنسيق JSON.

يمكن ربط مصنع البيانات أو مسار Synapse بهويات مُدارة يحددها المستخدم، والتي تمثل مثيل الخدمة المحدد هذا. يمكنك استخدام هذه الهوية المدارة مباشرة لمصادقة Azure Cosmos DB، على غرار استخدام كيان الخدمة الخاص بك. يسمح لهذا المورد المعين بالوصول إلى البيانات ونسخها من أو إلى مثيل Azure Cosmos DB.

لاستخدام الهويات المُدارة المعينة من قبل المستخدم لمصادقة مورد Azure، اتبع هذه الخطوات.

  1. إنشاء هوية واحدة أو عدة هويات مدارة يعينها المستخدم ومنح الهوية المدارة المعينة من قبل المستخدم الإذن المناسب. راجع أمثلة حول كيفية عمل الإذن في Azure Cosmos DB من قوائم التحكم في الوصول على الملفات والدلائل. وبشكل أكثر تحديدًا، قم بإنشاء تعريف دور، وقم بتعيين الدور للهوية المُدارة التي يعينها المستخدم.

  2. تعيين هوية مدارة معينة من قبل المستخدم، واحدة أو متعددة، إلى مصنع البيانات وإنشاء بيانات اعتماد لكل هوية مدارة معينة من قبل المستخدم.

هذه الخصائص معتمدة للخدمة المرتبطة:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية النوع إلى CosmosDb. ‏‏نعم‬
حساب حدد عنوان URL لنقطة نهاية الحساب لمثيل Azure Cosmos DB. ‏‏نعم‬
قاعدة بيانات حدد اسم قاعدة البيانات. ‏‏نعم‬
بيانات الاعتماد حدد الهوية المدارة المعينة من قبل المستخدم ككائن بيانات الاعتماد. ‏‏نعم‬
connectVia يُستخدم وقت تشغيل التكامل للاتصال بمخزن البيانات. يمكنك استخدام وقت تشغيل تكامل Azure أو وقت تشغيل تكامل مستضاف ذاتياً إذا كان مخزن البيانات الخاص بك في شبكة خاصة. في حالة عدم التحديد، يُستخدم وقت تشغيل تكامل Azure الافتراضي. لا
subscriptionId حدد معرف الاشتراك لمثيل Azure Cosmos DB لا لنشاط النسخ، نعم لتعيين تدفق البيانات
tenantId تحديد معرف المستأجر لمثيل Azure Cosmos DB لا لنشاط النسخ، نعم لتعيين تدفق البيانات
resourceGroup حدد اسم مجموعة الموارد لمثيل Azure Cosmos DB لا لنشاط النسخ، نعم لتعيين تدفق البيانات

مثال:

{
    "name": "CosmosDbSQLAPILinkedService",
    "properties": {
        "type": "CosmosDb",
        "typeProperties": {
            "accountEndpoint": "<account endpoint>",
            "database": "<database name>",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            },
            "subscriptionId": "<subscription id>",
            "tenantId": "<tenant id>",
            "resourceGroup": "<resource group>"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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

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

يتم دعم الخصائص التالية لمجموعة بيانات Azure Cosmos DB ل NoSQL:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مجموعة البيانات إلى CosmosDbSqlApiCollection. ‏‏نعم‬
اسم المجموعة اسم مجموعة مستندات Azure Cosmos DB. ‏‏نعم‬

إذا كنت تستخدم مجموعة بيانات من النوع "DocumentDbCollection"، فلا تزال مدعومة كما هي للتوافق مع الإصدارات السابقة لنشاط النسخ والبحث، فهي غير مدعومة لتدفق البيانات. يُقترح عليك استخدام النموذج الجديد من الآن فصاعداً.

مثال

{
    "name": "CosmosDbSQLAPIDataset",
    "properties": {
        "type": "CosmosDbSqlApiCollection",
        "linkedServiceName":{
            "referenceName": "<Azure Cosmos DB linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [],
        "typeProperties": {
            "collectionName": "<collection name>"
        }
    }
}

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

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

Azure Cosmos DB ل NoSQL كمصدر

لنسخ البيانات من Azure Cosmos DB ل NoSQL، قم بتعيين نوع المصدر في نشاط النسخ إلى DocumentDbCollectionSource.

يتم اعتماد الخصائص التالية في قسم مصدر نشاط النسخ:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع مصدر نشاط النسخ إلى CosmosDbSqlApiSource. ‏‏نعم‬
استعلام حدد استعلام Azure Cosmos DB لقراءة البيانات.

مثال:
SELECT c.BusinessEntityID, c.Name.First AS FirstName, c.Name.Middle AS MiddleName, c.Name.Last AS LastName, c.Suffix, c.EmailPromotion FROM c WHERE c.ModifiedDate > \"2009-01-01T00:00:00\"
لا

إذا لم يتم تحديدها، يتم تنفيذ عبارة SQL هذه: select <columns defined in structure> from mycollection
المفضلة القائمة المفضلة للمناطق التي يجب الاتصال بها عند استرداد البيانات من Azure Cosmos DB. لا
مقاس الصفحة عدد المستندات لكل صفحة من نتيجة الاستعلام. الافتراضي هو "-1" ما يعني استخدام حجم الصفحة الديناميكي من جانب الخدمة حتى 1000. لا
كشف التاريخ ما إذا كان سيتم اكتشاف التاريخ والوقت من قيم السلسلة في المستندات. القيم المسموح بها هي "true" (افتراضي) و"false". لا

إذا كنت تستخدم مصدر نوع "DocumentDbCollectionSource"، فسيظل معتمداً كما هو للتوافق مع الإصدارات السابقة. يقترح عليك استخدام النموذج الجديد من الآن فصاعدا الذي يوفر قدرات أكثر ثراء لنسخ البيانات من Azure Cosmos DB.

مثال

"activities":[
    {
        "name": "CopyFromCosmosDBSQLAPI",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Cosmos DB for NoSQL input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "CosmosDbSqlApiSource",
                "query": "SELECT c.BusinessEntityID, c.Name.First AS FirstName, c.Name.Middle AS MiddleName, c.Name.Last AS LastName, c.Suffix, c.EmailPromotion FROM c WHERE c.ModifiedDate > \"2009-01-01T00:00:00\"",
                "preferredRegions": [
                    "East US"
                ]
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

عند نسخ البيانات من Azure Cosmos DB، ما لم تكن تريد تصدير مستندات JSON كما هي، فإن أفضل الممارسات هي تحديد التعيين في نشاط النسخ. تمنح الخدمة التعيين الذي حددته في النشاط - إذا كان الصف لا يحتوي على قيمة لعمود، يتم توفير قيمة فارغة لقيمة العمود. إذا لم تحدد تعييناً، تستنتج الخدمة المخطط باستخدام الصف الأول في البيانات. إذا كان الصف الأول لا يحتوي على المخطط الكامل، فستفقد بعض الأعمدة في نتيجة عملية النشاط.

Azure Cosmos DB ل NoSQL كمتلقي

لنسخ البيانات إلى Azure Cosmos DB ل NoSQL، قم بتعيين نوع المتلقي في نشاط النسخ إلى DocumentDbCollectionSink.

تُدعم الخصائص التالية في قسم متلقي نشاط النسخ:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية نوع متلقي نشاط النسخ إلى CosmosDbSqlApiSink. ‏‏نعم‬
writeBehavior يصف كيفية كتابة البيانات إلى Azure Cosmos DB. القيم المسموح بها: insert وupsert.

يتمثل سلوك upsert في استبدال المستند إذا كان المستند بنفس المعرف موجودا بالفعل؛ وإلا، فدرج المستند.

ملاحظة: تنشئ الخدمة تلقائيا معرفا لمستند إذا لم يتم تحديد معرف إما في المستند الأصلي أو عن طريق تعيين العمود. وهذا يعني أنه يجب عليك التأكد من أن المستند يحتوي على معرّف لكي يعمل upsert كما هو متوقع.
لا
(الافتراضي هو insert)
writeBatchSize تستخدم الخدمة مكتبة المنفذ المجمع Azure Cosmos DB لكتابة البيانات إلى Azure Cosmos DB. تتحكم الخاصية writeBatchSize في حجم المستندات التي توفرها الخدمة للمكتبة. يمكنك محاولة زيادة قيمة writeBatchSize لتحسين الأداء وتقليل القيمة إذا كان حجم المستند كبيرا - راجع التلميحات أدناه. لا
(الافتراضي هو 10,000)
disableMetricsCollection تجمع الخدمة مقاييس مثل وحدات طلب Azure Cosmos DB لتحسين أداء النسخ والتوصيات. إذا كنت مهتمًا بهذا السلوك، فحدد trueلإيقاف تشغيله. لا (الافتراضي هو false)
 maxConcurrentConnections الحد الأعلى للاتصالات المتزامنة التي تم إنشاؤها إلى مخزن البيانات أثناء تشغيل النشاط. حدد قيمة فقط عندما تريد تحديد الاتصالات المتزامنة.  لا

تلميح

لاستيراد مستندات JSON كما هي، راجع قسم استيراد مستندات JSON أو تصديرها؛ للنسخ من البيانات ذات الشكل الجدولي، راجع الترحيل من قاعدة البيانات الارتباطية إلى Azure Cosmos DB.

تلميح

يحد Azure Cosmos DB من حجم الطلب الفردي إلى 2 ميغابايت. الصيغة هي حجم الطلب = حجم المستند الفردي * حجم دفعة الكتابة. إذا واجهت خطأ يفيد بأن "حجم الطلب كبير جدا." قم بتقليل writeBatchSize القيمة في تكوين متلقي النسخ.

إذا كنت تستخدم مصدر نوع "DocumentDbCollectionSink"، فلا يزال معتمداً كما هو للتوافق مع الإصدارات السابقة. يقترح عليك استخدام النموذج الجديد من الآن فصاعدا الذي يوفر قدرات أكثر ثراء لنسخ البيانات من Azure Cosmos DB.

مثال

"activities":[
    {
        "name": "CopyToCosmosDBSQLAPI",
        "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": "CosmosDbSqlApiSink",
                "writeBehavior": "upsert"
            }
        }
    }
]

تعيين المخطط

لنسخ البيانات من Azure Cosmos DB إلى متلقي جدولي أو عكسها، راجع تعيين المخطط.

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

عند تحويل البيانات في تعيين تدفق البيانات، يمكنك القراءة والكتابة إلى المجموعات في Azure Cosmos DB. لمزيد من المعلومات، راجع تحويل المصدر و تحويل المتلقي في تعيين تدفقات البيانات.

إشعار

لا يتم دعم Azure Cosmos DB بلا خادم في تعيين تدفق البيانات.

تحويل المصدر

تتوفر الإعدادات الخاصة ب Azure Cosmos DB في علامة التبويب خيارات المصدر لتحويل المصدر.

تضمين أعمدة النظام: إذا كانت صحيحة، _tsidسيتم تضمين أعمدة النظام الأخرى، و، في بيانات تعريف تدفق البيانات من Azure Cosmos DB. عند تحديث المجموعات، من المهم تضمين ذلك حتى تتمكن من الحصول على معرف الصف الحالي.

حجم الصفحة: عدد المستندات لكل صفحة من نتائج الاستعلام. الافتراضي هو "-1" الذي يستخدم صفحة الخدمة الديناميكية حتى 1000.

معدل النقل: قم بتعيين قيمة اختيارية لعدد وحدات الطلب التي ترغب في تطبيقها على مجموعة Azure Cosmos DB لكل تنفيذ لتدفق البيانات هذا أثناء عملية القراءة. الحد الأدنى 400.

المناطق المفضلة: اختر مناطق القراءة المفضلة لهذه العملية.

موجز التغيير: إذا كان صحيحًا، فستحصل على البيانات من موجز تغيير Azure Cosmos DB وهو سجل مستمر للتغييرات التي تم إجراؤها على حاوية بالترتيب الذي تحدث به من آخر تشغيل تلقائي. عند تعيينه صحيحًا، لا تقم بتعيين كلًا منأنواع الأعمدة المنجرفة للاستدلال و السماح بانحراف المخطط على أنه صحيح في نفس الوقت. لمزيد من التفاصيل، راجع موجز تغيير Azure Cosmos DB).

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

تحويل المتلقي

تتوفر الإعدادات الخاصة ب Azure Cosmos DB في علامة التبويب Settings لتحويل المتلقي.

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

إجراء المجموعة: يحدد ما إذا كان يجب إعادة إنشاء مجموعة الوجهة قبل الكتابة.

  • بلا: لن يتم تنفيذ أي إجراء للمجموعة.
  • إعادة الإنشاء: سيتم حذف المجموعة وإعادة إنشائها

حجم الدفعة: عدد صحيح يمثل عدد الكائنات التي تتم كتابتها إلى مجموعة Azure Cosmos DB في كل دفعة. عادةً ما يكون البدء بحجم الدُفعة الافتراضي كافياً. لضبط هذه القيمة بشكل أكبر، لاحظ:

  • يحد Azure Cosmos DB من حجم الطلب الفردي إلى 2 ميغابايت. الصيغة هي "حجم الطلب = حجم المستند الفردي * حجم الدُفعة". إذا واجهت خطأ يقول "حجم الطلب كبير جداً"، فقم بتقليل قيمة حجم الدُفعة.
  • كلما كان حجم الدُفعة أكبر، زادت الإنتاجية التي يمكن أن تحققها الخدمة، مع التأكد من تخصيص وحدات الطلب كافية لتعزيز عبء العمل لديك.

مفتاح القسم: أدخل سلسلة تمثل مفتاح القسم لمجموعتك. مثال: /movies/title

معدل النقل: قم بتعيين قيمة اختيارية لعدد وحدات الطلب التي ترغب في تطبيقها على مجموعة Azure Cosmos DB لكل تنفيذ لتدفق البيانات هذا. الحد الأدنى 400.

موازنة معدل النقل للكتابة: عدد صحيح يمثل وحدات الطلب التي تريد تخصيصها لعملية كتابة تدفق البيانات هذه، من إجمالي معدل النقل المخصص للمجموعة.

إشعار

للحد من استخدام وحدة الطلب، يرجى تعيين معدل نقل Cosmos DB (التحجيم التلقائي) إلى يدوي.

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

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

استيراد وتصدير مستندات JSON

يمكنك استخدام موصل Azure Cosmos DB ل NoSQL هذا بسهولة:

  • انسخ المستندات بين مجموعتي Azure Cosmos DB كما هي.
  • استيراد مستندات JSON من مصادر مختلفة إلى Azure Cosmos DB، بما في ذلك تخزين Azure Blob ومخزن تجميع بيانات Azure والمتاجر الأخرى المستندة إلى الملفات التي تدعمها الخدمة.
  • تصدير مستندات JSON من مجموعة Azure Cosmos DB إلى مختلف المتاجر المستندة إلى الملفات.

لتحقيق نسخ غير محدد المخطط:

  • عند استخدام أداة Copy Data، حدد خيار Export as-is to JSON files أو Azure Cosmos DB collection .
  • عند استخدام تأليف النشاط، اختر تنسيق JSON مع مخزن الملفات المقابل للمصدر أو المتلقي.

الترحيل من قاعدة البيانات الارتباطية إلى Azure Cosmos DB

عند الترحيل من قاعدة بيانات ارتباطية e.g. SQL Server إلى Azure Cosmos DB، يمكن لنشاط النسخ تعيين البيانات الجدولية بسهولة من المصدر إلى تسوية مستندات JSON في Azure Cosmos DB. في بعض الحالات، قد تحتاج إلى إعادة تصميم نموذج البيانات لتحسينه لحالات استخدام NoSQL وفقا لنمذجة البيانات في Azure Cosmos DB، على سبيل المثال، لإلغاء تطبيع البيانات عن طريق تضمين جميع العناصر الفرعية ذات الصلة في مستند JSON واحد. لهذه الحالة، راجع هذه المقالة مع إرشادات حول كيفية تحقيق ذلك باستخدام نشاط النسخ.

موجز تغيير قاعدة بيانات Azure Cosmos

يمكن لـ Azure Data Factory الحصول على البيانات من موجز تغيير Azure Cosmos DB عن طريق تمكينها في تعيين تحويل مصدر تدفق البيانات. باستخدام خيار الموصل هذا، يمكنك قراءة موجزات التغيير وتطبيق عمليات التحويل قبل تحميل البيانات المحولة إلى مجموعات بيانات الوجهة التي تختارها. لا يتعين عليك استخدام وظائف Azure لقراءة موجز التغيير ثم كتابة التحويلات المخصصة. يمكنك استخدام هذا الخيار لنقل البيانات من حاوية إلى أخرى، وإعداد طرق عرض المواد التي تعتمد على التغذية للتغيير لغرض الملاءمة أو أتمتة النسخ الاحتياطي أو الاسترداد للحاوية بناءً على تغذية التغيير، وتمكين العديد من حالات الاستخدام هذه باستخدام إمكانية السحب والإفلات المرئية لـ Azure Data Factory.

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

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

في قسم المراقبة، دائمًا لديك فرصة لإعادة تشغيل المسار. عند القيام بذلك، يتم دائمًا التقاط البيانات التي تم تغييرها من نقطة التحقق السابقة لتشغيل المسار المحدد.

بالإضافة إلى ذلك، يدعم المخزن التحليلي Azure Cosmos DB الآن Change Data Capture (CDC) لواجهة برمجة تطبيقات Azure Cosmos DB ل NoSQL وAzure Cosmos DB API ل Mongo DB (معاينة عامة). يسمح لك مخزن Azure Cosmos DB التحليلي باستهلاك موجز مستمر وتدريجي للبيانات المتغيرة (المدرجة والمحدثة والمحذوفة) بكفاءة من المخزن التحليلي.

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