أرسل إعلامات إلى قناة فرق Microsoft من مصنع بيانات Azure أو مسار تحليلات Synapse
غالباً ما يكون من الضروري إرسال إشعارات أثناء تنفيذ المسار أو بعده. يوفر الإعلام تنبيهات استباقية ويقلل من الحاجة إلى المراقبة التفاعلية لاكتشاف المشكلات. يمكنك التعرف على كيفية إرسال إشعارات البريد الإلكتروني باستخدام تطبيقات المنطق التي يمكن لمصنع البيانات أو مسار Synapse استدعاؤها. تستخدم العديد من المؤسسات أيضاً فرق Microsoft بشكل متزايد للتعاون. توضح هذه المقالة كيفية تكوين الإعلامات من تنبيهات المسار في فرق Microsoft.
المتطلبات الأساسية
قبل أن تتمكن من إرسال إعلامات إلى الفرق من المسارات الخاصة بك، يجب عليك إنشاء خطاف ويب وارد لقناة الفرق الخاصة بك. إذا كنت بحاجة إلى إنشاء قناة Teams جديدة لهذا الغرض، فراجع وثائق Teams.
افتح فرق Microsoft وانتقل إلى علامة التبويب التطبيقات. ابحث عن "Webhook الوارد" وحدد موصل Webhook الوارد.
حدد الزر "إضافة إلى فريق" لإضافة الموصل إلى موقع اسم قناة الفريق أو الفريق حيث تريد إرسال الإعلامات.
اكتب اسم قناة الفريق أو الفريق أو حدده حيث تريد إرسال الإعلامات.
حدد الزر "إعداد موصل" لإعداد خطاف الويب الوارد لاسم قناة الفريق أو الفريق الذي حددته في الخطوة السابقة.
قم بتسمية Webhook بالشكل المناسب وقم بتحميل رمز اختيارياً لتحديد رسائلك. بعد ذلك، حدد الزر "Create" لإنشاء إخطار على الويب الوارد.
انسخ عنوان URL Webhook الذي تم إنشاؤه عند الإنشاء واحفظه لاستخدامه لاحقًا في البنية الأساسية لبرنامج ربط العمليات التجارية. بعد ذلك، حدد الزر "تم" لإكمال الإعداد.
يمكنك رؤية الإشعار في القناة حيث تضيف موصل الخطاف على الويب.
خطوات إرسال إعلامات على قناة الفرق من مسار:
حدد علامة التبويب "Author" من الجزء الأيسر.
حدد الزر + (علامة الجمع)، ثم حدد مسار جديد.
في جزء "Properties" ضمن "General"، حدد NotifiyTeamsChannelPipeline لـ Name. ثم قم بطي اللوحة بالنقر فوق رمز الخصائص في الزاوية العلوية اليمنى.
في جزء "Configurations"، حدد Parameters، ثم حدد الزر + New حدد المعلمات التالية للبنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك.
Name نوع القيمة الافتراضية الاشتراك String
Specify subscription id for the pipeline
resourceGroup String
Specify resource group name for the pipeline
runId String
@activity('Specify name of the calling pipeline').output['pipelineRunId']
الاسم String
@activity('Specify name of the calling pipeline').output['pipelineName']
triggerTime String
@activity('Specify name of the calling pipeline').ExecutionStartTime
الحالة String
@activity('Specify name of the calling pipeline').Status
رسالة String
@activity('Specify name of the calling pipeline').Error['message']
executionEndTime String
@activity('Specify name of the calling pipeline').ExecutionEndTime
runDuration String
@activity('Specify name of the calling pipeline').Duration
teamWebhookUrl String
Specify Team Webhook URL
إشعار
تُستخدم هذه المعلمات لإنشاء عنوان URL للمراقبة. لنفترض أنك لا تقدم اشتراكاً صالحاً ومجموعة موارد (من نفس مصنع البيانات حيث تنتمي المسارات). في هذه الحالة، لن يحتوي الإشعار على عنوان URL صالح لمراقبة المسارات، ولكن الرسائل ستظل تعمل. بالإضافة إلى ذلك، تساعد إضافة هذه المعلمات في منع الحاجة إلى تمرير هذه القيم دائماً من مسار آخر. إذا كنت تنوي التحكم في هذه القيم من خلال نهج قائم على البيانات الوصفية، فيجب عليك تعديلها وفقاً لذلك.
تلميح
نوصي بإضافة معرف اشتراك Data Factory الحالي ومجموعة الموارد وعنوان URL للإخطار على الويب Teams (راجع المتطلبات الأساسية) للقيمة الافتراضية للمعلمات ذات الصلة.
في جزء "Configurations"، حدد Variables، ثم حدد الزر + New حدد المتغيرات التالية للبنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك.
Name نوع القيمة الافتراضية messageCard String
ابحث عن "ضبط المتغير" في لوحة أنشطة البنية الأساسية لبرنامج ربط العمليات التجارية، وسحب نشاط ضبط المتغير إلى لوحة البنية الأساسية لبرنامج ربط العمليات التجارية.
حدد نشاط Set Variable على اللوحة إذا لم يكن محددًا بالفعل، وعلامة التبويب "General" الخاصة به، لتحرير تفاصيله.
في علامة التبويب "General"، حدد Set JSON schema لـName لنشاط Set Variable.
في علامة التبويب "Variables"، حدد متغير messageCard للخاصية Name وأدخل JSON التالية لخاصية Value الخاصة بها:
{ "@type": "MessageCard", "@context": "http://schema.org/extensions", "themeColor": "0076D7", "summary": "Pipeline status alert message", "sections": [ { "activityTitle": "Pipeline execution alert", "facts": [ { "name": "Subscription Id:", "value": "@{pipeline().parameters.subscription}" }, { "name": "Resource Group:", "value": "@{pipeline().parameters.resourceGroup}" }, { "name": "Data Factory Name:", "value": "@{pipeline().DataFactory}" }, { "name": "Pipeline RunId:", "value": "@{pipeline().parameters.runId}" }, { "name": "Pipline Name:", "value": "@{pipeline().Pipeline}" }, { "name": "Pipeline Status:", "value": "@{pipeline().parameters.status}" }, { "name": "Execution Start Time (UTC):", "value": "@{pipeline().parameters.triggerTime}" }, { "name": "Execution Finish Time (UTC):", "value": "@{pipeline().parameters.executionEndTime}" }, { "name": "Execution Duration (s):", "value": "@{pipeline().parameters.runDuration}" }, { "name": "Message:", "value": "@{pipeline().parameters.message}" }, { "name": "Notification Time (UTC):", "value": "@{utcnow()}" } ], "markdown": true } ], "potentialAction": [ { "@type": "OpenUri", "name": "View pipeline run", "targets": [ { "os": "default", "uri": "@{concat('https://synapse.azure.com/monitoring/pipelineruns/',pipeline().parameters.runId,'?factory=/subscriptions/',pipeline().parameters.subscription,'/resourceGroups/',pipeline().parameters.resourceGroup,'/providers/Microsoft.DataFactory/factories/',pipeline().DataFactory)}" } ] } ] }
ابحث عن "ويب" في جزء "الأنشطة" في البنية الأساسية لبرنامج ربط العمليات التجارية، واسحب نشاط ويب إلى لوحة البنية الأساسية لبرنامج ربط العمليات التجارية.
إنشاء شرط تبعية لنشاط ويب بحيث يتم تشغيله فقط إذا نجح نشاط Set Variable. لإنشاء هذه التبعية، حدد المقبض الأخضر على الجانب الأيسر من نشاط Set Variable، واسحبه، وقم بتوصيله بنشاط ويب.
حدد نشاط ويب الجديد على اللوحة إذا لم يكن محددًا بالفعل، وعلامة التبويب "عام"، لتحرير تفاصيله.
في جزء "عام"، حدد Invoke Teams Webhook Url لـName نشاط ويب.
في جزء "Settings"، قم بتعيين الخصائص التالية كما يلي:
الخاصية قيمة عنوان URL @pipeline().parameters.teamWebhookUrl
الطريقة POST
نص الرسالة @json(variables('messageCard'))
تم تعيين كل شيء والآن أنت جاهز للتحقق من صحة البنية الأساسية لبرنامج ربط العمليات التجارية الخاصة بك، وتصحيحها، ثم نشر البنية الأساسية لبرنامج ربط العمليات التجارية لإعلامك بـInamsChannelPipeline.
- للتحقق من صحة البنية الأساسية لبرنامج ربط العمليات التجارية، حدد Validate من شريط الأدوات.
- لتصحيح أخطاء التدفقات، حدد Debug على شريط الأدوات. تشاهد حالة تشغيل التدفقات في علامة التبويب "Output" أسفل النافذة.
- بمجرد تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية بنجاح، في شريط الأدوات العلوي، حدد Publish all. ينشر هذا الإجراء الكيانات التي أنشأتها من خلال مصنع البيانات. انتظر حتى ترى رسالة تم النشر بنجاح.
استخدام العينة
في سيناريو الاستخدام النموذجي هذا، سنقوم بإنشاء مسار رئيسي مع ثلاثة أنشطة تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية. سيستدعي نشاط Execute Pipeline الأول مسار ETL الخاص بنا وسيستدعي نشاطي Execute Pipeline المتبقيين مسار "NotificationyTeamsChannelPipeline" لإرسال إعلامات النجاح أو الفشل ذات الصلة إلى قناة Teams اعتمادًا على حالة تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية ETL.
حدد علامة التبويب Author من الجزء الأيمن في Data Factory أو علامة التبويب Integrate من الجزء الأيمن في Synapse Studio. بعد ذلك، حدد الزر + (علامة الجمع)، ثم حدد البنية الأساسية لبرنامج ربط العمليات التجارية لإنشاء مسار جديد.
في اللوحة العامة ضمن "General"، حدد CopyPipeline لـName. ثم قم بطي اللوحة بالنقر فوق رمز الخصائص في الزاوية العلوية اليمنى.
ابحث عن البنية الأساسية لبرنامج ربط العمليات التجارية في جزء "الأنشطة"، واسحب ثلاثة أنشطة تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية إلى لوحة البنية الأساسية لبرنامج ربط العمليات التجارية.
حدد نشاط تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية أولًا على اللوحة إذا لم يكن محددا بالفعل، وجزء "عام"، لتحرير تفاصيله.
- بالنسبة إلى خاصية Name لنشاط Execute Pipeline، نوصي باستخدام اسم مسار ETL الذي تم استدعاؤه والذي تريد إرسال إعلامات له. على سبيل المثال، استخدمنا LoadDataPipeline لـName نشاط Execute Pipeline لأنه اسم المسار الذي تم استدعاؤه.
- في جزء "Settings"، حدد مسارًا موجودًا أو أنشئ مسارًا جديدًا باستخدام الزر + New لخاصية المسار الذي تم استدعاؤه. على سبيل المثال، في حالتنا، حددنا مسار LoadDataPipeline للخاصية "Invoked pipeline". حدّد خيارات أخرى وكوّن أي معلمات للبنية الأساسية كما هو مطلوب لإكمال التكوين الخاص بك.
حدد نشاط تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية الثاني على اللوحة، وهو جزء "عام"، لتحرير تفاصيله.
حدد OnSuccess Notification لـName نشاط تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية.
في جزء "Settings"، حدد "NotifiyTeamsChannelPipeline pipeline"، الذي أنشأناه سابقًا، لخاصية المسار الذي تم استدعاؤه. قم بتخصيص المعلمات على النحو المطلوب بناءً على نوع النشاط. على سبيل المثال، لقد قمت بتخصيص المعلمات كما يلي:
الاسم القيمة الاشتراك 11111111-0000-aaaa-bbbb-0000000000
resourceGroup contosorg
runId @activity('LoadDataPipeline').output['pipelineRunId']
الاسم @activity('LoadDataPipeline').output['pipelineName']
triggerTime @activity('LoadDataPipeline').ExecutionStartTime
الحالة @activity('LoadDataPipeline').Status
رسالة Pipeline - LoadDataPipeline ran with success.
executionEndTime @activity('LoadDataPipeline').ExecutionEndTime
runDuration @activity('LoadDataPipeline').Duration
teamWebhookUrl https://microsoft.webhook.office.com/webhookb2/1234abcd-1x11-2ff1-ab2c-1234d0699a9e@72f988bf-32b1-41af-91ab-2d7cd011db47/IncomingWebhook/8212f66ad80040ab83cf68b554d9232a/17d524d0-ed5c-44ed-98a0-35c12dd89a6d
قم بإنشاء شرط تبعية لنشاط تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية الثاني بحيث يتم تشغيله فقط إذا نجح نشاط Execute Pipeline الأول. لإنشاء هذه التبعية، حدد المقبض الأخضر على الجانب الأيسر من نشاط Execute Pipeline الأول، واسحبه، وقم بتوصيله بنشاط Execute Pipeline الثاني.
حدد نشاط تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية الثالث على اللوحة، وهو جزء "عام"، لتحرير تفاصيله.
حدد OnFailure Notification لـName نشاط تنفيذ البنية الأساسية لبرنامج ربط العمليات التجارية.
في جزء "Settings"، حدد "NotifiyTeamsChannelPipeline pipeline" لخاصية المسار الذي تم استدعاؤه. قم بتخصيص المعلمات على النحو المطلوب بناءً على نوع النشاط. على سبيل المثال، لقد قمت بتخصيص المعلمات هذه المرة كما يلي:
الاسم القيمة الاشتراك 11111111-0000-aaaa-bbbb-0000000000
resourceGroup contosorg
runId @activity('LoadDataPipeline').output['pipelineRunId']
الاسم @activity('LoadDataPipeline').output['pipelineName']
triggerTime @activity('LoadDataPipeline').ExecutionStartTime
الحالة @activity('LoadDataPipeline').Status
رسالة @activity('LoadDataPipeline').Error['message']
executionEndTime @activity('LoadDataPipeline').ExecutionEndTime
runDuration @activity('LoadDataPipeline').Duration
teamWebhookUrl https://microsoft.webhook.office.com/webhookb2/1234abcd-1x11-2ff1-ab2c-1234d0699a9e@72f988bf-32b1-41af-91ab-2d7cd011db47/IncomingWebhook/8212f66ad80040ab83cf68b554d9232a/17d524d0-ed5c-44ed-98a0-35c12dd89a6d
إنشاء شرط تبعية لنشاط Execute Pipeline الثالث بحيث يتم تشغيله فقط إذا فشل نشاط Execute Pipeline الأول. لإنشاء هذه التبعية، حدد المقبض الأحمر على الجانب الأيسر من نشاط Execute Pipeline الأول، واسحبه، وقم بتوصيله بنشاط Execute Pipeline الثالث.
التحقق من صحة مسار MasterPipeline وتصحيحه ثم نشره.
قم بتشغيل البنية الأساسية لبرنامج ربط العمليات التجارية لتلقي الإعلامات في Teams. على سبيل المثال، فيما يلي نماذج الإعلامات، عند تشغيل المسار الخاص بي بنجاح ومتى فشلت.
حدد الزر "عرض تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية" لعرض تشغيل البنية الأساسية لبرنامج ربط العمليات التجارية.
إضافة رسائل ديناميكية مع متغيرات وتعبيرات النظام
يمكنك استخدام متغيرات النظام والتعبيرات لتصبح الرسائل ديناميكية. على سبيل المثال:
@activity("CopyData").output.errors[0].Message
@activity("DataFlow").error.Message
ستُرجع التعبيرات أعلاه رسائل الخطأ ذات الصلة من الفشل، والتي يمكن إرسالها كإعلام على قناة الفرق. لمزيد من المعلومات حول هذا الموضوع، راجع مقالة خصائص إخراج نشاط النسخ.
نحن نشجعك أيضا على مراجعة مخطط حمولة الإعلامات المدعوم من Microsoft Teams وتخصيص القالب أعلاه بشكل أكبر لتلبية احتياجاتك.
المحتوى ذو الصلة
كيفية إرسال بريد إلكتروني من البنية الأساسية لبرنامج ربط العمليات التجارية