مشاركة عبر


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

تتناول هذه المقالة إعلامات الأحداث التي تم إنشاؤها بواسطة 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>"
}

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

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