نسخ البيانات وتحويلها من Microsoft 365 (Office 365) إلى Azure باستخدام Azure Data Factory أو Synapse Analytics

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

تلميح

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

تتكامل مسارات Azure Data Factory و Synapse Analytics مع Microsoft Graph Data Connect، مما يسمح لك بإحضار البيانات التنظيمية الغنية في مستأجر Microsoft 365 (Office 365) إلى Azure بطريقة قابلة للتطوير وإنشاء تطبيقات تحليلات واستخراج الرؤى استنادًا إلى أصول البيانات القيمة هذه. يوفر التكامل مع إدارة الوصول المميز تحكمًا آمنًا في الوصول للبيانات المنسقة القيمة في Microsoft 365 (Office 365). يرجى الرجوع إلى هذا الارتباط للحصول على نظرة عامة حول اتصال بيانات Microsoft Graph.

توضح هذه المقالة كيفية استخدام نشاط النسخ لنسخ البيانات وتدفق البيانات لتحويل البيانات من Microsoft 365 (Office 365). للحصول على مقدمة لنسخ البيانات، اقرأ نظرة عامة على نشاط النسخ. للحصول على مقدمة لتحويل البيانات، اقرأ نظرة عامة على تعيين تدفق البيانات.

إشعار

موصل Microsoft 365 Data Flow قيد المعاينة حاليا. للمشاركة، استخدم نموذج التسجيل هذا: M365 + Analytics Preview.

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

موصل Microsoft 365 (Office 365) هذا مدعوم للقدرات التالية:

القدرات المدعومة IR
نشاط النسخ (مصدر/-)
تعيين تدفق البيانات (مصدر البيانات/-)

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

يتيح موصل ADF Microsoft 365 (Office 365) وبيانات Microsoft Graph الاتصال استيعاب أنواع مختلفة من مجموعات البيانات على نطاق واسع من علب بريد Exchange Email الممكنة، بما في ذلك جهات اتصال دفتر العناوين وأحداث التقويم ورسائل البريد الإلكتروني ومعلومات المستخدم وإعدادات علبة البريد وما إلى ذلك. يُرجى الانتقال إلى هذا الرابط للاطّلاع على القائمة الكاملة لمجموعات البيانات المتوفرة.

في الوقت الحالي، ضمن نشاط نسخة واحدة وتدفق البيانات، يمكنك فقط استيعاب البيانات من Microsoft 365 (Office 365) في Azure Blob Storage وAzure Data Lake Storage Gen1 وAzure Data Lake Storage Gen2 بتنسيق JSON (اكتب setOfObjects). عند النسخ إلى Azure Blob Storage، يكون الإخراج كائن ثنائي كبير الحجم يحتوي على نص JSON. إذا كنت تريد تحميل Microsoft 365 (Office 365) إلى أنواع أخرى من مخازن البيانات أو بتنسيقات أخرى، يمكنك ربط نشاط النسخ الأول أو تدفق البيانات بنشاط لاحق لتحميل البيانات إلى أي من مخازن وجهة ADF المدعومة (راجع العمود "معتمد كمتلقي" في جدول "مخازن البيانات والتنسيقات المدعومة").

هام

  • يجب أن يكون اشتراك Azure الذي يحتوي على مصنع البيانات أو مساحة عمل Synapse ومخزن بيانات المتلقي ضمن نفس مستأجر Microsoft Entra مثل مستأجر Microsoft 365 (Office 365).
  • تأكد من أن منطقة Azure Integration Runtime المستخدمة لنشاط النسخ وكذلك الوجهة موجودة في نفس المنطقة التي يوجد بها صندوق بريد مستخدمي Microsoft 365 (Office 365). يمكنك الانتقال إلى هذا الرابط لفهم كيفية تحديد مكان Azure Integration Runtime. ويمكنك الانتقال إلى هذا الجدول للحصول على قائمة مناطق Office المعتمَدة ومناطق Azure المطابقة.
  • مصادقة Service Principal هي آلية المصادقة الوحيدة المعتمَدة لكل من Azure Blob Storage وAzure Data Lake Storage Gen1 وAzure Data Lake Storage Gen2 بصفتها مخازن وجهات.

إشعار

يرجى استخدام وقت تشغيل تكامل Azure في كل من الخدمات المرتبطة بالمصدر والمتلقي. وقت تشغيل التكامل المستضاف ذاتيًا ووقت تشغيل تكامل الشبكة الظاهرية المدارة غير مدعومين.

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

لنسخ البيانات وتحويلها من Microsoft 365 (Office 365) إلى Azure، تحتاج إلى إكمال خطوات المتطلبات الأساسية التالية:

  • يجب أن يكمل مسؤول المستأجر في Microsoft 365 (Office 365) الإجراءات الداخلية كما هو موضح هنا.
  • إنشاء وتكوين تطبيق ويب Microsoft Entra في معرف Microsoft Entra. للحصول على الإرشادات، راجع إنشاء تطبيق Microsoft Entra.
  • دون القيم التالية التي ستستخدمها لتعريف الخدمة المرتبطة ل Microsoft 365 (Office 365):
  • أضف هوية المستخدم الذي سيقوم بإجراء طلب الوصول إلى البيانات كمالك لتطبيق ويب Microsoft Entra (من تطبيق > ويب Microsoft Entra الإعدادات > المالكين > إضافة مالك).
    • يجب أن تكون هوية المستخدم في مؤسسة Microsoft 365 (Office 365) التي تحصل على البيانات منها ويجب ألا تكون مستخدم ضيف.

الموافقة على الطلبات الجديدة الخاصة بالوصول إلى البيانات

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

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

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

تلميح

للحصول على معاينة لاستخدام موصل Microsoft 365 (Office 365)، راجع مقالة تحميل البيانات من Microsoft 365 (Office 365 ).

يمكنك إنشاء مسار مع نشاط النسخ وتدفق البيانات باستخدام إحدى الأدوات أو SDKs التالية. ما عليك سوى اختيار رابط للانتقال إلى برنامج تعليمي يتضمن إرشادات خطوة بخطوة لإنشاء إحدى مسارات نشاط النسخ.

أنشئ خدمة مرتبطة بـ Microsoft 365 (Office 365) باستخدام واجهة المستخدم

استخدم الخطوات التالية لإنشاء خدمة مرتبطة بـ Microsoft 365 (Office 365) في واجهة مستخدم مدخل Microsoft Azure.

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

  2. ابحث عن Microsoft 365 (Office 365) وحدد موصل Microsoft 365 (Office 365).

    Screenshot of the Microsoft 365 (Office 365) connector.

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

    Screenshot of linked service configuration for Microsoft 365 (Office 365).

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

توفر الأقسام التالية تفاصيل حول الخصائص المستخدمة لتحديد كيانات Data Factory الخاصة بموصل Microsoft 365 (Office 365).

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

الخصائص التالية مدعومة لخدمة Microsoft 365 (Office 365) المرتبطة:

الخاصية الوصف مطلوب
النوع يجب ضبط خاصية النوع على: Office 365. ‏‏نعم‬
office365TenantId معرف مستأجر Azure الذي ينتمي إليه حساب Microsoft 365 (Office 365). ‏‏نعم‬
servicePrincipalTenantId حدد معلومات المستأجر التي يوجد بموجبها تطبيق ويب Microsoft Entra الخاص بك. ‏‏نعم‬
servicePrincipalId حدد معرّف عميل التطبيق. ‏‏نعم‬
servicePrincipalKey حدِّد مفتاح التطبيق. قم بتمييز هذا الحقل على أنه SecureString لتخزينه بشكل آمن. ‏‏نعم‬
connectVia Integration Runtime الذي سيتم استخدامه للاتصال بمخزن البيانات. إذا لم يتم تحديده، فإنه يستخدم Azure Integration Runtime الافتراضي. لا

إشعار

الفرق بين office365TenantId وservicePrincipalTenantId والقيمة المقابلة لتوفير:

  • إذا كنت مطور مؤسسة تقوم بتطوير تطبيق مقابل بيانات Microsoft 365 (Office 365) لاستخدام مؤسستك، فيجب عليك توفير معرف المستأجر نفسه لكلتا الخاصيتين، وهو معرف مستأجر Microsoft Entra لمؤسستك.
  • إذا كنت مطور ISV تقوم بتطوير تطبيق لعملائك، فسيكون office365TenantId هو معرف مستأجر Microsoft Entra الخاص بالعميل (مثبت التطبيق) وسيكون servicePrincipalTenantId هو معرف مستأجر Microsoft Entra الخاص بشركتك.

مثال:

{
    "name": "Office365LinkedService",
    "properties": {
        "type": "Office365",
        "typeProperties": {
            "office365TenantId": "<Microsoft 365 (Office 365) tenant id>",
            "servicePrincipalTenantId": "<AAD app service principal tenant id>",
            "servicePrincipalId": "<AAD app service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<AAD app service principal key>"
            }
        }
    }
}

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

للحصول على قائمة كاملة بالأقسام والخصائص المتوفرة لتعريف مجموعات البيانات، راجع مقالة مجموعات البيانات. يوفر هذا القسم قائمة بالخصائص التي تدعمها مجموعة بيانات Microsoft 365 (Office 365).

لنسخ البيانات من Microsoft 365 (Office 365)، يتم دعم الخصائص التالية:

الخاصية الوصف مطلوب
النوع يجب ضبط خاصية نوع مجموعة البيانات على: Office365Table ‏‏نعم‬
اسم الجدول اسم مجموعة البيانات المراد استخراجها من Microsoft 365 (Office 365). انقر هنا للحصول على قائمة مجموعات بيانات Microsoft 365 (Office 365) المتاحة للاستخراج. ‏‏نعم‬

إذا كنت تقوم بإعداد dateFilterColumn وstartTime وendTime وuserScopeFilterUri في مجموعة البيانات، فإنها لا تزال مدعومة كما هي، إلا أننا نقترح عليك استخدام النموذج الجديد في مصدر النشاط من الآن فصاعدًا.

مثال

{
    "name": "DS_May2019_O365_Message",
    "properties": {
        "type": "Office365Table",
        "linkedServiceName": {
            "referenceName": "<Microsoft 365 (Office 365) linked service name>",
            "type": "LinkedServiceReference"
        },
        "schema": [],
        "typeProperties": {
            "tableName": "BasicDataSet_v0.Event_v1"
        }
    }
}

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

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

Microsoft 365 (Office 365) كمصدر

لنسخ البيانات من Microsoft 365 (Office 365)، يتم دعم الخصائص التالية في قسم مصدر نشاط النسخ:

الخاصية الوصف مطلوب
النوع يجب ضبط خاصية النوع لمصدر نشاط النسخ على: Office365Source ‏‏نعم‬
allowedGroups هي دالة تقييم تحديد المجموعة. استخدم هذه الخاصية لتحديد ما يصل إلى 10 مجموعات مستخدمين سيتم استرداد البيانات لهم. إذا لم يتم تحديد أي مجموعة، فسيتم استرداد البيانات للمؤسسة بأكملها. لا
userScopeFilterUri عندما لا يتم تحديد allowedGroups الخاصية، يمكنك استخدام تعبير أصلي يتم تطبيقه على المستأجر بأكمله لتصفية الصفوف المحددة لاستخراجها من Microsoft 365 (Office 365). يجب أن يتطابق تنسيق دالة التقييم مع تنسيق الاستعلام لواجهات برمجة التطبيقات Microsoft Graph، على سبيل المثال https://graph.microsoft.com/v1.0/users?$filter=Department eq 'Finance'. لا
dateFilterColumn هو اسم عمود عامل التصفية DateTime. استخدم هذه الخاصية لتحديد النطاق الزمني الذي يتم من أجله استخراج بيانات Microsoft 365 (Office 365). اختَر "نعم" إذا كانت مجموعة البيانات تتضمن أحد أعمدة DateTime أو أكثر. راجِع هذا الرابط للحصول على قائمة بمجموعات البيانات التي تتطلب عامل التصفية DateTime هذا.
startTime أدخِل القيمة Start DateTime الخاصة بالتصفية. اختَر "نعم" إذا تم تحديد dateFilterColumn
endTime أدخِل القيمة End DateTime الخاصة بالتصفية. اختَر "نعم" إذا تم تحديد dateFilterColumn
outputColumns صفيف الأعمدة لنسخها إلى المتلقي. لا

مثال:

"activities": [
    {
        "name": "CopyFromO365ToBlob",
        "type": "Copy",
        "inputs": [
            {
                "referenceName": "<Microsoft 365 (Office 365) input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ],
        "typeProperties": {
            "source": {
                "type": "Office365Source",
                "dateFilterColumn": "CreatedDateTime",
                "startTime": "2019-04-28T16:00:00.000Z",
                "endTime": "2019-05-05T16:00:00.000Z",
                "userScopeFilterUri": "https://graph.microsoft.com/v1.0/users?$filter=Department eq 'Finance'",
                "outputColumns": [
                    {
                        "name": "Id"
                    },
                    {
                        "name": "CreatedDateTime"
                    },
                    {
                        "name": "LastModifiedDateTime"
                    },
                    {
                        "name": "ChangeKey"
                    },
                    {
                        "name": "Categories"
                    },
                    {
                        "name": "OriginalStartTimeZone"
                    },
                    {
                        "name": "OriginalEndTimeZone"
                    },
                    {
                        "name": "ResponseStatus"
                    },
                    {
                        "name": "iCalUId"
                    },
                    {
                        "name": "ReminderMinutesBeforeStart"
                    },
                    {
                        "name": "IsReminderOn"
                    },
                    {
                        "name": "HasAttachments"
                    },
                    {
                        "name": "Subject"
                    },
                    {
                        "name": "Body"
                    },
                    {
                        "name": "Importance"
                    },
                    {
                        "name": "Sensitivity"
                    },
                    {
                        "name": "Start"
                    },
                    {
                        "name": "End"
                    },
                    {
                        "name": "Location"
                    },
                    {
                        "name": "IsAllDay"
                    },
                    {
                        "name": "IsCancelled"
                    },
                    {
                        "name": "IsOrganizer"
                    },
                    {
                        "name": "Recurrence"
                    },
                    {
                        "name": "ResponseRequested"
                    },
                    {
                        "name": "ShowAs"
                    },
                    {
                        "name": "Type"
                    },
                    {
                        "name": "Attendees"
                    },
                    {
                        "name": "Organizer"
                    },
                    {
                        "name": "WebLink"
                    },
                    {
                        "name": "Attachments"
                    },
                    {
                        "name": "BodyPreview"
                    },
                    {
                        "name": "Locations"
                    },
                    {
                        "name": "OnlineMeetingUrl"
                    },
                    {
                        "name": "OriginalStart"
                    },
                    {
                        "name": "SeriesMasterId"
                    }
                ]
            },
            "sink": {
                "type": "BlobSink"
            }
        }
    }
]

تحويل البيانات باستخدام موصل Microsoft 365

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

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

لإنشاء تدفق بيانات تعيين باستخدام موصل Microsoft 365 كمصدر، أكمل الخطوات التالية:

  1. في ADF Studio، انتقل إلى قسم Data flows في مركز Author ، وحدد الزر ... لإفلات قائمة إجراءات تدفق البيانات، وحدد عنصر تدفق البيانات الجديد. قم بتشغيل وضع تتبع الأخطاء باستخدام الزر Data flow debug في الشريط العلوي من لوحة تدفق البيانات.

    Screenshot of the data flow debug button in mapping data flow.

  2. في محرر تعيين تدفق البيانات، حدد إضافة مصدر.

    Screenshot of add source in mapping data flow.

  3. في علامة التبويب إعدادات المصدر، حدد مضمن في خاصية نوع المصدر وMicrosoft 365 (Office 365) في نوع مجموعة البيانات المضمنة وخدمة Microsoft 365 المرتبطة التي قمت بإنشائها سابقا.

    Screenshot of the select dataset option in source settings of mapping data flow source.

  4. في علامة التبويب خيارات المصدر حدد اسم الجدول لجدول Microsoft 365 الذي ترغب في تحويله. حدد أيضا خيار التسطيح التلقائي لتحديد ما إذا كنت ترغب في تدفق البيانات لتسوية مجموعة البيانات المصدر تلقائيا.

    Screenshot of the source options of mapping data flow source.

  5. بالنسبة إلى علامات التبويب Projection و Optimizeو Inspect، يرجى اتباع تعيين تدفق البيانات.

  6. في علامة التبويب معاينة البيانات، انقر فوق الزر تحديث لإحضار عينة مجموعة بيانات للتحقق من الصحة.

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