إشعارات الأحداث

تتناول هذه المقالة إعلامات الأحداث التي تم إنشاؤها بواسطة Azure Digital Twins وبنيتها وتفاصيل حول الأنواع المختلفة التي يمكن إنشاؤها.

تنتج الأحداث المختلفة في Azure Digital Twins إعلامات، والتي تسمح للواجهة الخلفية للحل بأن تكون على دراية عند حدوث إجراءات مختلفة. ثم يتم توجيه هذه الإعلامات إلى مواقع مختلفة داخل وخارج Azure Digital Twins التي يمكنها استخدام هذه المعلومات لاتخاذ إجراء.

هناك عدة أنواع من الإعلامات التي يمكن إنشاؤها، وقد تبدو رسائل الإعلام مختلفة اعتمادا على نوع الحدث الذي تم إنشاؤها. تقدم هذه المقالة تفاصيل حول أنواع مختلفة من الرسائل، وما قد تبدو عليه.

يوضح هذا الرسم البياني أنواع الإشعارات المختلفة:

نوع الإشعار اسم مصدر التوجيه تم إنشاؤها من...
الإعلام بتغيير النسخة المتماثلة الرقمية الإعلام بتغيير النسخة المتماثلة الرقمية أي تغيير في خاصية التوأم الرقمي
إعلام دورة حياة النسخة المتماثلة الرقمية إعلام دورة حياة النسخة المتماثلة الرقمية أي عملية إنشاء أو حذف للتوائم الرقمية
إعلام بتغيير علاقة النسخة المتماثلة الرقمية إعلام بتغيير علاقة النسخة المتماثلة الرقمية أي تغيير في علاقة التوأم الرقمي
رسائل القياس عن بعد للنسخة المتماثلة الرقمي رسائل القياس عن بعد أي رسالة بيانات تتبع الاستخدام

بنية الإعلام

تعتمد بنية إعلام حدث من Azure Digital Twins على وجهة الإعلام.

تتوافق الإعلامات المرسلة إلى Event Grid مع أحد التنسيقات التالية (اعتمادا على إعدادات Event Grid):

تتوافق الإعلامات المرسلة إلى مراكز الأحداثوناقل الخدمة مع ربط بروتوكول 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>"
}

الخطوات التالية

تعرف على تسليم الأحداث إلى وجهات مختلفة، باستخدام نقاط النهاية والمسارات: