تكوين تدفقات البيانات في عمليات Azure IoT
هام
معاينة عمليات Azure IoT - التي تم تمكينها بواسطة Azure Arc قيد المعاينة حاليا. يجب عدم استخدام برنامج المعاينة هذا في بيئات الإنتاج.
ستحتاج إلى نشر تثبيت Azure IoT Operations جديد عند توفير إصدار متوفر بشكل عام. لن تتمكن من ترقية تثبيت معاينة.
للحصول على الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي، أو المعاينة، أو التي لم يتم إصدارها بعد في التوفر العام، راجع شروط الاستخدام التكميلية لمعاينات Microsoft Azure.
تدفق البيانات هو المسار الذي تأخذه البيانات من المصدر إلى الوجهة مع تحويلات اختيارية. يمكنك تكوين تدفق البيانات عن طريق إنشاء مورد مخصص ل Dataflow أو باستخدام مدخل Azure IoT Operations Studio. يتكون تدفق البيانات من ثلاثة أجزاء: المصدر والتحويل والوجهة.
لتعريف المصدر والوجهة، تحتاج إلى تكوين نقاط نهاية تدفق البيانات. التحويل اختياري ويمكن أن يتضمن عمليات مثل إثراء البيانات وتصفية البيانات وتعيين البيانات إلى حقل آخر.
هام
يجب أن يحتوي كل تدفق بيانات على نقطة النهاية الافتراضية لوسيط MQTT المحلي لعمليات Azure IoT كمصدر أو وجهة.
يمكنك استخدام تجربة العمليات في عمليات Azure IoT لإنشاء تدفق بيانات. توفر تجربة العمليات واجهة مرئية لتكوين تدفق البيانات. يمكنك أيضا استخدام Bicep لإنشاء تدفق بيانات باستخدام ملف قالب Bicep، أو استخدام Kubernetes لإنشاء تدفق بيانات باستخدام ملف YAML.
تابع القراءة لمعرفة كيفية تكوين المصدر والتحويل والوجهة.
المتطلبات الأساسية
يمكنك نشر تدفقات البيانات بمجرد أن يكون لديك مثيل Azure IoT Operations Preview باستخدام ملف تعريف تدفق البيانات الافتراضي ونقطة النهاية. ومع ذلك، قد تحتاج إلى تكوين ملفات تعريف تدفق البيانات ونقاط النهاية لتخصيص تدفق البيانات.
ملف تعريف تدفق البيانات
يحدد ملف تعريف تدفق البيانات عدد المثيلات لتدفقات البيانات ضمنها لاستخدامها. إذا لم تكن بحاجة إلى مجموعات متعددة من تدفقات البيانات بإعدادات تحجيم مختلفة، يمكنك استخدام ملف تعريف تدفق البيانات الافتراضي. لمعرفة كيفية تكوين ملف تعريف تدفق البيانات، راجع تكوين ملفات تعريف تدفق البيانات.
نقاط نهاية تدفق البيانات
نقاط نهاية تدفق البيانات مطلوبة لتكوين المصدر والوجهة لتدفق البيانات. للبدء بسرعة، يمكنك استخدام نقطة نهاية تدفق البيانات الافتراضية لوسيط MQTT المحلي. يمكنك أيضا إنشاء أنواع أخرى من نقاط نهاية تدفق البيانات مثل Kafka أو Event Hubs أو Azure Data Lake Storage. لمعرفة كيفية تكوين كل نوع من نقاط نهاية تدفق البيانات، راجع تكوين نقاط نهاية تدفق البيانات.
الشروع في العمل
بمجرد أن يكون لديك المتطلبات الأساسية، يمكنك البدء في إنشاء تدفق بيانات.
لإنشاء تدفق بيانات في تجربة العمليات، حدد Dataflow>Create dataflow. ثم ترى الصفحة حيث يمكنك تكوين المصدر والتحويل والوجهة لتدفق البيانات.
راجع الأقسام التالية لمعرفة كيفية تكوين أنواع عمليات تدفق البيانات.
المصدر
لتكوين مصدر لتدفق البيانات، حدد مرجع نقطة النهاية وقائمة بمصادر البيانات لنقطة النهاية.
استخدام الأصل كمصدر
يمكنك استخدام أصل كمصدر لتدفق البيانات. لا يتوفر استخدام أحد الأصول كمصدر إلا في تجربة العمليات.
ضمن Source details، حدد Asset.
حدد الأصل الذي تريد استخدامه كنقطة نهاية المصدر.
حدد Proceed.
يتم عرض قائمة بنقاط البيانات للأصل المحدد.
حدد Apply لاستخدام الأصل كنقطة نهاية المصدر.
عند استخدام أصل كمصدر، يتم استخدام تعريف الأصل للاستدلال على مخطط تدفق البيانات. يتضمن تعريف الأصل مخطط نقاط بيانات الأصل. لمعرفة المزيد، راجع إدارة تكوينات الأصول عن بعد.
بمجرد تكوينها، وصلت البيانات من الأصل إلى تدفق البيانات عبر وسيط MQTT المحلي. لذلك، عند استخدام أصل كمصدر، يستخدم تدفق البيانات نقطة النهاية الافتراضية ل وسيط MQTT المحلي كمصدر في الواقع.
استخدام نقطة نهاية MQTT الافتراضية كمصدر
ضمن Source details، حدد MQTT.
أدخل الإعدادات التالية لمصدر MQTT:
الإعدادات الوصف موضوع MQTT عامل تصفية موضوع MQTT للاشتراك فيه للرسائل الواردة. راجع تكوين مواضيع MQTT أو Kafka. مخطط الرسائل المخطط الذي يجب استخدامه لإلغاء تسلسل الرسائل الواردة. راجع تحديد مخطط لإلغاء تسلسل البيانات. حدد تطبيق.
إذا لم يتم استخدام نقطة النهاية الافتراضية كمصدر، فيجب استخدامها كوجهة. لمعرفة المزيد حول، راجع يجب أن تستخدم تدفقات البيانات نقطة نهاية وسيط 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.
الاشتراكات المشتركة
لاستخدام الاشتراكات المشتركة مع مصادر MQTT، يمكنك تحديد موضوع الاشتراك المشترك في شكل $shared/<GROUP_NAME>/<TOPIC_FILTER>
.
في تفاصيل مصدر تدفق البيانات لتجربة العمليات، حدد MQTT واستخدم حقل موضوع MQTT لتحديد مجموعة الاشتراك المشترك والموضوع.
إذا كان عدد المثيلات في ملف تعريف تدفق البيانات أكبر من 1، يتم تمكين الاشتراك المشترك تلقائيا لجميع تدفقات البيانات التي تستخدم مصدر MQTT. في هذه الحالة، تتم إضافة البادئة $shared
ويتم إنشاء اسم مجموعة الاشتراك المشترك تلقائيا. على سبيل المثال، إذا كان لديك ملف تعريف تدفق بيانات مع عدد مثيلات 3، ويستخدم تدفق البيانات نقطة نهاية MQTT كمصدر تم تكوينه مع الموضوعات topic1
و topic2
، يتم تحويلها تلقائيا إلى اشتراكات مشتركة ك $shared/<GENERATED_GROUP_NAME>/topic1
و $shared/<GENERATED_GROUP_NAME>/topic2
. إذا كنت تريد استخدام معرف مجموعة اشتراك مشترك مختلف، يمكنك تجاوزه في الموضوع، مثل $shared/mygroup/topic1
.
هام
تعد تدفقات البيانات التي تتطلب اشتراكا مشتركا عندما يكون عدد المثيلات أكبر من 1 أمرا مهما عند استخدام وسيط MQTT لشبكة الأحداث كمصدر لأنه لا يدعم الاشتراكات المشتركة. لتجنب فقدان الرسائل، قم بتعيين عدد مثيلات ملف تعريف تدفق البيانات إلى 1 عند استخدام وسيط MQTT لشبكة الأحداث كمصدر. وذلك عندما يكون تدفق البيانات هو المشترك ويتلقى الرسائل من السحابة.
موضوعات Kafka
عندما يكون المصدر نقطة نهاية Kafka (مضمنة في مراكز الأحداث)، حدد مواضيع kafka الفردية للاشتراك فيها للرسائل الواردة. أحرف البدل غير معتمدة، لذلك يجب تحديد كل موضوع بشكل ثابت.
إشعار
عند استخدام مراكز الأحداث عبر نقطة نهاية Kafka، يكون كل مركز أحداث فردي داخل مساحة الاسم هو موضوع Kafka. على سبيل المثال، إذا كان لديك مساحة اسم لمراكز الأحداث مع مركزي أحداث، وhumidifiers
، thermostats
يمكنك تحديد كل مركز أحداث كموضوع Kafka.
لتكوين مواضيع Kafka:
استخدام نقطة نهاية Kafka كمصدر غير مدعوم حاليا في تجربة العمليات.
تحديد مخطط لإلغاء تسلسل البيانات
إذا كانت البيانات المصدر تحتوي على حقول أو حقول اختيارية ذات أنواع مختلفة، فحدد مخطط إلغاء التسلسل لضمان التناسق. على سبيل المثال، قد تحتوي البيانات على حقول غير موجودة في كافة الرسائل. بدون المخطط، لن يتمكن التحويل من معالجة هذه الحقول حيث سيكون لها قيم فارغة. باستخدام المخطط، يمكنك تحديد القيم الافتراضية أو تجاهل الحقول.
يعد تحديد المخطط مناسبا فقط عند استخدام مصدر MQTT أو Kafka. إذا كان المصدر أحد الأصول، يتم استنتاج المخطط تلقائيا من تعريف الأصل.
لتكوين المخطط المستخدم لإلغاء تسلسل الرسائل الواردة من مصدر:
في العمليات تجربة تفاصيل مصدر تدفق البيانات، حدد MQTT واستخدم حقل مخطط الرسالة لتحديد المخطط. يمكنك استخدام الزر Upload لتحميل ملف مخطط أولا. لمعرفة المزيد، راجع فهم مخططات الرسائل.
التحويل
عملية التحويل هي المكان الذي يمكنك فيه تحويل البيانات من المصدر قبل إرسالها إلى الوجهة. التحويلات اختيارية. إذا لم تكن بحاجة إلى إجراء تغييرات على البيانات، فلا تقم بتضمين عملية التحويل في تكوين تدفق البيانات. يتم ربط تحويلات متعددة معا على مراحل بغض النظر عن الترتيب الذي يتم تحديدها به في التكوين. ترتيب المراحل هو دائما:
- إثراء خاصية جديدة أو إعادة تسميتها أو إضافتها: أضف بيانات إضافية إلى البيانات المصدر نظرا لمجموعة بيانات وشرط لمطابقته.
- عامل التصفية: تصفية البيانات استنادا إلى شرط.
- تعيين أو حساب: نقل البيانات من حقل إلى آخر مع تحويل اختياري.
في تجربة العمليات، حدد Dataflow>Add transform (اختياري) .
إثراء: إضافة بيانات مرجعية
لإثراء البيانات، يمكنك استخدام مجموعة البيانات المرجعية في مخزن الحالة الموزعة لعمليات Azure IoT (DSS). يتم استخدام مجموعة البيانات لإضافة بيانات إضافية إلى بيانات المصدر استنادا إلى شرط. يتم تحديد الشرط ك حقل في البيانات المصدر التي تطابق حقلا في مجموعة البيانات.
يمكنك تحميل نموذج البيانات في DSS باستخدام نموذج أداة مجموعة DSS. تتوافق الأسماء الرئيسية في مخزن الحالة الموزعة مع مجموعة بيانات في تكوين تدفق البيانات.
في تجربة العمليات، يتم دعم مرحلة الإثراء حاليا باستخدام تحويلات خاصية Rename و New.
في تجربة العمليات، حدد تدفق بيانات ثم إضافة تحويل (اختياري) .
اختر Rename أو New property transforms ثم حدد Add.
إذا كانت مجموعة البيانات تحتوي على سجل مع asset
الحقل، على غرار:
{
"asset": "thermostat1",
"location": "room1",
"manufacturer": "Contoso"
}
تحتوي البيانات من المصدر مع deviceId
مطابقة thermostat1
الحقل على location
الحقلين و manufacturer
المتوفرين في مرحلتي التصفية والخريطة.
لمزيد من المعلومات حول بناء جملة الشرط، راجع إثراء البيانات باستخدام تدفقات البيانات وتحويل البيانات باستخدام تدفقات البيانات.
عامل التصفية: تصفية البيانات استنادا إلى شرط
لتصفية البيانات على شرط، يمكنك استخدام filter
المرحلة. يتم تحديد الشرط ك حقل في البيانات المصدر التي تطابق قيمة.
ضمن Transform (اختياري)، حدد Filter>Add.
اختر نقاط البيانات لتضمينها في مجموعة البيانات.
إضافة شرط عامل تصفية ووصف.
حدد تطبيق.
على سبيل المثال، يمكنك استخدام شرط عامل تصفية مثل temperature > 20
تصفية البيانات الأقل من أو تساوي 20 استنادا إلى حقل درجة الحرارة.
الخريطة: نقل البيانات من حقل إلى آخر
لتعيين البيانات إلى حقل آخر مع تحويل اختياري، يمكنك استخدام map
العملية. يتم تحديد التحويل كصيغة تستخدم الحقول في البيانات المصدر.
في تجربة العمليات، يتم دعم التعيين حاليا باستخدام تحويلات الحساب .
ضمن Transform (اختياري) ، حدد Compute>Add.
أدخل الحقول والتعبيرات المطلوبة.
حدد تطبيق.
لمعرفة المزيد، راجع تعيين البيانات باستخدام تدفقات البيانات وتحويل البيانات باستخدام تدفقات البيانات.
تسلسل البيانات وفقا لمخطط
إذا كنت تريد تسلسل البيانات قبل إرسالها إلى الوجهة، فستحتاج إلى تحديد تنسيق مخطط وتسلسل. وإلا، يتم تسلسل البيانات في JSON مع الأنواع المستنتجة. تتطلب نقاط نهاية التخزين مثل Microsoft Fabric أو Azure Data Lake مخططا لضمان تناسق البيانات. تنسيقات التسلسل المدعومة هي Parquet و Delta.
حاليا، تحديد مخطط الإخراج والتسلسل غير مدعوم في تجربة العمليات.
لمزيد من المعلومات حول سجل المخطط، راجع فهم مخططات الرسائل.
الوجهة
لتكوين وجهة لتدفق البيانات، حدد مرجع نقطة النهاية ووجهة البيانات. يمكنك تحديد قائمة وجهات البيانات لنقطة النهاية.
لإرسال البيانات إلى وجهة أخرى غير وسيط MQTT المحلي، قم بإنشاء نقطة نهاية تدفق البيانات. لمعرفة كيفية إجراء ذلك، راجع تكوين نقاط نهاية تدفق البيانات. إذا لم تكن الوجهة وسيط MQTT المحلي، فيجب استخدامها كمصدر. لمعرفة المزيد حول، راجع يجب أن تستخدم تدفقات البيانات نقطة نهاية وسيط MQTT المحلية.
هام
تتطلب نقاط نهاية التخزين مرجع مخطط. إذا قمت بإنشاء نقاط نهاية وجهة التخزين ل Microsoft Fabric OneLake وADS Gen 2 وAzure Data Explorer والتخزين المحلي، يجب تحديد مرجع المخطط.
حدد نقطة نهاية تدفق البيانات لاستخدامها كوجهة.
حدد متابعة لتكوين الوجهة.
أدخل الإعدادات المطلوبة للوجهة، بما في ذلك الموضوع أو الجدول لإرسال البيانات إليه. راجع تكوين وجهة البيانات (موضوع أو حاوية أو جدول) لمزيد من المعلومات.
تكوين وجهة البيانات (موضوع أو حاوية أو جدول)
على غرار مصادر البيانات، فإن وجهة البيانات هي مفهوم يستخدم للحفاظ على نقاط نهاية تدفق البيانات قابلة لإعادة الاستخدام عبر تدفقات بيانات متعددة. بشكل أساسي، يمثل الدليل الفرعي في تكوين نقطة نهاية تدفق البيانات. على سبيل المثال، إذا كانت نقطة نهاية تدفق البيانات هي نقطة نهاية تخزين، فإن وجهة البيانات هي الجدول في حساب التخزين. إذا كانت نقطة نهاية تدفق البيانات هي نقطة نهاية Kafka، فإن وجهة البيانات هي موضوع Kafka.
نوع نقطة النهاية | معنى وجهة البيانات | الوصف |
---|---|---|
MQTT (أو شبكة الأحداث) | الموضوع | موضوع MQTT حيث يتم إرسال البيانات. يتم دعم الموضوعات الثابتة فقط، ولا توجد أحرف بدل. |
Kafka (أو مراكز الأحداث) | الموضوع | موضوع Kafka حيث يتم إرسال البيانات. يتم دعم الموضوعات الثابتة فقط، ولا توجد أحرف بدل. إذا كانت نقطة النهاية عبارة عن مساحة اسم لمراكز الأحداث، فإن وجهة البيانات هي مركز الأحداث الفردي داخل مساحة الاسم. |
Azure Data Lake Storage Gen2 | الحاوية | الحاوية في حساب التخزين. ليس الجدول. |
Microsoft Fabric OneLake | جدول أو مجلد | يتوافق مع نوع المسار المكون لنقطة النهاية. |
Azure Data Explorer (Kusto) | جدول | الجدول في قاعدة بيانات Azure Data Explorer. |
التخزين المحلي | مجلد | اسم المجلد أو الدليل في تحميل وحدة التخزين الثابتة للتخزين المحلي. عند استخدام Azure Container Storage الذي تم تمكينه بواسطة Azure Arc Cloud Ingest Edge Volumes، يجب أن يتطابق هذا مع spec.path المعلمة للوحدة الفرعية التي قمت بإنشائها. |
لتكوين وجهة البيانات:
عند استخدام تجربة العمليات، يتم تفسير حقل وجهة البيانات تلقائيا استنادا إلى نوع نقطة النهاية. على سبيل المثال، إذا كانت نقطة نهاية تدفق البيانات نقطة نهاية تخزين، فستطالبك صفحة تفاصيل الوجهة بإدخال اسم الحاوية. إذا كانت نقطة نهاية تدفق البيانات هي نقطة نهاية MQTT، فستطالبك صفحة تفاصيل الوجهة بإدخال الموضوع، وهكذا.
مثال
المثال التالي هو تكوين تدفق البيانات الذي يستخدم نقطة نهاية MQTT للمصدر والوجهة. يقوم المصدر بتصفية البيانات من موضوع azure-iot-operations/data/thermostat
MQTT . يحول التحويل درجة الحرارة إلى فهرنهايت ويصفي البيانات حيث تكون درجة الحرارة مضروبة في الرطوبة أقل من 100000. ترسل الوجهة البيانات إلى موضوع factory
MQTT .
راجع علامات تبويب Bicep أو Kubernetes للحصول على مثال التكوين.
لمشاهدة المزيد من الأمثلة على تكوينات تدفق البيانات، راجع Azure REST API - Dataflow وBicep التشغيل السريع.
التحقق من عمل تدفق البيانات
اتبع البرنامج التعليمي: جسر MQTT ثنائي الاتجاه إلى Azure Event Grid للتحقق من عمل تدفق البيانات.
تصدير تكوين تدفق البيانات
لتصدير تكوين تدفق البيانات، يمكنك استخدام تجربة العمليات أو عن طريق تصدير المورد المخصص ل Dataflow.
حدد تدفق البيانات الذي تريد تصديره وحدد تصدير من شريط الأدوات.
تكوين تدفق البيانات المناسب
للتأكد من أن تدفق البيانات يعمل كما هو متوقع، تحقق مما يلي:
- يجب استخدام نقطة نهاية تدفق بيانات MQTT الافتراضية إما كمصدر أو وجهة.
- ملف تعريف تدفق البيانات موجود ومشار إليه في تكوين تدفق البيانات.
- المصدر هو إما نقطة نهاية MQTT أو نقطة نهاية Kafka أو أصل. لا يمكن استخدام نقاط نهاية نوع التخزين كمصدر.
- عند استخدام Event Grid كمصدر، يتم تعيين عدد مثيلات ملف تعريف تدفق البيانات إلى 1 لأن وسيط Event Grid MQTT لا يدعم الاشتراكات المشتركة.
- عند استخدام Event Hubs كمصدر، يكون كل مركز أحداث في مساحة الاسم موضوع Kafka منفصل ويجب تحديده كمصدر بيانات.
- يتم تكوين التحويل، إذا تم استخدامه، مع بناء جملة مناسب، بما في ذلك الهروب المناسب من الأحرف الخاصة.
- عند استخدام نقاط نهاية نوع التخزين كوجهة ، يتم تحديد مخطط.