بنية الرسالة في مسارات معالج البيانات

هام

معاينة عمليات Azure IoT - التي تم تمكينها بواسطة Azure Arc قيد المعاينة حاليا. يجب عدم استخدام برنامج المعاينة هذا في بيئات الإنتاج.

ستحتاج إلى نشر تثبيت Azure IoT Operations جديد عند توفير إصدار متوفر بشكل عام، فلن تتمكن من ترقية تثبيت معاينة.

للحصول على الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي، أو المعاينة، أو التي لم يتم إصدارها بعد في التوفر العام، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.

يعالج معالج البيانات الرسائل الواردة عن طريق تمريرها عبر سلسلة من مراحل البنية الأساسية لبرنامج ربط العمليات التجارية. يمكن لكل مرحلة في المسار تحويل الرسالة قبل تمريرها إلى المرحلة التالية. توضح هذه المقالة البنية المستخدمة لتمثيل الرسائل أثناء تنقلها عبر البنية الأساسية لبرنامج ربط العمليات التجارية. يعد فهم بنية الرسالة أمرا مهما عند تكوين مراحل المسار لمعالجة رسائل القياس عن بعد.

يوضح المثال التالي تمثيل JSON لرسالة تمت قراءتها من وسيط MQTT بواسطة مسار:

{
    "systemProperties":{
        "partitionKey":"foo",
        "partitionId":5,
        "timestamp":"2023-01-11T10:02:07Z"
    },
    "qos":1,
    "topic":"/assets/foo/tags/bar",
    "properties":{
        "responseTopic":"outputs/foo/tags/bar",
        "contentType": "application/json",
        "payloadFormat":1,
        "correlationData":"base64::Zm9v",
        "messageExpiry":412
    },
    "userProperties":[
        {
            "key":"prop1",
            "value":"value1"
        },
        {
            "key":"prop2",
            "value":"value2"
        }
    ],
    "payload":
    { 
        "values":[ 
            { 
                "timeStamp":"2022-06-14T16:59:01Z", 
                "tag":"temperature", 
                "numVal":250
            }, 
            { 
                "timeStamp":"2022-06-14T16:59:01Z", 
                "tag":"pressure", 
                "numVal":30 
            }, 
            { 
                "timeStamp":"2022-06-14T16:59:01Z", 
                "tag":"humidity", 
                "numVal":10
            }, 
            { 
                "timeStamp":"2022-06-14T16:59:01Z", 
                "tag":"runningStatus", 
                "boolVal":true
            }
        ] 
    } 
}

أنواع البيانات

تدعم رسائل معالج البيانات أنواع البيانات التالية:

  • الخريطة
  • صفيف
  • Boolean
  • عدد صحيح – حجم 64 بت
  • Float – حجم 64 بت
  • السلسلة‬
  • ثنائي

بيانات النظام

يتم وضع جميع بيانات التعريف على مستوى النظام في العقدة systemProperties :

الخاصية الوصف النوع إشعار
timestamp طابع زمني RFC3339 UTC بالمللي ثانية يمثل وقت تلقي النظام للرسالة. السلسلة‬ تتم إضافة هذا الحقل دائما في مرحلة الإدخال.
partitionId القسم الفعلي للرسالة. رقم صحيح تتم إضافة هذا الحقل دائما في مرحلة الإدخال.
partitionKey مفتاح القسم المنطقي المحدد في مرحلة الإدخال. السلسلة‬ تتم إضافة هذا الحقل فقط إذا قمت بتعريف تعبير قسم.

الحمولة

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

  • إذا اخترت Raw التنسيق في مرحلة الإدخال، يكون محتوى الحمولة ثنائيا.
  • إذا تحلل مرحلة الإدخال بياناتك، يتم تمثيل محتويات الحمولة وفقا لذلك.

بشكل افتراضي، لا تحلل البنية الأساسية لبرنامج ربط العمليات التجارية الحمولة الواردة. يوضح المثال السابق بيانات الإدخال التي تم تحليلها. لمعرفة المزيد، راجع تنسيقات الرسائل.

بيانات التعريف

تصبح جميع بيانات التعريف التي ليست جزءا من البيانات الأساسية خصائص المستوى الأعلى داخل الرسالة:

الخاصية الوصف النوع إشعار
topic الموضوع الذي تتم قراءة الرسالة منه. السلسلة‬ تتم إضافة هذا الحقل دائما في الإدخال.
qos جودة مستوى الخدمة المختارة في مرحلة الإدخال. رقم صحيح تتم إضافة هذا الحقل دائما في مرحلة الإدخال.
packetId معرف الحزمة للرسالة. رقم صحيح تتم إضافة هذا الحقل فقط إذا كانت جودة الخدمة أو 1 2.
properties مفتاح القسم المنطقي المحدد في مرحلة الإدخال. الخريطة تتم إضافة حقيبة الخصائص دائما.
userProperties خصائص معرفة من قبل المستخدم. صفيف تتم إضافة حقيبة الخصائص دائما. يمكن أن يكون المحتوى فارغا إذا لم تكن هناك خصائص مستخدم موجودة في الرسالة.