نسخ البيانات وإرسال إعلامات البريد الإلكتروني حول النجاح والفشل

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

تلميح

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

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

نظرة عامة عالية المستوى على السيناريو: Diagram shows Azure Blob Storage, which is the target of a copy, which, on success, sends an email with details or, on failure, sends an email with error details.

نفذ الخطوات التالية في هذا البرنامج التعليمي:

  • إنشاء data factory.
  • إنشاء خدمة ذات صلة بـ Azure Storage.
  • إنشاء مجموعة بيانات Azure Blob
  • إنشاء بنية أساسية تحتوي على نشاط نسخ ونشاط ويب
  • إرسال مخرجات الأنشطة إلى أنشطة لاحقة.
  • الاستفادة من تمرير المعلمة ومتغيرات النظام
  • بدء تشغيل البنية الأساسية
  • مراقبة البنية الأساسية وتشغيل النشاط

يستخدم هذا البرنامج التعليمي مدخل Microsoft Azure. يمكنك استخدام آليات أخرى للتفاعل مع Azure Data Factory، راجع "Quickstarts" في جدول المحتويات.

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

  • اشتراك Azure. في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.
  • حساب في مساحة تخزين Azure. استخدام مخزن البيانات الثنائية كبيرة الحجم لتخزين بيانات مصدر. إذا لم يكن لديك حساب تخزين Azure، يمكنك مراجعة مجموعة الخطوات اللازمة لإنشاء حساب تخزين.
  • Azure SQL Database. يمكنك استخدام قاعدة البيانات كمخزن وجهة تلقي للبيانات. في حالة عدم امتلاك قاعدة بيانات فيAzure SQL Database، يرجى الرجوع إلى إنشاء قاعدة بيانات في فقرة Azure SQL Database في مدخل Azure الخاصة بخطوات الإنشاء.

إنشاء جدول لكائن ثنائي كبير الحجم

  1. قم بإطلاق Notepad. نسخ النص التالي وحفظه كملف input.txt على قرص التخزين.

    John,Doe
    Jane,Doe
    
  2. استخدام أدوات مثل Azure Storage Explorer القيام بالخطوات التالية:

    1. إنشاء حاوية adfv2branch.
    2. إنشاء مجلد الإدخال في حاوية adfv2branch.
    3. تحميل ملف input.txt إلى الحاوية.

إنشاء نقاط نهاية سير عمل البريد الإلكتروني

لتشغيل إرسال بريد إلكتروني من البنية الأساسية لبرنامج ربط العمليات التجارية، يمكنك استخدام Azure Logic Apps لتعريف سير العمل. لمزيد من المعلومات حول إنشاء سير عمل تطبيق منطقي، راجع إنشاء مثال سير عمل تطبيق منطق الاستهلاك.

سير عمل البريد الإلكتروني الناجح

إنشاء سير عمل تطبيق منطق الاستهلاك المسمى CopySuccessEmail. أضف مشغل الطلب المسمى عند تلقي طلب HTTP، وأضف إجراء Office 365 Outlook المسمى إرسال بريد إلكتروني. إذا تمت مطالبتك، فسجل الدخول إلى حساب Office 365 Outlook.

Shows a screenshot of the Success email workflow.

بالنسبة إلى مشغل الطلب، املأ مربع Request Body JSON Schema مع JSON التالي:

{
    "properties": {
        "dataFactoryName": {
            "type": "string"
        },
        "message": {
            "type": "string"
        },
        "pipelineName": {
            "type": "string"
        },
        "receiver": {
            "type": "string"
        }
    },
    "type": "object"
}

يجب أن يبدو مشغل الطلب في مصمم سير العمل مثل الصورة التالية:

Shows a screenshot of the workflow designer with Request trigger.

بالنسبة إلى إجراء إرسال بريد إلكتروني، قم بتخصيص الطريقة التي ترغب بها في تنسيق البريد الإلكتروني، باستخدام الخصائص التي تم تمريرها في مخطط Body JSON للطلب. إليك مثال:

Shows a screenshot of the workflow designer with the action named Send an email.

حفظ سير العمل. دوّن ملاحظة عن عنوان URL لطلب HTTP Post لسير عمل البريد الإلكتروني الناجح:

//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

فشل سير عمل البريد الإلكتروني

اتبع نفس الخطوات لإنشاء سير عمل تطبيق منطقي آخر يسمى CopyFailEmail. في مشغل الطلب، تكون قيمة مخطط نص الطلب JSON هي نفسها. تغيير تنسيق البريد الإلكتروني الخاص بك، مثل Subject لكي يتناسب مع إخفاق البريد الإلكتروني. إليك مثال:

Shows a screenshot of the workflow designer with the fail email workflow.

حفظ سير العمل. دوّن ملاحظة عن عنوان URL لطلب HTTP Post لسير عمل البريد الإلكتروني للإخفاق:

//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

ينبغي أن يكون لديك الآن رابطا URL لسير العمل:

//Success Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

//Fail Request Url
https://prodxxx.eastus.logic.azure.com:443/workflows/000000/triggers/manual/paths/invoke?api-version=2016-10-01&sp=%2Ftriggers%2Fmanual%2Frun&sv=1.0&sig=000000

إنشاء مصدرًا للبيانات

  1. شغِّل إما مستعرض الويب Microsoft Edge أو Google Chrome. يتم حاليًّا دعم واجهة مستخدم Data Factory فقط في مستعرضي الويب Microsoft Edge وGoogle Chrome.

  2. قم بتوسيع القائمة في أعلى اليسار وحدد Create a resource. ثم حدد >Integration>Data Factory:

    Shows a screenshot of the "Create a resource" button in the Azure portal.

    Shows a screenshot of the Data Factory selection in the "New" pane.

  3. في صفحة New data factory، أدخل ADFTutorialDataFactory في خانة Name.

    New data factory page

    يجب أن يكون اسم Azure data factory مميزاً عالمياً. إذا تلقيت الخطأ التالي، فقم بتغيير اسم مصنع البيانات (على سبيل المثال، yournameADFTutorialDataFactory) وحاول إنشاءه مرة أخرى. راجع المقالةData Factory - Naming Rules لمعرفة قواعد تسمية أدوات مصنع البيانات.

    اسم مصنع البيانات “ADFTutorialDataFactory” غير متاح.

  4. حدد اشتراك Azure الذي تريد إنشاء مصنع البيانات فيه.

  5. بالنسبة Resource Group، نفِّذ إحدى الخطوات التالية:

  6. حدد "V2" لحقل"version".

  7. حدد موقع، مصِّنع البيانات. لن تظهر القائمة المنسدلة إلا على المواقع المعتمدة فقط. تخزن البيانات (Azure Storage، وAzure SQL Database، وما إلى ذلك) وتحسب (HDInsight، وما إلى ذلك) التي يستخدمها مصنع البيانات في مناطق أخرى.

  8. حدد تثبيت لوحة المعلومات.

  9. انقر فوق Create.

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

    Shows a screenshot of the data factory home page.

  11. انقر فوق Open Azure Data Factory Studio لتشغيل واجهة مستخدم Azure Data Factory (UI) في علامة تبويب منفصلة.

إنشاء البنية الأساسية لبرنامج ربط العمليات التجارية

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

  • معلمات البنية الأساسية التي يتم الوصول إليها من خلال مجموعات البيانات.
  • نشاط Web لاستدعاء سير عمل تطبيقات المنطق لإرسال رسائل البريد الإلكتروني بشأن النجاح/الإخفاق.
  • ربط نشاط بنشاط آخر (بناءً على النجاح والإخفاق)
  • استخدام الإخراج من أحد الأنشطة كمدخل للنشاط اللاحق
  1. في الصفحة الرئيسية من واجهة مستخدم Data Factory، انقر فوق إطار Orchestrate.

    Shows a screenshot of the data factory home page with the Orchestrate tile highlighted.

  2. في نافذة خصائص البنية الأساسية، قم بالتبديل إلى علامة التبويب Parameters واستخدم الزر New لإضافة المعلمات الثلاث التالية من نوع السلسلة: sourceBlobContainer، sinkBlobContainer، والمُتلقي.

    • sourceBlobContainer- المعلمة في البنية الأساسية التي تستهلكها مجموعة بيانات الكائن الثنائي كبير الحجم الخاص بالمصدر.
    • sinkBlobContainer - معلمة في البنية الأساسية لبرنامج ربط العمليات التجارية التي تستهلكها مجموعة بيانات الكائن الثنائي كبير الحجم للمتلقي
    • المتلقي - يتم استخدام هذه المعلمة من قبل نشاطي ويب في البنية الأساسية لبرنامج ربط العمليات التجارية التي ترسل رسائل البريد الإلكتروني الناجحة أو الفشل إلى المتلقي الذي يتم تحديد عنوان بريده الإلكتروني بواسطة هذه المعلمة.

    Shows a screenshot of the New pipeline menu.

  3. في مربع أدوات Activities ، ابحث عن Copy and drag-drop the Copy activity to the pipeline designer surface.

    Shows a screenshot demonstrating how to drag and drop the copy activity onto the pipeline designer.

  4. حدد نشاط النسخ الذي سحبته إلى سطح مصمم البنية الأساسية لبرنامج ربط العمليات التجارية. في نافذة Properties الخاصة بـ Copy في الأسفل، قم بالتبديل إلى علامة التبويب Source، وانقر فوق + New. إنشاء مجموعة بيانات المصدر لنشاط النسخ في هذه الخطوة.

    Screenshot that shows how to create a source dataset for the copy activity.

  5. في نافذة New Dataset ، حدد علامة التبويب Azure في الأعلى، ثم اختر Azure Blob Storage، وحدد Continue.

    Shows a screenshot of the select Azure Blob Storage button.

  6. في نافذة Select format ، اختر DelimitedText وحدد Continue.

    Shows a screenshot of the "Select Format" window with the DelimitedText format highlighted.

  7. ترى علامة تبويب جديدة بعنوان تعيين الخصائص. تغيير اسم مجموعة البيانات SourceBlobDataset. حدد القائمة المنسدلة Linked Service، واختر +New لإنشاء خدمة مرتبطة جديدة إلى مجموعة البيانات المصدر.

    Shows a screenshot of the "Set properties" window for the dataset, with the "+New" button highlighted under the "Linked service" dropdown.**

  8. سترى نافذة الخدمة المرتبطة الجديدة حيث يمكنك ملء الخصائص المطلوبة للخدمة المرتبطة.

    Shows a screenshot fo the dataset connection window with the new linked service button highlighted.

  9. في نافذة New Linked Service، أكمل الخطوات التالية:

    1. سجل AzureSqlDatabaseLinkedService في مربع "Name".
    2. بالنسبة إلى اسم حساب التخزين، حدد اسم حساب تخزين Azure الخاص بك.
    3. انقر فوق Create.
  10. في نافذة Set properties التي تظهر بعد ذلك، حدد Open this dataset لإدخال قيمة ذات معلمات لاسم الملف.

    Shows a screenshot of the dataset "Set properties" window with the "Open this dataset" link highlighted.

  11. أدخل @pipeline().parameters.sourceBlobContainer للمجلد وemp.txt لاسم الملف.

    Shows a screenshot of the source dataset settings.

  12. قم بالتبديل مرة أخرى إلى علامة تبويب البنية الأساسية لبرنامج ربط العمليات التجارية (أو انقر فوق البنية الأساسية لبرنامج ربط العمليات التجارية في طريقة عرض الشجرة على اليسار)، وحدد نشاط النسخ على المصمم. تأكد من تحديد مجموعة البيانات الجديدة لمجموعة بيانات المصدر.

    Shows a screenshot of the source dataset.

  13. في نافذة الخصائص، قم بالتبديل إلى علامة التبويب Sink وانقر فوق + New لمجموعة مجموعة بيانات المتلقي. إنشاء مجموعة بيانات المتلقي لنشاط النسخ في هذه الخطوة مشابهة لطريقة إنشاء مجموعة البيانات المصدر.

    Shows a screenshot of the new sink dataset button

  14. في نافذة New Dataset ، حدد Azure Blob Storage، وانقر فوق Continue، ثم حدد DelimitedText مرة أخرى في نافذة Select format وانقر فوق Continue مرة أخرى.

  15. في صفحة Set properties لمجموعة البيانات، أدخل SinkBlobDataset for Name، وحدد AzureStorageLinkedService ل LinkedService.

  16. قم بتوسيع قسم Advanced من صفحة الخصائص وحدد Open this dataset.

  17. في علامة التبويب الاتصال مجموعة البيانات، قم بتحرير مسار الملف. أدخل @pipeline().parameters.sinkBlobContainer للمجلد واسم @concat(pipeline().RunId, '.txt') الملف. يستخدم التعبير مُعرّف البنية الأساسية الحالي لتشغيل اسم الملف. للحصول على القائمة المُعتمدة لمتغيرات النظام وتعبيراته، راجع متغيرات النظامولغة التعبير.

    Shows a screenshot of the Sink dataset settings.

  18. قم بالتبديل مرة أخرى إلى علامة تبويب البنية الأساسية لبرنامج ربط العمليات التجارية في الأعلى. ابحث عن ويب في مربع البحث، واسحب نشاط ويب إلى سطح مصمم البنية الأساسية لبرنامج ربط العمليات التجارية. تعيين اسم النشاط إلى SendSuccessEmailActivity. يسمح Web Activity بإجراء مكالمة إلى أي نقطة نهاية REST. لمزيد من المعلومات حول النشاط، راجع Web Activity. تستخدم هذه البنية الأساسية Web Activity لاستدعاء سير عمل البريد الإلكتروني لتطبيقات المنطق Logic Apps.

    Shows a screenshot demonstrating how to drag and drop the first Web activity.

  19. قم بالتبديل إلى علامة التبويب الإعدادات من علامة التبويب عام ثم اتبع الخطوات التالية:

    1. أمّا URL، فحدد URL لسير عمل تطبيقات المنطق التي ترسل رسالة النجاح الإلكترونية.

    2. حدد POST من أجل الأسلوب.

    3. انقر فوق إضافة+ رابط في قسم العناوين.

    4. أضف عنوان نوع المحتوى وأرسله إلى application/json.

    5. حدد JSON التالي للنص الأساسي.

      {
          "message": "@{activity('Copy1').output.dataWritten}",
          "dataFactoryName": "@{pipeline().DataFactory}",
          "pipelineName": "@{pipeline().Pipeline}",
          "receiver": "@pipeline().parameters.receiver"
      }
      

      يحتوي نص الرسالة على الخصائص التالية:

      • الرسالة - قيمة تمرير .@{activity('Copy1').output.dataWritten الوصول إلى خاصية نشاط النسخة السابقة، وتمرير قيمة البيانات المكتوبة. فيما يتعلق بحالة الإخفاق، مرر إخراج الخطأ بدلاً من @{activity('CopyBlobtoBlob').error.message.

      • Data Factory Name - قيمة @{pipeline().DataFactory} تمرير هذا متغير نظام، مما يسمح لك بالوصول إلى اسم مصنع البيانات المقابل. للحصول على قائمة بمتغيرات النظام، راجع مقالة متغيرات النظام.

      • اسم المسار - قيمة @{pipeline().Pipeline}تمرير . هذا هو أيضًا متغير النظام، ما يسمح لك بالوصول إلى اسم البنية الأساسية المطابق.

      • المتلقي - قيمة تمرير "@pipeline().parameters.receiver"). الوصول إلى معلمات البنية الأساسية.

        Shows a screenshot of the settings for the first Web activity.

  20. الاتصالنسخ النشاط إلى نشاط ويب عن طريق سحب زر خانة الاختيار الخضراء بجوار نشاط النسخ والإفلات على نشاط ويب.

    Shows a screenshot demonstrating how to connect the Copy activity with the first Web activity.

  21. نشاط سحب وإفلات Web آخر من مربع أدوات الأنشطة إلى سطح مصمم البنية الأساسية وتعيين الاسم إلى SendFailureEmailActivity.

    Shows a screenshot of the name of the second Web activity.

  22. انتقل إلى علامة التبويب "Settings"، ثم نفذ الخطوات التالية:

    1. أمّا URL، فحدد URL لسير عمل تطبيقات المنطق التي ترسل رسالة الإخفاق الإلكترونية.

    2. حدد POST من أجل الأسلوب.

    3. انقر فوق إضافة+ رابط في قسم العناوين.

    4. أضف عنوان نوع المحتوى وأرسله إلى application/json.

    5. حدد JSON التالي للنص الأساسي.

      {
          "message": "@{activity('Copy1').error.message}",
          "dataFactoryName": "@{pipeline().DataFactory}",
          "pipelineName": "@{pipeline().Pipeline}",
          "receiver": "@pipeline().parameters.receiver"
      }
      

      Shows a screenshot of the settings for the second Web activity.

  23. حدد الزر X الأحمر على الجانب الأيسر من نشاط النسخ في مصمم البنية الأساسية لبرنامج ربط العمليات التجارية واسحبه وأفلته في SendFailureEmailActivity الذي أنشأته للتو.

    Screenshot that shows how to select Error on the Copy activity in the pipeline designer.

  24. للتحقق من صحة البنية الأساسية، انقر فوق زرالتحقق على شريط الأدوات. أغلق نافذةنتيجة التحقق من البنية الأساسية بالنقر فوق زر >>.

    Shows a screenshot of the Validate pipeline button.

  25. لنشر الكيانات (مجموعات البيانات والبنية الأساسية وما إلى ذلك) إلى خدمة مصنع البيانات، حدد نشر الكل. انتظر حتى ترى رسالة تم النشر بنجاح.

    Shows a screenshot of the Publish button in the data factory portal.

تشغيل البنية الأساسية الناجحة

  1. لتتبع تشغيل البنية الأساسية، انقر فوق تتبع على شريط الأدوات، وانقر فوق تتبع الآن.

    Shows a screenshot of the Trigger Now button.

  2. في إطار تشغيل البنية الأساسية، اتبع الخطوات التالية:

    1. أدخل adftutorial/adfv2branch/input من أجل معلمة sourceBlobContainer.

    2. أدخل adftutorial/adfv2branch/input من أجل معلمة sourceBlobContainer.

    3. أدخل عنوان بريد إلكترونيالخاص بـالمتلقي.

    4. انقر فوق إنهاء

      Pipeline run parameters

راقب تشغيل البنية الأساسية الناجح

  1. لمراقبة تشغيل البنية الأساسية، قم بالتبديل إلى علامة التبويب مراقبة على اليسار. ترى تشغيل البنية الأساسية الذي قمت بتشغيله يدويًا. استخدم زر تحديث لتحديث القائمة.

    Successful pipeline run

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

    Screenshot that shows how to view the list of activity runs.

بدء تشغيل البنية الأساسية ذات الإخفاق

  1. انتقل إلى علامة التبويب Edit الموجودة على اليمين.

  2. لتتبع تشغيل البنية الأساسية، انقر فوق تتبع على شريط الأدوات، وانقر فوق تتبع الآن.

  3. في إطار تشغيل البنية الأساسية، اتبع الخطوات التالية:

    1. أدخل adftutorial/dummy/input من أجل معلمة sourceBlobContainer. تأكد من أن المجلد الوهمي غير موجود في الحاوية adftutorial.
    2. أدخل adftutorial/dummy/input من أجل معلمة sourceBlobContainer.
    3. أدخل عنوان بريد إلكترونيالخاص بـالمتلقي.
    4. انقر فوق إنهاء.

راقب تشغيل البنية الأساسية ذات الإخفاق

  1. لمراقبة تشغيل البنية الأساسية، قم بالتبديل إلى علامة التبويب مراقبة على اليسار. ترى تشغيل البنية الأساسية الذي قمت بتشغيله يدويًا. استخدم زر تحديث لتحديث القائمة.

    Failure pipeline run

  2. انقر فوق ارتباط Error لتشغيل البنية الأساسية للاطلاع على تفاصيل حول الخطأ.

    Pipeline error

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

    Activity runs

  4. انقر فوق ارتباط Error في Actions لتشغيل البنية الأساسية للاطلاع على تفاصيل حول الخطأ.

    Activity run error

نفّذت الخطوات التالية في هذا البرنامج التعليمي:

  • إنشاء data factory.
  • إنشاء خدمة ذات صلة بـ Azure Storage.
  • إنشاء مجموعة بيانات Azure Blob
  • إنشاء مسار يحتوي على نشاط نسخ ونشاط ويب.
  • إرسال مخرجات الأنشطة إلى أنشطة لاحقة.
  • الاستفادة من تمرير المعلمة ومتغيرات النظام
  • بدء تشغيل البنية الأساسية
  • مراقبة البنية الأساسية وتشغيل النشاط

يمكنك الآن المتابعة إلى قسم Concepts لمعرفة مزيد من المعلومات حول Azure Data Factory.