إخراج قوائم انتظار ناقل خدمة Microsoft Azure من Azure Stream Analytics

تقدم قوائم انتظار ناقل خدمة Microsoft Azure تسليم رسائل ما يرد أولاً يصرف أولاً (FIFO) إلى واحد أو أكثر من المستهلكين المتنافسين. عادةً ما يتم استلام الرسائل ومعالجتها من قِبل أجهزة الاستقبال بالترتيب الزمني الذي تمت إضافتها به إلى قائمة الانتظار. يتم استلام كل رسالة ومعالجتها من قِبل مستهلك واحد فقط.

في compatibility level 1.2، يستخدم Azure Stream Analytics بروتوكول المراسلة بروتوكول وضع الرسائل في قائمة انتظار (AMQP) للكتابة إلى موضوعات وقوائم انتظار ناقل الخدمة. يمكّنك AMQP من إنشاء تطبيقات مختلطة عبر الأنظمة الأساسية باستخدام بروتوكول قياسي مفتوح.

تكوين الإخراج

يسرد الجدول التالي أسماء الخصائص وأوصافها لإنشاء إخراج قائمة انتظار.

اسم الخاصية ‏‏الوصف
اسم مستعار للإخراج اسم مألوف يُستخدم في الاستعلامات لتوجيه إخراج الاستعلام إلى قائمة انتظار "Service Bus".
مساحة اسم Service Bus حاوية لمجموعة من كيانات المراسلة.
اسم الصف اسم قائمة انتظار Service Bus.
اسم نهج قائمة الانتظار عند إنشاء قائمة انتظار، يمكنك أيضاً إنشاء نُهج الوصول المشترك في علامة التبويب Configure لقائمة الانتظار. لكل نهج وصول مشترك اسم وأذونات تقوم بتعيينها ومفاتيح وصول.
مفتاح نهج قائمة الانتظار مفتاح الوصول المشترك المستخدم لمصادقة الوصول إلى مساحة اسم ناقل خدمة Microsoft Azure.
تنسيق تسلسل الأحداث تنسيق التسلسل لبيانات الإخراج. يتم دعم JSON وCSV وAvro.
الترميز بالنسبة إلى CSV وJSON، فإن تنسيق UTF-8 هو تنسيق الترميز الوحيد المدعوم في الوقت الحالي.
المحدِد ينطبق فقط على تسلسل CSV. يدعم Stream Analytics عددًا من المحدِّدات الشائعة لتسلسل البيانات بتنسيق CSV. القيم المدعومة هي الفاصلة، والفاصلة المنقوطة، والمسافة، وعلامة الجدولة، والشريط العمودي.
تنسيق ينطبق فقط على نوع JSON. يحدد الخيارLine separated أن الناتج تم تنسيقه عن طريق فصل كل عنصر JSON بسطر جديد. إذا حددت Line separated، فستتم قراءة JSON عنصر واحد في كل مرة. لن يكون المحتوى بأكمله في حد ذاته JSON صالحاً. يحدد الصفيف تنسيق الإخراج كصفيف من عناصر JSON.
أعمدة الملكية اختياري. أعمدة مفصولة بفواصل يجب إرفاقها كخصائص مستخدم للرسالة الصادرة بدلاً من الحمولة. يوجد مزيد من المعلومات حول هذه الميزة في قسم Custom metadata properties for output.
أعمدة خصائص النظام اختياري. أزواج القيم الرئيسية لخصائص النظام وأسماء الأعمدة المقابلة التي يجب إرفاقها بالرسالة الصادرة بدلاً من الحمولة.

يعتمد عدد الأقسام على SKU لناقل خدمة Microsoft Azure والحجم. مفتاح القسم هو قيمة عدد صحيح فريد لكل قسم.

التقسيم

يتم اختيار التقسيم تلقائيًا. يعتمد عدد الأقسام على SKU لناقل خدمة Microsoft Azure والحجم. مفتاح القسم هو قيمة عدد صحيح فريد لكل قسم. عدد كتّاب الإخراج هو نفس عدد الأقسام في قائمة انتظار الإخراج.

حجم دفعة الإخراج

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

خصائص بيانات التعريف المخصصة للإخراج

يمكنك إرفاق أعمدة الاستعلام كخصائص مستخدم إلى رسائلك الصادرة. لا تدخل هذه الأعمدة في الحمولة. الخصائص موجودة في شكل قاموس على رسالة الإخراج. المفتاح هو اسم العمود والقيمة هي قيمة العمود في قاموس الخصائص. يتم دعم جميع أنواع بيانات Stream Analytics باستثناء Record وArray.

في المثال التالي، تمت إضافة الحقول DeviceId وDeviceStatus إلى بيانات التعريف.

  1. استخدم الاستعلام التالي:

    select *, DeviceId, DeviceStatus from iotHubInput
    
  2. تكوين DeviceId,DeviceStatus كأعمدة خصائص في الإخراج.

    Property columns

الصورة التالية لخصائص رسالة الإخراج المتوقعة التي تم فحصها في EventHub باستخدام مستكشف ناقل خدمة Microsoft Azure.

Event custom properties

خصائص النظام

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

لا تنتقل هذه الأعمدة إلى الحمولة بدلا من ذلك يتم ملء خاصية نظام ServiceBusMessage المقابلة بقيم عمود الاستعلام. يتم دعم خصائص النظام هذه - MessageId, ContentType, Label, PartitionKey, ReplyTo, SessionId, CorrelationId, To, ForcePersistence, TimeToLive, ScheduledEnqueueTimeUtc.

يتم تحليل قيم السلسلة الخاصة بهذه الأعمدة كنوع قيمة لخاصية النظام المقابلة ويتم التعامل مع أي حالات فشل في التحليل على أنها أخطاء في البيانات. يتم توفير هذا الحقل كتنسيق كائن JSON. التفاصيل حول هذا التنسيق كالتالي:

  • محاط بأقواس معقوفة {}.
  • مكتوبة في أزواج مفتاح/قيمة.
  • يجب أن تكون المفاتيح والقيم عبارة عن سلاسل.
  • المفتاح هو اسم خاصية النظام والقيمة هي اسم عمود الاستعلام.
  • المفاتيح والقيم مفصولة بنقطتين.
  • يتم فصل كل زوج مفتاح/قيمة بفاصلة.

يوضح هذا كيفية استخدام هذه الخاصية -

  • الاستعلام: select *, column1, column2 INTO queueOutput FROM iotHubInput
  • أعمدة خصائص النظام: { "MessageId": "column1", "PartitionKey": "column2"}

يؤدي هذا إلى تعيين MessageId على رسائل قائمة انتظار Service Bus مع قيم column1 ويتم تعيين PartitionKey مع قيم column2.

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