توجيه أحداث Azure Digital Twins
توضح هذه المقالة العملية التي يستخدمها Azure Digital Twins لإرسال بيانات الحدث، سواء لتوجيه الأحداث داخليا داخل Azure Digital Twins، أو لإرسال بيانات الحدث خارجيا إلى خدمات انتقال البيانات من الخادم أو موارد الحوسبة المتصلة خارج الخدمة.
توجيه إعلامات الأحداث من Azure Digital Twins هي عملية من خطوتين: إنشاء نقاط نهاية، ثم إنشاء مسارات الأحداث لإرسال البيانات إلى نقاط النهاية هذه. تتناول هذه المقالة المزيد من التفاصيل حول كل مفهوم من هذه المفاهيم. كما يشرح ما يحدث عندما تفشل نقطة النهاية في تسليم حدث في الوقت المناسب (عملية تعرف باسم الحروف غير المستخدمة).
نظرة عامة على توجيه الأحداث
هناك سيناريوهان رئيسيان لإرسال بيانات Azure Digital Twins، وتستخدم مسارات الأحداث لإنجاز كليهما:
- إرسال بيانات الحدث من توأم واحد في الرسم البياني Azure Digital Twins إلى آخر. على سبيل المثال، عندما تتغير خاصية على توأم رقمي واحد، قد تحتاج إلى إعلام وتحديث توأم رقمي آخر استنادا إلى البيانات المحدثة.
- إرسال البيانات خارج Azure Digital Twins إلى خدمات البيانات النهائية لمزيد من التخزين أو المعالجة. على سبيل المثال، إذا كنت تستخدم خرائط Azure بالفعل، فقد ترغب في المساهمة ببيانات Azure Digital Twins لتحسين الحل الخاص بك باستخدام النمذجة أو الاستعلامات المتكاملة.
بالنسبة لأي وجهة حدث، يعمل مسار الحدث عن طريق إرسال بيانات الحدث من Azure Digital Twins إلى نقاط النهاية المحددة خصيصا في اشتراكاتك. يتم دعم ثلاث خدمات Azure حاليا لنقاط النهاية: مراكز الأحداث وشبكة الأحداث ونقل خدمة Microsoft Azure. يمكن توصيل كل من خدمات Azure هذه بخدمات أخرى وتعمل كوسطاء، أو ترسل البيانات إلى الوجهات النهائية مثل خرائط Azure، أو العودة إلى Azure Digital Twins للحصول على تحديثات الرسم البياني التابعة.
يوضح الرسم التخطيطي التالي تدفق بيانات الحدث من خلال حل IoT أكبر، والذي يتضمن إرسال بيانات Azure Digital Twins من خلال نقاط النهاية إلى خدمات Azure الأخرى، بالإضافة إلى العودة إلى Azure Digital Twins:
للخروج من البيانات خارج Azure Digital Twins، فإن الأهداف النموذجية لمسارات الأحداث هي حلول خرائط Azure والتخزين والتحليلات. ينفذ Azure Digital Twins تسليما مرة واحدة على الأقل للبيانات المنبعثة إلى خدمات الخروج.
لتوجيه أحداث التوأم الرقمي الداخلي داخل نفس حل Azure Digital Twins، تابع إلى القسم التالي.
توجيه أحداث التوأم الرقمي الداخلي
مسارات الأحداث هي الآلية المستخدمة لمعالجة الأحداث داخل الرسم البياني المزدوج، وإرسال البيانات من التوأم الرقمي إلى التوأم الرقمي. يتم هذا النوع من معالجة الأحداث عن طريق توصيل مسارات الأحداث عبر Event Grid لحساب الموارد، مثل Azure Functions. ثم تحدد هذه الدالات كيفية تلقي التوائم للأحداث والاستجابة لها.
عندما يريد مورد حساب تعديل الرسم البياني المزدوج استنادا إلى حدث استلمه عبر مسار الحدث، فمن المفيد له معرفة التوأم الذي يجب تعديله مسبقا. تحتوي رسالة الحدث أيضا على معرف التوأم المصدر الذي أرسل الرسالة، بحيث يمكن لمورد الحساب استخدام الاستعلامات أو اجتياز العلاقات للعثور على التوأم الهدف للعملية المطلوبة.
يحتاج مورد الحساب أيضا إلى إنشاء أذونات الأمان والوصول بشكل مستقل.
للاطلاع على عملية إعداد دالة Azure لمعالجة أحداث التوأم الرقمي، راجع إعداد معالجة الأحداث المزدوجة إلى المزدوجة.
إنشاء نقاط النهاية
لتعريف مسار حدث، يجب على المطورين أولاً تحديد نقاط النهاية. نقطة النهاية هي وجهة خارج Azure Digital Twins التي تدعم اتصال المسار. تشمل الوجهات المدعومة ما يلي:
- مواضيع مخصصة لشبكة الأحداث
- مراكز الأحداث
- ناقل الخدمة
لإنشاء نقطة نهاية، يمكنك استخدام واجهات برمجة تطبيقات AZURE Digital Twins REST أو أوامر CLI أو مدخل Microsoft Azure.
عند تحديد نقطة نهاية، ستحتاج إلى توفير:
- اسم نقطة النهاية
- نوع نقطة النهاية (شبكة الأحداث أو مراكز الأحداث أو ناقل الخدمة)
- سلسلة الاتصال سلسلة الاتصال الأساسي والثانوي للمصادقة
- مسار الموضوع لنقطة النهاية، مثل
your-topic.westus2.eventgrid.azure.net
اختياريا، يمكنك اختيار إنشاء نقطة النهاية الخاصة بك باستخدام المصادقة المستندة إلى الهوية، لاستخدام نقطة النهاية مع هوية مدارة معينة من قبل النظام أو معينة من قبل المستخدم. يتوفر هذا الخيار فقط لمراكز الأحداث ونقاط النهاية من نوع ناقل الخدمة (غير مدعوم لشبكة الأحداث).
واجهات برمجة تطبيقات نقطة النهاية المتوفرة في وحدة التحكم هي:
- قم بإنشاء نقطة نهاية
- الحصول على قائمة بنقاط النهاية
- الحصول على نقطة النهاية بالاسم
- حذف نقطة النهاية حسب الاسم
للحصول على إرشادات مفصلة حول إنشاء نقطة نهاية، راجع إنشاء نقاط النهاية.
إنشاء مسارات الأحداث
لإنشاء مسار حدث، يمكنك استخدام واجهات برمجة تطبيقات AZURE Digital Twins REST أو أوامر CLI أو مدخل Microsoft Azure.
فيما يلي مثال على إنشاء مسار حدث داخل تطبيق عميل، باستخدام CreateOrReplaceEventRouteAsync
استدعاء .NET (C#) SDK :
string eventFilter = "$eventType = 'DigitalTwinTelemetryMessages' or $eventType = 'DigitalTwinLifecycleNotification'";
var er = new DigitalTwinsEventRoute("endpointName", eventFilter);
await client.CreateOrReplaceEventRouteAsync("routeId", er);
أولا، يتم إنشاء كائن
DigitalTwinsEventRoute
، ويأخذ الدالة الإنشائية اسم نقطة نهاية. يعرف هذاendpointName
الحقل نقطة نهاية مثل Event Hubs أو Event Grid أو Service Bus. يجب إنشاء نقاط النهاية هذه في اشتراكك وإرفاقها ب Azure Digital Twins باستخدام واجهات برمجة التطبيقات لمستوى التحكم قبل إجراء استدعاء التسجيل هذا.يحتوي كائن مسار الحدث أيضا على حقل عامل تصفية ، والذي يمكن استخدامه لتقييد أنواع الأحداث التي تتبع هذا المسار. يمكن عامل تصفية
true
المسار من دون تصفية إضافية (عامل تصفيةfalse
يعطل المسار).ثم يتم تمرير كائن مسار الحدث هذا إلى
CreateOrReplaceEventRouteAsync
، جنبا إلى جنب مع اسم للمسار.
تلميح
تأتي جميع وظائف SDK في إصدارات متزامنة وغير متزامنة.
للحصول على إرشادات مفصلة حول إنشاء مسارات الأحداث، راجع إنشاء المسارات وعوامل التصفية.
أحداث الأحرف المنتهية
عندما لا تتمكن نقطة النهاية من تسليم حدث خلال فترة زمنية معينة أو بعد محاولة تسليم الحدث عدة مرات، يمكنها إرسال الحدث الذي لم يتم تسليمه إلى حساب تخزين. وتعرف هذه العملية باسم dead-lettering. سيقوم Azure Digital Twins بحرف غير صحيح حدث عند استيفاء أحد الشروط التالية:
- لا يتم تسليم الحدث خلال فترة البقاء
- تجاوز عدد محاولات تسليم الحدث الحد
إذا تم استيفاء أي من الشروط، يتم إسقاط الحدث أو حرف خامد. بشكل افتراضي، لا تقوم كل نقطة نهاية بتشغيل الحروف غير المستخدمة. لتمكينه، يجب تحديد حساب تخزين للاحتفاظ بأحداث لم يتم تسليمها عند إنشاء نقطة النهاية. يمكنك بعد ذلك سحب الأحداث من حساب التخزين هذا لحل عمليات التسليم.
قبل تعيين موقع حرف غير خامد، يجب أن يكون لديك حساب تخزين مع حاوية. يمكنك توفير عنوان URL لهذه الحاوية عند إنشاء نقطة النهاية. يتم توفير الحرف غير المهمم كعنون URL للحاوية مع رمز SAS المميز. يحتاج هذا الرمز المميز إلى إذن فقط write
لحاوية الوجهة داخل حساب التخزين. سيكون عنوان URL الذي تم تكوينه بالكامل بتنسيق: https://<storage-account-name>.blob.core.windows.net/<container-name>?<SAS-token>
لمعرفة المزيد حول رموز SAS المميزة، راجع: منح وصول محدود إلى موارد Azure Storage باستخدام توقيعات الوصول المشترك (SAS)
لمعرفة كيفية إعداد نقطة نهاية باستخدام الحروف غير المستخدمة، راجع خيارات نقطة النهاية: الكتابة غير المستخدمة.
أنواع رسائل الحدث
تنتج أنواع مختلفة من الأحداث في IoT Hub وAzure Digital Twins أنواعا مختلفة من رسائل الإعلام، كما هو موضح أدناه.
نوع الإعلام | اسم مصدر التوجيه | تم إنشاؤها من... |
---|---|---|
الإعلام بتغيير النسخة المتماثلة الرقمية | الإعلام بتغيير النسخة المتماثلة الرقمية | أي تغيير في خاصية التوأم الرقمي |
إعلام دورة حياة النسخة المتماثلة الرقمية | إعلام دورة حياة النسخة المتماثلة الرقمية | أي عملية إنشاء أو حذف التوأم الرقمي |
إعلام بتغيير علاقة النسخة المتماثلة الرقمية | إعلام بتغيير علاقة النسخة المتماثلة الرقمية | أي تغيير في علاقة التوأم الرقمي |
رسائل القياس عن بُعد للنسخة المتماثلة الرقمي | رسائل القياس عن بُعد | أي رسالة بيانات تتبع الاستخدام |
الخطوات التالية
تابع إلى الإرشادات المفصلة خطوة بخطوة لإعداد نقاط النهاية ومسارات الأحداث:
- إنشاء نقاط النهاية وإنشاء التوجيهات وعوامل التصفية
أو اتبع هذه المعاينة لإعداد وظيفة Azure لمعالجة الأحداث المزدوجة إلى التوأم داخل Azure Digital Twins: