قم بنسخ البيانات من مصدر OData باستخدام Azure Data Factory أو Synapse Analytics

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

تلميح

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

توضح هذه المقالة كيفية استخدام Copy Activity في Azure Data Factory أو البنيات الأساسية لـ Synapse Analytics لنسخ البيانات من مصدر OData. تعتمد هذه المقالة على مقالة نشاط النسخ التي تقدم نظرة عامة على نشاط النسخ.

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

يعتمد موصل OData في الإمكانيات التالية:

القدرات المدعومة IR
نشاط النسخ (مصدر/-) ① ②
نشاط البحث ① ②

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

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

وبوجه خاص، يدعم موصل OData هذا:

  • OData الإصدار 2.0 و3.0 و4.0.
  • نسخ البيانات باستخدام إحدى المصادقات التالية: مجهول وأساسي وWindows وMicrosoft Entra كيان الخدمة.

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

إذا كان مخزن البيانات الخاص بك موجوداً داخل شبكة محلية، أو شبكة Azure ظاهرية، أو Amazon Virtual Private Cloud، فأنت بحاجة إلى تكوين وقت تشغيل تكامل مستضاف ذاتياً للاتصال به.

إذا كان مخزن البيانات الخاص بك عبارة عن خدمة بيانات سحابية مُدارة، يمكنك استخدام Azure Integration Runtime. إذا كان الوصول مقتصراً على عناوين IP التي تمت الموافقة عليها في قواعد جدار الحماية، يمكنك إضافة عناوين IP لـ Azure Integration Runtime إلى قائمة السماح.

يمكنك أيضاً استخدام ميزة وقت تشغيل تكامل الشبكة الظاهرية المُدارة في Azure Data Factory للوصول إلى الشبكة المحلية دون تثبيت وقت تشغيل تكامل مستضاف ذاتياً وتكوينه.

لمزيد من المعلومات حول آليات وخيارات أمان الشبكة التي يدعمها Data Factory، راجع إستراتيجيات الوصول إلى البيانات.

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

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

قم بإنشاء خدمة مرتبطة إلى متجر OData باستخدام واجهة المستخدم

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

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

  2. قم بالالبحث عن OData وحدد موصل OData.

    Screenshot of the OData connector.

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

    Screenshot of linked service configuration for an OData store.

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

توفر الأقسام التالية تفاصيل حول الخصائص التي يمكنك إستخدامها لتحديد كيانات Data Factory الخاصة بموصل OData.

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

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

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية type إلى OData. ‏‏نعم‬
عنوان URL URL الجذر لخدمة OData. ‏‏نعم‬
نوع المصادقة نوع المصادقة المستخدمة للاتصال بمصدر OData. القيم المسموح بها هي Anonymous، Basic و، Windows، و AadServicePrincipal. لا يتم اعتماد OAuth المستندة إلى المستخدم. يمكنك أيضاً تكوين رءوس المصادقة في الخاصية authHeader. ‏‏نعم‬
authHeaders رؤوس طلب HTTP إضافية للمصادقة.
على سبيل المثال، لاستخدام مصادقة مفتاح API، يمكنك تحديد نوع المصادقة ك "Anonymous" وتحديد مفتاح API في العنوان.
لا
userName تحديد اسم المستخدم إذا كنت تستخدم المصادقة الأساسية أو Windows. لا
كلمة المرور حدد كلمة المرور لحساب المستخدم الذي حددته ل userName. وضع علامة على هذا الحقل كنوع SecureString لتخزينه بشكل آمن. يمكنك أيضًا الإشارة إلى سر مخزن في Azure Key Vault. لا
servicePrincipalId حدد معرف عميل تطبيق Microsoft Entra. لا
aadServicePrincipalCredentialType حدد نوع بيانات الاعتماد لاستخدامه للمصادقة الأساسية للخدمة. القيم المسموح بها هي ServicePrincipalKey و ServicePrincipalCert. لا
servicePrincipalKey حدد مفتاح تطبيق Microsoft Entra. ضَع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو أشر إلى أحد بيانات سرية مخزنة في Azure Key Vault. لا
servicePrincipalEmbeddedCert حدد الشهادة المشفرة base64 للتطبيق الخاص بك المسجلة في معرف Microsoft Entra، وتأكد من أن نوع محتوى الشهادة هو PKCS #12. ضَع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو أشر إلى أحد بيانات سرية مخزنة في Azure Key Vault. لا
servicePrincipalEmbeddedCertPassword حدد كلمة مرور الشهادة إذا تم تأمين الشهادة بكلمة مرور. ضَع علامة على هذا الحقل باعتباره SecureString لتخزينه بشكل آمن، أو أشر إلى أحد بيانات سرية مخزنة في Azure Key Vault. لا
tenant حدد معلومات المستأجر (اسم المجال أو معرف المستأجر) التي يوجد داخلها التطبيق. يمكنك إستردادها عن طريق تحريك الماوس في الركن العلوي الأيمن من بوابة Azure. لا
aadResourceId حدد مورد Microsoft Entra الذي تطلبه للتخويل. لا
azureCloudType للمصادقة الأساسية للخدمة، حدد نوع بيئة سحابة Azure التي تم تسجيل تطبيق Microsoft Entra إليها.
القيم المسموح بها هي AzurePublic، وAzureChina، وAzureUsGovernment، وAzureGermany. يتم استخدام بيئة السحابة للخدمة بشكل افتراضي.
لا
connectVia وقت تشغيل التكامل المطلوب استخدامه للاتصال بمخزن البيانات. تعرف على المزيد من قسم المتطلبات الأساسية. إذا لم يتم التحديد، يتم استخدام وقت تشغيل تكامل Azure الافتراضي. لا

مثال 1: استخدام مصادقة Anonymous

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "https://services.odata.org/OData/OData.svc",
            "authenticationType": "Anonymous"
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مثال 2: استخدام المصادقة Basic

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "Basic",
            "userName": "<user name>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مثال 3: استخدام مصادقة Windows

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "Windows",
            "userName": "<domain>\\<user>",
            "password": {
                "type": "SecureString",
                "value": "<password>"
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

مثال 4: استخدام مصادقة مفتاح الخدمة الأساسي

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "AadServicePrincipal",
            "servicePrincipalId": "<service principal id>",
            "aadServicePrincipalCredentialType": "ServicePrincipalKey",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "aadResourceId": "<AAD resource URL>"
        }
    },
    "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
    }
}

مثال 5: استخدام مصادقة شهادة الخدمة الرئيسية

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "AadServicePrincipal",
            "servicePrincipalId": "<service principal id>",
            "aadServicePrincipalCredentialType": "ServicePrincipalCert",
            "servicePrincipalEmbeddedCert": { 
                "type": "SecureString", 
                "value": "<base64 encoded string of (.pfx) certificate data>"
            },
            "servicePrincipalEmbeddedCertPassword": { 
                "type": "SecureString", 
                "value": "<password of your certificate>"
            },
            "tenant": "<tenant info, e.g. microsoft.onmicrosoft.com>",
            "aadResourceId": "<AAD resource e.g. https://tenant.sharepoint.com>"
        }
    },
    "connectVia": {
        "referenceName": "<name of Integration Runtime>",
        "type": "IntegrationRuntimeReference"
    }
}

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

{
    "name": "ODataLinkedService",
    "properties": {
        "type": "OData",
        "typeProperties": {
            "url": "<endpoint of OData source>",
            "authenticationType": "Anonymous",
            "authHeader": {
                "APIKey": {
                    "type": "SecureString",
                    "value": "<API key>"
                }
            }
        },
        "connectVia": {
            "referenceName": "<name of Integration Runtime>",
            "type": "IntegrationRuntimeReference"
        }
    }
}

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

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

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

لنسخ البيانات من OData، قم بتعيين خاصية type لمجموعة البيانات إلى ODataResource. تدعم الخصائص التالية:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية type لمجموعة البيانات إلى ODataResource. ‏‏نعم‬
path المسار إلى مورد OData. ‏‏نعم‬

مثال

{
    "name": "ODataDataset",
    "properties":
    {
        "type": "ODataResource",
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<OData linked service name>",
            "type": "LinkedServiceReference"
        },
        "typeProperties":
        {
            "path": "Products"
        }
    }
}

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

يوفر هذا القسم قائمة بالخصائص التي يدعمها مصدر OData.

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

OData كمصدر

لنسخ البيانات من OData، يتم اعتماد الخصائص التالية في قسم مصدرCopy Activity:

الخاصية الوصف مطلوب
النوع يجب تعيين خاصية type لمصدر Copy Activity إلى ODataSource. ‏‏نعم‬
استعلام خيارات استعلام OData لتصفية البيانات. مثال:"$select=Name,Description&$top=5".

ملاحظة:رابط OData نسخ البيانات من URL المدمج: [URL specified in linked service]/[path specified in dataset]?[query specified in copy activity source] . لمزيد من المعلومات، راجع مكونات عنوان URL OData.
لا
httpRequestTimeout المهلة (قيمة TimeSpan) لطلب HTTP للحصول على استجابة. هذه القيمة هي المهلة للحصول على استجابة، وليست المهلة لقراءة بيانات الاستجابة. إذا لم يتم التحديد، فإن القيمة الافتراضية هي 00:30:00 (30 دقيقة). لا

مثال

"activities":[
    {
        "name": "CopyFromOData",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<OData input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "ODataSource",
                "query": "$select=Name,Description&$top=5"
            },
            "sink": {
                "type": "<sink type>"
            }
        }
    }
]

إذا كنت تستخدم المصدر المصنف حسب النوع RelationalSource، فلا يزال هذا المصدر مدعوماً كما هو، بينما نقترح عليك استخدام المصدر الجديد للمضي قدماً.

تعيين نوع البيانات ل OData

عند نسخ البيانات من OData، يتم استخدام التعيينات التالية بين أنواع بيانات OData وأنواع البيانات المؤقتة المستخدمة داخل الخدمة داخليًا. لمعرفة كيفية تعيين "Copy Activity" للمخطط المصدر ونوع البيانات إلى المتلقي، راجع المخطط وتعيينات نوع البيانات.

نوع بيانات OData نوع بيانات الخدمة المؤقتة
Edm.Binary بايت []
Edm.Boolean مجموعة
Edm.Byte بايت []
Edm.DateTime DateTime
Edm.Decimal عدد عشري
Edm.Double مزدوج
Edm.Single فردي
Edm.Guid Guid
Edm.Int16 Int16
Edm.Int32 Int32
Edm.Int64 Int64
Edm.SByte Int16
Edm.String السلسلة‬
Edm.Time TimeSpan
Edm.DateTimeOffset DateTimeOffset

إشعار

أنواع البيانات المعقدة OData (مثل Object) غير معتمدة.

قم بنسخ البيانات من Project Online

يتطلب Project Online OAuth المستند إلى المستخدم، وهو غير معتمد من قبل Azure Data Factory. لنسخ البيانات من Project Online، يمكنك استخدام موصل OData ورمز وصول تم الحصول عليه من أدوات مثل Postman.

تنبيه

تنتهي صلاحية الرمز المميز للوصول في غضون ساعة واحدة بشكل افتراضي، تحتاج إلى الحصول على رمز وصول مميز جديد عند انتهاء صلاحيته.

  1. استخدم Postman للحصول على رمز الوصول:

    1. انتقل إلى علامة تبويب "Authorization" على موقع Postman.

    2. في خانة Type ، حدد OAuth 2.0، وفي خانة Add authorization data to ، حدد طلب Headers.

    3. قم بتعبئة المعلومات التالية في صفحة تكوين الرمز المميز الجديد للحصول على رمز وصول مميز جديد:

      • Grant type: حدد Authorization Code.
      • Callback URL: Enter https://www.localhost.com/
      • Auth URL: Enter https://login.microsoftonline.com/common/oauth2/authorize?resource=https://<your tenant name>.sharepoint.com. استبدل <your tenant name> باسم المستأجر الخاص بك.
      • الوصول إلى عنوان URL المميز: Enter https://login.microsoftonline.com/common/oauth2/token .
      • معرف العميل: أدخل معرف كيان خدمة Microsoft Entra.
      • سر العميل: أدخل سر الخدمة الرئيسية.
      • مصادقة العميل: حدد إرسال كرأس أساسي ل Auth.
    4. سيطلب منك تسجيل الدخول باستخدام اسم المستخدم وكلمة المرور.

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

    Screenshot of using Postman to get the access token.

  2. إنشاء خدمة OData المرتبطة:

    • عنوان URL للخدمة: أدخل https://<your tenant name>.sharepoint.com/sites/pwa/_api/Projectdata . استبدل <your tenant name> باسم المستأجر الخاص بك.
    • نوع المصادقة: حدد Anonymous.
    • رؤوس المصادقة:
      • اسم الخاصية: اختر التخويل.
      • ضمن VALUE، أدخل Bearer <access token from step 1>.
    • قم باختبار الخدمة المرتبطة.

    Create OData linked service

  3. قم بإنشاء مجموعة بيانات OData:

    1. قم بإنشاء مجموعة البيانات مع خدمة OData المرتبطة التي تم إنشاؤها في الخطوة رقم 2.
    2. معاينة البيانات.

    Preview data

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

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

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