إشعارات الأحداث
تتناول هذه المقالة إعلامات الأحداث التي تم إنشاؤها بواسطة Azure Digital Twins وبنيتها وتفاصيل حول الأنواع المختلفة التي يمكن إنشاؤها.
تنتج الأحداث المختلفة في Azure Digital Twins إعلامات، والتي تسمح للواجهة الخلفية للحل بأن تكون على دراية عند حدوث إجراءات مختلفة. ثم يتم توجيه هذه الإعلامات إلى مواقع مختلفة داخل وخارج Azure Digital Twins التي يمكنها استخدام هذه المعلومات لاتخاذ إجراء.
هناك عدة أنواع من الإعلامات التي يمكن إنشاؤها، وقد تبدو رسائل الإعلام مختلفة بناء على نوع الحدث الذي تم إنشاؤها. تقدم هذه المقالة تفاصيل حول أنواع مختلفة من الرسائل، وما قد تبدو عليه.
يوضح هذا الرسم البياني أنواع الإشعارات المختلفة:
نوع الإعلام | اسم مصدر التوجيه | تم إنشاؤها من... |
---|---|---|
الإعلام بتغيير النسخة المتماثلة الرقمية | الإعلام بتغيير النسخة المتماثلة الرقمية | أي تغيير في خاصية التوأم الرقمي |
إعلام دورة حياة النسخة المتماثلة الرقمية | إعلام دورة حياة النسخة المتماثلة الرقمية | أي عملية إنشاء أو حذف التوأم الرقمي |
إعلام بتغيير علاقة النسخة المتماثلة الرقمية | إعلام بتغيير علاقة النسخة المتماثلة الرقمية | أي تغيير في علاقة التوأم الرقمي |
رسائل القياس عن بُعد للنسخة المتماثلة الرقمي | رسائل القياس عن بُعد | أي رسالة بيانات تتبع الاستخدام |
بنية الإعلام
تعتمد بنية إعلام حدث من Azure Digital Twins على وجهة الإعلام.
تتوافق الإعلامات المرسلة إلى Event Grid مع أحد التنسيقات التالية (اعتمادا على إعدادات Event Grid):
- مخطط حدث Azure Event Grid
- ربط بروتوكول HTTP ل CloudEvents.
تتوافق الإعلامات المرسلة إلى مراكز الأحداث ونقل الخدمة مع ربط بروتوكول AMQP ل CloudEvents.
إعلامات تغيير التوأم الرقمي
يتم تشغيل إعلامات تغيير التوأم الرقمي عند تحديث التوأم الرقمي، مثل:
- عندما تتغير قيم الخصائص أو بيانات التعريف.
- عندما تتغير بيانات التعريف المزدوجة أو المكونة الرقمية. مثال على هذا السيناريو هو تغيير نموذج التوأم الرقمي.
خصائص
فيما يلي الحقول في نص إعلام تغيير التوأم الرقمي.
الاسم | القيمة |
---|---|
id |
معرّف الإعلام، مثل UUID أو عداد تحتفظ به الخدمة. source + id فريد لكل حدث مميز |
source |
اسم مركز IoT أو مثيل Azure Digital Twins، مثل myhub.azure-devices.net أو mydigitaltwins.westus2.azuredigitaltwins.net |
data |
مستند JSON Patch يصف التحديث الذي تم إجراؤه على التوأم. للحصول على التفاصيل، راجع تفاصيل النص الأساسي أدناه. |
specversion |
1.0 تتوافق الرسالة مع هذا الإصدار من مواصفات CloudEvents. |
type |
Microsoft.DigitalTwins.Twin.Update |
datacontenttype |
application/json |
subject |
معرف التوأم الرقمي |
time |
الطابع الزمني لوقت حدوث العملية على التوأم الرقمي |
traceparent |
سياق تتبع W3C للحدث |
تفاصيل الجسم
داخل الرسالة، data
يحتوي الحقل على مستند JSON Patch يحتوي على التحديث إلى التوأم الرقمي.
فيما يلي أمثلة لنوع الرسالة هذا لكل مخطط إعلام محتمل.
{
"id": "39d4abb9-e3ee-4ed5-ad17-2243a9784946",
"subject": "example-twin1",
"data": {
"data": {
"modelId": "dtmi:examplecom:interfaceName;1",
"patch": [
{
"value": "new name",
"path": "/room",
"op": "replace"
}
]
},
"contenttype": "application/json",
"traceparent": "00-2aa957558db348f387ef704b37631a1d-c28d665340fe5045-01"
},
"eventType": "Microsoft.DigitalTwins.Twin.Update",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2021-12-09T20:28:52.9795363Z",
"topic": "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.EventGrid/topics/<topic-name>"
}
إشعار
لا يدعم Azure Digital Twins حاليا تصفية الأحداث استنادا إلى الحقول داخل صفيف. يتضمن ذلك التصفية على الخصائص داخل patch
قسم من إعلام تغيير التوأم الرقمي.
إعلامات دورة حياة التوأم الرقمي
سواء كانت التوائم الرقمية تمثل أجهزة IoT Hub في Azure Digital Twins أم لا، فسوف تصدر جميعها إعلامات. يفعلون ذلك بسبب إشعارات دورة الحياة، والتي تتعلق بالتوأم الرقمي نفسه.
يتم تشغيل إعلامات دورة الحياة عندما:
- يتم إنشاء توأم رقمي
- يتم حذف التوأم الرقمي
خصائص
فيما يلي الحقول الموجودة في نص إعلام دورة الحياة.
الاسم | القيمة |
---|---|
id |
معرّف الإعلام، مثل UUID أو عداد تحتفظ به الخدمة. source + id فريد لكل حدث مميز. |
source |
اسم مركز IoT أو مثيل Azure Digital Twins، مثل myhub.azure-devices.net أو mydigitaltwins.westus2.azuredigitaltwins.net |
data |
بيانات التوأم الذي يواجه حدث دورة الحياة. للحصول على التفاصيل، راجع تفاصيل النص الأساسي أدناه. |
specversion |
1.0 تتوافق الرسالة مع هذا الإصدار من مواصفات CloudEvents. |
type |
Microsoft.DigitalTwins.Twin.Create Microsoft.DigitalTwins.Twin.Delete |
datacontenttype |
application/json |
subject |
معرف التوأم الرقمي |
time |
الطابع الزمني لوقت حدوث العملية على التوأم |
traceparent |
سياق تتبع W3C للحدث |
تفاصيل الجسم
فيما يلي أمثلة لنوع الرسالة هذا لكل مخطط إعلام محتمل.
{
"id": "6ccdb1cd-0dc3-450f-8730-ceccda8439be",
"subject": "example-twin1",
"data": {
"data": {
"$dtId": "example-twin1",
"$etag": "W/\"ecf81d6c-8c1a-4a95-afd8-13bd4cea436f\"",
"room": "room name",
"$metadata": {
"$model": "dtmi:examplecom:interfaceName;1",
"room": {
"lastUpdateTime": "2021-12-09T20:28:52.6651216Z"
}
}
},
"contenttype": "application/json",
"traceparent": "00-2aa957558db348f387ef704b37631a1d-51f716e7397ec64b-01"
},
"eventType": "Microsoft.DigitalTwins.Twin.Create",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2021-12-09T20:28:52.6745538Z",
"topic": "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.EventGrid/topics/<topic-name>"
}
إعلامات تغيير علاقة التوأم الرقمي
يتم تشغيل إعلامات تغيير العلاقة عند إنشاء أي علاقة لتوأم رقمي أو تحديثها أو حذفها.
خصائص
فيما يلي الحقول في نص إعلام تغيير العلاقة.
الاسم | القيمة |
---|---|
id |
معرّف الإعلام، مثل UUID أو عداد تحتفظ به الخدمة. source + id فريد لكل حدث مميز |
source |
اسم مثيل Azure Digital Twins، مثل mydigitaltwins.westus2.azuredigitaltwins.net |
data |
حمولة العلاقة التي تم تغييرها. للحصول على التفاصيل، راجع تفاصيل النص الأساسي أدناه. |
specversion |
1.0 تتوافق الرسالة مع هذا الإصدار من مواصفات CloudEvents. |
type |
Microsoft.DigitalTwins.Relationship.Create Microsoft.DigitalTwins.Relationship.Update Microsoft.DigitalTwins.Relationship.Delete |
datacontenttype |
application/json |
subject |
معرف العلاقة، مثل <twin-ID>/relationships/<relationshipID> |
time |
الطابع الزمني لوقت حدوث العملية على العلاقة |
traceparent |
سياق تتبع W3C للحدث |
تفاصيل الجسم
داخل الرسالة، data
يحتوي الحقل على حمولة علاقة، بتنسيق JSON. يستخدم نفس تنسيق GET
طلب علاقة عبر واجهة برمجة تطبيقات DigitalTwins.
فيما يلي أمثلة لنوع الرسالة هذا لكل مخطط إعلام محتمل.
{
"id": "4d850574-0a28-4667-a59e-3b382ff0e74e",
"subject": "example-twin1/relationships/RuntimeEventsScenario_edge",
"data": {
"data": {
"modelId": "dtmi:examplecom:interfaceName;1",
"patch": [
{
"value": "new value",
"path": "/prop1",
"op": "replace"
}
]
},
"contenttype": "application/json",
"traceparent": "00-2aa957558db348f387ef704b37631a1d-c1fcf951f540ec44-01"
},
"eventType": "Microsoft.DigitalTwins.Relationship.Update",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "2021-12-09T20:28:53.2016395Z",
"topic": "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.EventGrid/topics/<topic-name>"
}
رسائل القياس عن بعد للتوائم الرقمية
يمكن للتوائم الرقمية استخدام واجهة برمجة تطبيقات SendTelemetry لإرسال رسائل بيانات تتبع الاستخدام وإرسالها إلى نقاط نهاية الخروج.
خصائص
فيما يلي الحقول في النص الأساسي لرسالة بيانات تتبع الاستخدام.
الاسم | القيمة |
---|---|
id |
معرف الإعلام، الذي يتم توفيره من قبل العميل عند استدعاء واجهة برمجة تطبيقات بيانات تتبع الاستخدام. |
source |
اسم مؤهل بالكامل للتوأم الذي تم إرسال حدث القياس عن بعد منه. يستخدم التنسيق التالي: <your-Digital-Twin-instance>.api.<your-region>.digitaltwins.azure.net/<twin-ID> . |
specversion |
1.0 تتوافق الرسالة مع هذا الإصدار من مواصفات CloudEvents. |
type |
microsoft.iot.telemetry |
data |
رسالة بيانات تتبع الاستخدام التي يتم إرسالها من التوأم. لا تحتاج الحمولة إلى المحاذاة مع أي مخطط محدد في مثيل Azure Digital Twins. |
dataschema |
مخطط البيانات هو معرف نموذج التوأم أو المكون الذي يصدر بيانات تتبع الاستخدام. على سبيل المثال، dtmi:example:com:floor4;2 |
datacontenttype |
application/json |
traceparent |
سياق تتبع W3C للحدث. |
تفاصيل الجسم
يحتوي الجسم على قياس القياس عن بعد جنبا إلى جنب مع بعض المعلومات السياقية حول التوأم. فيما يلي أمثلة لنوع الرسالة هذا لكل مخطط إعلام محتمل.
{
"id": "6f6635d8-f1b8-43ec-80fb-bb9453fc611c",
"subject": "example-twin1",
"data": {
"data": {
"prop": "hello from telemetry"
},
"dataschema": "dtmi:examplecom:interfaceName;1",
"contenttype": "application/json-patch+json; charset=utf-8",
"traceparent": "00-2aa957558db348f387ef704b37631a1d-e894098b46243743-01"
},
"eventType": "microsoft.iot.telemetry",
"dataVersion": "1.0",
"metadataVersion": "1",
"eventTime": "0001-01-01T00:00:00Z",
"topic": "/subscriptions/<sub>/resourceGroups/<rg>/providers/Microsoft.EventGrid/topics/<topic-name>"
}
الخطوات التالية
تعرف على تسليم الأحداث إلى وجهات مختلفة، باستخدام نقاط النهاية والمسارات: