إخراج مراكز الأحداث من Azure Stream Analytics
إن خدمة مراكز أحداث Azure هي وسيلة استيعاب قابلة للتطوير بشكل كبير للنشر والاشتراك. يمكنه جمع ملايين الأحداث في الثانية. أحد استخدامات مركز الأحداث كإخراج هو عندما يصبح إخراج وظيفة Stream Analytics مدخلاً لوظيفة دفق أخرى. للحصول على معلومات عن الحجم الأقصى للرسالة وتحسين حجم الدُفعة، راجع قسم حجم دفعة الإخراج.
تكوين الإخراج
يحتوي الجدول التالي على المعلمات اللازمة لتكوين تدفقات البيانات من مراكز الأحداث كإخراج.
اسم الخاصية | الوصف |
---|---|
اسم مستعار للإخراج | اسم مألوف يُستخدم في الاستعلامات لتوجيه إخراج الاستعلام إلى مركز الأحداث هذا. |
مساحة اسم مركز الحدث | حاوية لمجموعة من كيانات المراسلة. عندما أنشأت مركز أحداث جديد، قمت أيضًا بإنشاء مساحة اسم مركز أحداث. |
اسم مركز الأحداث | اسم إخراج مركز الأحداث الخاص بك. |
اسم نهج مركز الحدث | نهج الوصول المشترك، والتي يمكنك إنشاؤها في علامة التبويب تكوين في مركز الأحداث. لكل نهج وصول مشترك اسم وأذونات تقوم بتعيينها ومفاتيح وصول. |
مفتاح نهج مركز أحداث | مفتاح الوصول المشترك المستخدم لمصادقة الوصول إلى مساحة اسم لوحة الوصل للحدث. |
عمود مفتاح التقسيم | اختياري. عمود يحتوي على مفتاح التقسيم لمخرج مركز الأحداث. |
تنسيق تسلسل الأحداث | تنسيق التسلسل لبيانات الإخراج. يتم دعم JSON وCSV وAvro. |
الترميز | بالنسبة إلى CSV وJSON، فإن تنسيق UTF-8 هو تنسيق الترميز الوحيد المدعوم في الوقت الحالي. |
المحدِد | ينطبق فقط على تسلسل CSV. يدعم Stream Analytics عددًا من المحدِّدات الشائعة لتسلسل البيانات بتنسيق CSV. القيم المدعومة هي الفاصلة، والفاصلة المنقوطة، والمسافة، وعلامة الجدولة، والشريط العمودي. |
تنسيق | ينطبق فقط على تسلسل JSON. يُحدِّد مفصول بسطر أن الناتج يتم تنسيقه من خلال فصل كل عنصر JSON بسطر جديد. إذا حددت Line separated، فستتم قراءة JSON عنصر واحد في كل مرة. لن يكون المحتوى بأكمله في حد ذاته JSON صالحاً. يحدد الصفيف تنسيق الإخراج كصفيف من عناصر JSON. |
أعمدة الملكية | اختياري. أعمدة مفصولة بفواصل يجب إرفاقها كخصائص مستخدم للرسالة الصادرة بدلاً من الحمولة. يوجد مزيد من المعلومات حول هذه الميزة في قسم Custom metadata properties for output. |
التقسيم
يختلف التقسيم اعتمادًا على محاذاة القسم. عند محاذاة مفتاح القسم لمخرج مركز أحداث بشكلٍ متساوٍ مع خطوة الاستعلام الأولية (السابقة)، يكون عدد الكتاب هو نفسه عدد الأقسام في إخراج مركز الأحداث. يستخدم كل كاتب فئة EventHubSender لإرسال الأحداث إلى القسم المحدد. عندما لا يتم محاذاة مفتاح القسم الخاص بإخراج مركز الأحداث مع خطوة الاستعلام الأولية (السابقة)، يكون عدد الكُتاب هو نفسه عدد الأقسام في تلك الخطوة السابقة. كل كاتب يستخدم فئة SendBatchAsync في EventHubClient لإرسال الأحداث إلى كافة أقسام الإخراج.
حجم دفعة الإخراج
الحد الأقصى لحجم الرسالة هو 256 كيلوبايت أو 1 ميغابايت لكل رسالة. لمزيد من المعلومات، راجع حدود مراكز الأحداث. عندما لا تتم محاذاة تقسيم الإدخال/الإخراج، يتم تعبئة كل حدث على حدة في EventData
وإرساله في دفعة تصل إلى الحد الأقصى لحجم الرسالة. يحدث هذا أيضًا إذا تم استخدام خصائص بيانات التعريف المخصصة. عند محاذاة تقسيم الإدخال/الإخراج، يتم تجميع أحداث متعددة في مثيل EventData
واحد، حتى الحد الأقصى لحجم الرسالة، ويتم إرسالها.
خصائص بيانات التعريف المخصصة للإخراج
يمكنك إرفاق أعمدة الاستعلام كخصائص مستخدم إلى رسائلك الصادرة. لا تدخل هذه الأعمدة في الحمولة. الخصائص موجودة في شكل قاموس على رسالة الإخراج. المفتاح هو اسم العمود والقيمة هي قيمة العمود في قاموس الخصائص. يتم دعم جميع أنواع بيانات Stream Analytics باستثناء Record وArray.
في المثال التالي، تمت إضافة الحقول DeviceId
وDeviceStatus
إلى بيانات التعريف.
استخدم الاستعلام التالي:
select *, DeviceId, DeviceStatus from iotHubInput
تكوين
DeviceId,DeviceStatus
كأعمدة خصائص في الإخراج.
الصورة التالية هي لخصائص رسالة الإخراج المتوقعة التي تم فحصها في مركز أحداث باستخدام Service Bus Explorer.
التسليم مرة واحدة بالضبط
يتم دعم التسليم مرة واحدة بالضبط في إخراج مراكز الأحداث بشكل افتراضي. بغض النظر عن إدخالك، يضمن Stream Analytics عدم فقدان البيانات أو عدم تكرارها في إخراج مراكز الأحداث، عبر عمليات إعادة التشغيل التي بدأها المستخدم من وقت الإخراج الأخير، ما يمنع إنتاج التكرارات. هذا يبسط إلى حد كبير تدفق البنية الأساسية لبرنامج ربط العمليات التجارية من خلال عدم الاضطرار إلى مراقبة منطق إلغاء التكرار وتنفيذه واستكشاف الأخطاء وإصلاحها.