تكوين تدفقات البيانات في عمليات Azure IoT

هام

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

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

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

تدفق البيانات هو المسار الذي تأخذه البيانات من المصدر إلى الوجهة مع تحويلات اختيارية. يمكنك تكوين تدفق البيانات عن طريق إنشاء مورد مخصص ل Dataflow أو باستخدام مدخل Azure IoT Operations Studio. يتكون تدفق البيانات من ثلاثة أجزاء: المصدر والتحويل والوجهة.

رسم تخطيطي لتدفق بيانات يوضح التدفق من المصدر إلى التحويل ثم الوجهة.

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

يمكنك استخدام تجربة العمليات في عمليات Azure IoT لإنشاء تدفق بيانات. توفر تجربة العمليات واجهة مرئية لتكوين تدفق البيانات. يمكنك أيضا استخدام Bicep لإنشاء تدفق بيانات باستخدام ملف قالب Bicep، أو استخدام Kubernetes لإنشاء تدفق بيانات باستخدام ملف YAML.

تابع القراءة لمعرفة كيفية تكوين المصدر والتحويل والوجهة.

المتطلبات الأساسية

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

ملف تعريف تدفق البيانات

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

نقاط نهاية تدفق البيانات

نقاط نهاية تدفق البيانات مطلوبة لتكوين المصدر والوجهة لتدفق البيانات. للبدء بسرعة، يمكنك استخدام نقطة نهاية تدفق البيانات الافتراضية لوسيط MQTT المحلي. يمكنك أيضا إنشاء أنواع أخرى من نقاط نهاية تدفق البيانات مثل Kafka أو Event Hubs أو Azure Data Lake Storage. لمعرفة كيفية تكوين كل نوع من نقاط نهاية تدفق البيانات، راجع تكوين نقاط نهاية تدفق البيانات.

الشروع في العمل

بمجرد أن يكون لديك المتطلبات الأساسية، يمكنك البدء في إنشاء تدفق بيانات.

لإنشاء تدفق بيانات في تجربة العمليات، حدد Dataflow>Create dataflow. ثم ترى الصفحة حيث يمكنك تكوين المصدر والتحويل والوجهة لتدفق البيانات.

لقطة شاشة تستخدم تجربة العمليات لإنشاء تدفق بيانات.

راجع الأقسام التالية لمعرفة كيفية تكوين أنواع عمليات تدفق البيانات.

المصدر

لتكوين مصدر لتدفق البيانات، حدد مرجع نقطة النهاية وقائمة بمصادر البيانات لنقطة النهاية.

استخدام الأصل كمصدر

يمكنك استخدام أصل كمصدر لتدفق البيانات. لا يتوفر استخدام أحد الأصول كمصدر إلا في تجربة العمليات.

  1. ضمن Source details، حدد Asset.

  2. حدد الأصل الذي تريد استخدامه كنقطة نهاية المصدر.

  3. حدد Proceed.

    يتم عرض قائمة بنقاط البيانات للأصل المحدد.

    لقطة شاشة تستخدم تجربة العمليات لتحديد أصل كنقطة نهاية المصدر.

  4. حدد Apply لاستخدام الأصل كنقطة نهاية المصدر.

استخدام نقطة نهاية MQTT الافتراضية كمصدر

  1. ضمن Source details، حدد MQTT.

    لقطة شاشة تستخدم تجربة العمليات لتحديد MQTT كنقطة نهاية المصدر.

  2. أدخل الإعدادات التالية لمصدر MQTT:

    الإعدادات ‏‏الوصف
    موضوع MQTT عامل تصفية موضوع MQTT للاشتراك فيه للرسائل الواردة. راجع تكوين مواضيع MQTT أو Kafka.
    مخطط الرسائل المخطط الذي يجب استخدامه لإلغاء تسلسل الرسائل الواردة. راجع تحديد مخطط لإلغاء تسلسل البيانات.
  3. حدد تطبيق.

لمزيد من المعلومات حول نقطة نهاية MQTT الافتراضية وإنشاء نقطة نهاية MQTT كمصدر تدفق بيانات، راجع نقطة نهاية MQTT.

استخدام نقطة نهاية تدفق بيانات MQTT أو Kafka المخصصة كمصدر

إذا قمت بإنشاء نقطة نهاية تدفق بيانات MQTT أو Kafka مخصصة (على سبيل المثال، لاستخدامها مع Event Grid أو Event Hubs)، يمكنك استخدامها كمصدر لتدفق البيانات. تذكر أنه لا يمكن استخدام نقاط نهاية نوع التخزين، مثل Data Lake أو Fabric OneLake، كمصدر.

لتكوين، استخدم Kubernetes YAML أو Bicep. استبدل قيم العنصر النائب باسم نقطة النهاية المخصصة والموضوعات.

استخدام نقطة نهاية MQTT أو Kafka مخصصة كمصدر غير مدعوم حاليا في تجربة العمليات.

تكوين مصادر البيانات (موضوعات MQTT أو Kafka)

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

موضوعات MQTT

عندما يكون المصدر نقطة نهاية MQTT (مضمنة في شبكة الأحداث)، يمكنك استخدام عامل تصفية موضوع MQTT للاشتراك في الرسائل الواردة. يمكن أن يتضمن عامل تصفية الموضوع أحرف بدل للاشتراك في مواضيع متعددة. على سبيل المثال، thermostats/+/telemetry/temperature/# يشترك في جميع رسائل القياس عن بعد لدرجة الحرارة من منظمات الحرارة. لتكوين عوامل تصفية موضوع MQTT:

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

إشعار

يمكن تحديد عامل تصفية موضوع MQTT واحد فقط في تجربة العمليات. لاستخدام عوامل تصفية مواضيع MQTT متعددة، استخدم Bicep أو Kubernetes.

موضوعات Kafka

عندما يكون المصدر نقطة نهاية Kafka (مضمنة في مراكز الأحداث)، حدد مواضيع kafka الفردية للاشتراك فيها للرسائل الواردة. أحرف البدل غير معتمدة، لذلك يجب تحديد كل موضوع بشكل ثابت.

إشعار

عند استخدام مراكز الأحداث عبر نقطة نهاية Kafka، يكون كل مركز أحداث فردي داخل مساحة الاسم هو موضوع Kafka. على سبيل المثال، إذا كان لديك مساحة اسم لمراكز الأحداث مع مركزي أحداث، وhumidifiers، thermostats يمكنك تحديد كل مركز أحداث كموضوع Kafka.

لتكوين مواضيع Kafka:

استخدام نقطة نهاية Kafka كمصدر غير مدعوم حاليا في تجربة العمليات.

تحديد مخطط لإلغاء تسلسل البيانات

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

يعد تحديد المخطط مناسبا فقط عند استخدام مصدر MQTT أو Kafka. إذا كان المصدر أحد الأصول، يتم استنتاج المخطط تلقائيا من تعريف الأصل.

لتكوين المخطط المستخدم لإلغاء تسلسل الرسائل الواردة من مصدر:

في العمليات تجربة تفاصيل مصدر تدفق البيانات، حدد MQTT واستخدم حقل مخطط الرسالة لتحديد المخطط. يمكنك استخدام الزر Upload لتحميل ملف مخطط أولا. لمعرفة المزيد، راجع فهم مخططات الرسائل.

الاشتراكات المشتركة

لاستخدام الاشتراكات المشتركة مع مصادر MQTT، يمكنك تحديد موضوع الاشتراك المشترك في شكل $shared/<GROUP_NAME>/<TOPIC_FILTER>.

في تفاصيل مصدر تدفق البيانات لتجربة العمليات، حدد MQTT واستخدم حقل موضوع MQTT لتحديد مجموعة الاشتراك المشترك والموضوع.

إشعار

إذا كان عدد المثيلات في ملف تعريف تدفق البيانات أكبر من 1، تتم إضافة بادئة موضوع الاشتراك المشترك تلقائيا إلى عامل تصفية الموضوع.

التحويل

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

  1. إثراء: إضافة بيانات إضافية إلى البيانات المصدر نظرا لمجموعة بيانات وشرط لمطابقتها.
  2. عامل التصفية: تصفية البيانات استنادا إلى شرط.
  3. الخريطة: نقل البيانات من حقل إلى آخر مع تحويل اختياري.

في تجربة العمليات، حدد Dataflow>Add transform (اختياري) .

لقطة شاشة تستخدم تجربة العمليات لإضافة تحويل إلى تدفق البيانات.

إثراء: إضافة بيانات مرجعية

لإثراء البيانات، يمكنك استخدام مجموعة البيانات المرجعية في مخزن الحالة الموزعة لعمليات Azure IoT (DSS). يتم استخدام مجموعة البيانات لإضافة بيانات إضافية إلى بيانات المصدر استنادا إلى شرط. يتم تحديد الشرط ك حقل في البيانات المصدر التي تطابق حقلا في مجموعة البيانات.

يمكنك تحميل نموذج البيانات في DSS باستخدام نموذج أداة مجموعة DSS. تتوافق الأسماء الرئيسية في مخزن الحالة الموزعة مع مجموعة بيانات في تكوين تدفق البيانات.

حاليا، لا تتوفر عملية الإثراء في تجربة العمليات.

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

عامل التصفية: تصفية البيانات استنادا إلى شرط

لتصفية البيانات على شرط، يمكنك استخدام filter المرحلة. يتم تحديد الشرط ك حقل في البيانات المصدر التي تطابق قيمة.

  1. ضمن Transform (اختياري)، حدد Filter>Add.

  2. اختر نقاط البيانات لتضمينها في مجموعة البيانات.

  3. إضافة شرط عامل تصفية ووصف.

    لقطة شاشة تستخدم تجربة العمليات لإضافة تحويل عامل تصفية.

  4. حدد تطبيق.

على سبيل المثال، يمكنك استخدام شرط عامل تصفية مثل temperature > 20 تصفية البيانات الأقل من أو تساوي 20 استنادا إلى حقل درجة الحرارة.

الخريطة: نقل البيانات من حقل إلى آخر

لتعيين البيانات إلى حقل آخر مع تحويل اختياري، يمكنك استخدام map العملية. يتم تحديد التحويل كصيغة تستخدم الحقول في البيانات المصدر.

في تجربة العمليات، يتم دعم التعيين حاليا باستخدام تحويلات الحساب .

  1. ضمن Transform (اختياري) ، حدد Compute>Add.

  2. أدخل الحقول والتعبيرات المطلوبة.

    لقطة شاشة تستخدم تجربة العمليات لإضافة تحويل حساب.

  3. حدد تطبيق.

لمعرفة المزيد، راجع تعيين البيانات باستخدام تدفقات البيانات وتحويل البيانات باستخدام تدفقات البيانات.

تسلسل البيانات وفقا لمخطط

إذا كنت تريد تسلسل البيانات قبل إرسالها إلى الوجهة، فستحتاج إلى تحديد تنسيق مخطط وتسلسل. وإلا، يتم تسلسل البيانات في JSON مع الأنواع المستنتجة. تتطلب نقاط نهاية التخزين مثل Microsoft Fabric أو Azure Data Lake مخططا لضمان تناسق البيانات. تنسيقات التسلسل المدعومة هي Parquet و Delta.

حاليا، تحديد مخطط الإخراج والتسلسل غير مدعوم في تجربة العمليات.

لمزيد من المعلومات حول سجل المخطط، راجع فهم مخططات الرسائل.

الوجهة

لتكوين وجهة لتدفق البيانات، حدد مرجع نقطة النهاية ووجهة البيانات. يمكنك تحديد قائمة وجهات البيانات لنقطة النهاية.

لإرسال البيانات إلى وجهة أخرى غير وسيط MQTT المحلي، قم بإنشاء نقطة نهاية تدفق البيانات. لمعرفة كيفية إجراء ذلك، راجع تكوين نقاط نهاية تدفق البيانات.

هام

تتطلب نقاط نهاية التخزين مرجع مخطط. إذا قمت بإنشاء نقاط نهاية وجهة التخزين ل Microsoft Fabric OneLake وADS Gen 2 وAzure Data Explorer والتخزين المحلي، يجب تحديد مرجع المخطط.

  1. حدد نقطة نهاية تدفق البيانات لاستخدامها كوجهة.

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

  2. حدد متابعة لتكوين الوجهة.

  3. أدخل الإعدادات المطلوبة للوجهة، بما في ذلك الموضوع أو الجدول لإرسال البيانات إليه. راجع تكوين وجهة البيانات (موضوع أو حاوية أو جدول) لمزيد من المعلومات.

تكوين وجهة البيانات (موضوع أو حاوية أو جدول)

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

نوع نقطة النهاية معنى وجهة البيانات ‏‏الوصف
MQTT (أو شبكة الأحداث) الموضوع موضوع MQTT حيث يتم إرسال البيانات. يتم دعم الموضوعات الثابتة فقط، ولا توجد أحرف بدل.
Kafka (أو مراكز الأحداث) الموضوع موضوع Kafka حيث يتم إرسال البيانات. يتم دعم الموضوعات الثابتة فقط، ولا توجد أحرف بدل. إذا كانت نقطة النهاية عبارة عن مساحة اسم لمراكز الأحداث، فإن وجهة البيانات هي مركز الأحداث الفردي داخل مساحة الاسم.
Azure Data Lake Storage Gen2 الحاوية الحاوية في حساب التخزين. ليس الجدول.
Microsoft Fabric OneLake جدول أو مجلد يتوافق مع نوع المسار المكون لنقطة النهاية.
Azure Data Explorer ‏(Kusto) جدول الجدول في قاعدة بيانات Azure Data Explorer.
التخزين المحلي مجلد اسم المجلد أو الدليل في تحميل وحدة التخزين الثابتة للتخزين المحلي.

لتكوين وجهة البيانات:

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

لقطة شاشة تعرض تجربة العمليات التي تطالب المستخدم بإدخال موضوع MQTT نظرا لنوع نقطة النهاية.

مثال

المثال التالي هو تكوين تدفق البيانات الذي يستخدم نقطة نهاية MQTT للمصدر والوجهة. يقوم المصدر بتصفية البيانات من مواضيع thermostats/+/telemetry/temperature/# MQTT و humidifiers/+/telemetry/humidity/#. يحول التحويل درجة الحرارة إلى فهرنهايت ويصفي البيانات حيث تكون درجة الحرارة أقل من 100000. ترسل الوجهة البيانات إلى موضوع factoryMQTT .

apiVersion: connectivity.iotoperations.azure.com/v1beta1
kind: Dataflow
metadata:
  name: my-dataflow
  namespace: azure-iot-operations
spec:
  profileRef: default
  mode: Enabled
  operations:
    - operationType: Source
      sourceSettings:
        endpointRef: default
        dataSources:
          - thermostats/+/telemetry/temperature/#
          - humidifiers/+/telemetry/humidity/#
    - operationType: builtInTransformation
      builtInTransformationSettings:
        filter:
          - inputs:
              - 'temperature.Value'
              - '"Tag 10".Value'
            expression: "$1*$2<100000"
        map:
          - inputs:
              - '*'
            output: '*'
          - inputs:
              - temperature.Value
            output: TemperatureF
            expression: cToF($1)
          - inputs:
              - '"Tag 10".Value'
            output: 'Tag 10'
    - operationType: Destination
      destinationSettings:
        endpointRef: default
        dataDestination: factory

التحقق من عمل تدفق البيانات

اتبع البرنامج التعليمي: جسر MQTT ثنائي الاتجاه إلى Azure Event Grid للتحقق من عمل تدفق البيانات.

تصدير تكوين تدفق البيانات

لتصدير تكوين تدفق البيانات، يمكنك استخدام تجربة العمليات أو عن طريق تصدير المورد المخصص ل Dataflow.

حدد تدفق البيانات الذي تريد تصديره وحدد تصدير من شريط الأدوات.

لقطة شاشة تستخدم تجربة العمليات لتصدير تدفق البيانات.

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