إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تتكامل تحليلات التدفق مع تدفقات بيانات Azure كمدخلات من خمسة أنواع من الموارد:
يمكن أن تتوفر هذه الموارد في نفس اشتراك Azure الخاص بك في وظيفة تحليلات البث أو في اشتراك مختلف.
الضغط
يدعم Stream Analytics الضغط لجميع مصادر الإدخال. أنواع الضغط المدعومة هي: None وGzip وDefflate. تحليلات التدفق لا تدعم الضغط للبيانات المرجعية. إذا كانت بيانات الإدخال مضغوطة من بيانات Avro، فإن Stream Analytics يعالجها بشفافية. لا تحتاج إلى تحديد نوع الضغط باستخدام تسلسل Avro.
إنشاء مدخلات أو تحريرها أو اختبارها
يمكنك استخدام Azure portal، Visual Studio، و Visual Studio Code لإضافة وعرض أو تعديل المدخلات الموجودة في وظيفة البث الخاصة بك. يمكنك أيضا اختبار اتصالات الإدخال واختبار الاستعلامات من بيانات عينة من بوابة Azure، Visual Studio، و Visual Studio Code. عند كتابة استعلام، يمكنك سرد الإدخال في عبارة FROM. يمكنك الحصول على قائمة المدخلات المتاحة من صفحة الاستعلام في البوابة. إذا أردت استخدام عدة مدخلات، اكتب JOIN منها أو اكتب عدة SELECT استفسارات.
ملاحظة
للحصول على أفضل تجربة تطوير محلي، استخدم أدوات تحليلات التدفق Stream لل Visual Studio Code. هناك فجوات معروفة في ميزات أدوات تحليلات التدفق للعبة Visual Studio 2019 (الإصدار 2.6.3000.0) ولن يتم تحسينها مستقبلا.
دفق البيانات من Event Hubs
Azure Event Hubs هو مترجم أحداث publish-subscribe عالي القابلية للتوسع. يمكن لمركز الأحداث جمع ملايين الأحداث في الثانية بحيث يمكنك معالجة وتحليل كميات هائلة من البيانات التي تنتجها أجهزتك وتطبيقاتك المتصلة. معا، توفر مراكز الأحداث وتحليلات التدفق حلا متكاملا للتحليلات اللحظية. يقوم Event Hubs بتغذية الأحداث إلى Azure في الوقت الحقيقي، وتقوم وظائف تحليلات التدفق بمعالجة تلك الأحداث في الوقت الحقيقي. على سبيل المثال، يمكنك إرسال نقرات الويب أو قراءات المستشعر أو أحداث السجل عبر الإنترنت إلى مراكز الأحداث. يمكنك بعد ذلك إنشاء وظائف Stream Analytics لاستخدام مراكز الأحداث لبيانات الإدخال للتصفية والتجميع والارتباط في الوقت الفعلي.
EventEnqueuedUtcTime هو الطابع الزمني لوصول الحدث إلى مركز الأحداث وهو الطابع الزمني الافتراضي للأحداث القادمة من مراكز الأحداث إلى تحليلات البث. لمعالجة البيانات كتيار باستخدام طابع زمني في حمولة الحدث، يجب عليك استخدام كلمة TIMESTAMP BY .
مجموعات مستهلكي Event Hubs
قم بتكوين كل مدخل في مركز الأحداث مع مجموعة مستهلكين خاصة به. عندما تحتوي المهمة على انضمام ذاتي أو تحتوي على عدة مدخلات، قد يقرأ أكثر من قارئ واحد في الأسفل بعض المدخلات. يؤثر هذا الموقف على عدد القراء في مجموعة واحدة من المستهلكين. لتجنب تجاوز حد مراكز الأحداث البالغ خمسة قراء لكل مجموعة مستهلكين في كل قسم، خصص مجموعة مستهلكين لكل وظيفة في تحليلات التدفق. هناك أيضا حد يبلغ 20 مجموعة مستهلكين لمركز أحداث المستوى القياسي. لمزيد من المعلومات، راجع Troubleshoot Azure Stream Analytics inputs.
إنشاء إدخال من مراكز الأحداث
يوضح الجدول التالي كل خاصية في صفحة New input في بوابة Azure لبث بيانات إدخال من مركز الأحداث:
| الخاصية | الوصف |
|---|---|
| الاسم المستعار للإدخل | اسم مألوف تستخدمه في استعلام الوظيفة للإشارة إلى هذا الإدخال. |
| اشتراك |
اختر اشتراك Azure الذي يوجد فيه مورد مركز الأحداث. |
| مساحة أسماء مركز الأحداث | مساحة اسم مراكز الأحداث هي حاوية لمراكز الأحداث. عند إنشاء مركز أحداث، يمكنك أيضا إنشاء مساحة الاسم. |
| اسم مركز الحدث | اسم مركز الحدث لاستخدامه كمدخل. |
| مجموعة مستهلكي Event Hub (موصى بها) | استخدم مجموعة مستهلكين مميزة لكل وظيفة تحليلات التدفق. تحدد هذه السلسلة مجموعة المستهلكين لاستخدامها لاستيعاب البيانات من مركز الأحداث. إذا لم تحدد مجموعة مستهلكين، فإن وظيفة تحليلات التدفق تستخدم مجموعة $Default المستهلكين. |
| وضع المصادقة | حدد نوع المصادقة التي تريد استخدامها للاتصال بمركز الأحداث. استخدم سلسلة connection string أو هوية مدارة للمصادقة مع مركز الأحداث. بالنسبة لخيار الهوية المدارة، يمكنك إما إنشاء هوية مدارة معينة من قبل النظام لوظيفة Stream Analytics أو هوية مدارة يعينها المستخدم للمصادقة مع مركز الأحداث. عند استخدام هوية مدارة، يجب أن تكون الهوية المدارة عضوا في Azure Event Hubs مستلم البيانات أو Azure Event Hubs أدوار مالك البيانات. |
| اسم سياسة مركز الأحداث | نهج الوصول المشترك الذي يوفر الوصول إلى مراكز الأحداث. يحتوي كل نهج وصول مشترك على اسم وأذونات تقوم بتعيينها ومفاتيح وصول. يتم ملء هذا الخيار تلقائيا، ما لم تحدد الخيار لتوفير إعدادات مراكز الأحداث يدويا. |
| مفتاح القسم | هذا الحقل الاختياري متاح فقط إذا قمت بضبط وظيفتك لاستخدام مستوى التوافق 1.2 أو أعلى. إذا كان مدخلك مقسما بواسطة خاصية، أضف اسم هذه الخاصية هنا. استخدمه لتحسين أداء استفسارك إذا كان يتضمن PARTITION BY بند أو GROUP BY في هذه الخاصية. إذا كانت هذه الوظيفة تستخدم مستوى التوافق 1.2 أو أعلى، فإن هذا الحقل يتحول افتراضيا إلى PartitionId. |
| صيغة تسلسل الأحداث | تنسيق التسلسل (JSON، CSV، Avro) لتدفق البيانات الواردة. تأكد من أن تنسيق JSON يتوافق مع المواصفة ولا يتضمن الرقم 0 الأول للأعداد العشرية. |
| ترميز | UTF-8 هو تنسيق الترميز الوحيد المدعوم حاليا. |
| نوع ضغط الأحداث | نوع الضغط المستخدم لقراءة دفق البيانات الواردة، مثل None (افتراضي) أو Gzip أو Deflate. |
| سجل المخطط | اختر سجل المخطط مع المخططات لبيانات الأحداث التي يتم استلامها من مركز الأحداث. |
عندما تأتي بياناتك من إدخال دفق مراكز الأحداث، يكون لديك حق الوصول إلى حقول بيانات التعريف التالية في استعلام Stream Analytics:
| الخاصية | الوصف |
|---|---|
| EventProcessedUtcTime | التاريخ والوقت الذي يعالج فيه Stream Analytics الحدث. |
| EventEnqueuedUtcTime | التاريخ والوقت الذي تتلقى فيه مراكز الأحداث الأحداث. |
| معرف التقسيم | معرف القسم المستند إلى الصفر لمحول الإدخال. |
باستخدام هذه الحقول، يمكنك كتابة استعلام مثل المثال التالي:
SELECT
EventProcessedUtcTime,
EventEnqueuedUtcTime,
PartitionId
FROM Input
ملاحظة
عندما تستخدم Event Hubs كنقطة نهاية لمسارات IoT Hub، يمكنك الوصول إلى بيانات IoT Hub الوصفية باستخدام دالة GetMetadataPropertyValue.
تدفق البيانات من IoT Hub
Azure IoT Hub هو أداة معالجة أحداث قابلة للتوسع عالية الانتشار والاشتراك ومصممة خصيصا لسيناريوهات إنترنت الأشياء.
الطابع الزمني الافتراضي للأحداث القادمة من IoT Hub في تحليلات التدفق هو الطابع الزمني الذي يشير إلى وصول الحدث إلى IoT Hub، وهو EventEnqueuedUtcTime. لمعالجة البيانات كتيار باستخدام طابع زمني في حمولة الحدث، استخدم كلمة TIMESTAMP BY .
مجموعات مستهلكي IoT Hub
قم بتكوين كل مدخل في Stream Analytics IoT Hub ليحظى بمجموعة مستهلكين خاصة به. عندما تحتوي الوظيفة على انضمام ذاتي أو عندما تحتوي على عدة مدخلات، قد يقرأ أكثر من قارئ بعض المدخلات. يؤثر هذا الموقف على عدد القراء في مجموعة مستهلكين واحدة. لتجنب تجاوز حد Azure IoT Hub البالغ خمسة قراء لكل مجموعة مستهلك لكل قسم، خصص مجموعة مستهلكين لكل وظيفة في تحليلات التدفق.
تكوين IoT Hub كمدخل تدفق بيانات
الجدول التالي يشرح كل خاصية في صفحة New input في بوابة Azure عند تكوين IoT Hub كمدخل تدفق.
| الخاصية | الوصف |
|---|---|
| الاسم المستعار للإدخل | اسم مألوف تستخدمه في استعلام الوظيفة للإشارة إلى هذا الإدخال. |
| اشتراك |
اختر الاشتراك الذي يوجد فيه مورد IoT Hub. |
| IoT Hub | اسم IoT Hub لاستخدامه كمدخل. |
| مجموعة المستهلكين | استخدم مجموعة مستهلكين مختلفة لكل وظيفة في تحليلات التدفق. تستقبل مجموعة المستهلكين البيانات من IoT Hub. يستخدم Stream Analytics مجموعة المستهلكين $Default ما لم تحدد خلاف ذلك. |
| اسم نهج الوصول المشترك | سياسة الوصول المشترك التي توفر الوصول إلى IoT Hub. يحتوي كل نهج وصول مشترك على اسم وأذونات تقوم بتعيينها ومفاتيح وصول. |
| مفتاح نهج الوصول المشترك | كان مفتاح الوصول المشترك يستخدم لتفويض الوصول إلى IoT Hub. يتم ملء هذا الخيار تلقائيا ما لم تختار خيار توفير إعدادات IoT Hub يدويا. |
| نقطة النهاية |
نقطة النهاية لمركز IoT Hub. |
| مفتاح القسم | إنه حقل اختياري متاح فقط إذا قمت بضبط وظيفتك لاستخدام مستوى التوافق 1.2 أو أعلى. إذا قسمت إدخالاتك حسب خاصية، يمكنك إضافة اسم هذه الخاصية هنا. يتم استخدامه لتحسين أداء الاستعلام الخاص بك إذا كان يتضمن عبارة PARTITION BY أو GROUP BY على هذه الخاصية. إذا كانت هذه المهمة تستخدم مستوى التوافق 1.2 أو أعلى، تعيين هذا الحقل افتراضيا إلى "PartitionId". |
| صيغة تسلسل الأحداث | تنسيق التسلسل (JSON، CSV، Avro) لتدفق البيانات الواردة. تأكد من أن تنسيق JSON يتوافق مع المواصفة ولا يتضمن الرقم 0 الأول للأعداد العشرية. |
| ترميز | UTF-8 هو تنسيق الترميز الوحيد المدعوم حاليا. |
| نوع ضغط الأحداث | نوع الضغط المستخدم لقراءة دفق البيانات الواردة، مثل None (افتراضي) أو Gzip أو Deflate. |
عندما تستخدم بيانات التدفق من IoT Hub، لديك وصول إلى حقول البيانات الوصفية التالية في استفسار تحليلات التدفق الخاص بك:
| الخاصية | الوصف |
|---|---|
| EventProcessedUtcTime | تاريخ ووقت معالجة الحدث. |
| EventEnqueuedUtcTime | التاريخ والوقت الذي يستقبل فيه IoT Hub الحدث. |
| معرف التقسيم | معرف القسم المستند إلى الصفر لمحول الإدخال. |
| IoTHub.MessageId | معرف يستخدم لربط الاتصال ثنائي الاتجاه في IoT Hub. |
| IoTHub.CorrelationId | معرف يستخدم في الردود على الرسائل والتغذية الراجعة في IoT Hub. |
| IoTHub.ConnectionDeviceId | معرف المصادقة المستخدم لإرسال هذه الرسالة. يضع IoT Hub هذه القيمة على الرسائل المرتبطة بالخدمة. |
| IoTHub.ConnectionDeviceGenerationId | معرف الجيل للجهاز المصادق عليه الذي تم استخدامه لإرسال هذه الرسالة. يضع IoT Hub هذه القيمة على الرسائل المرتبطة بالخدمة. |
| IoTHub.EnqueuedTime | الوقت الذي يستقبل فيه IoT Hub الرسالة. |
تدفق البيانات من تخزين Blob أو Data Lake Storage Gen2
بالنسبة للسيناريوهات التي تتضمن تخزين كميات كبيرة من البيانات غير المنظمة في السحابة، يقدم تخزين Azure Blob أو Azure Data Lake Storage Gen2 حلا فعالا من حيث التكلفة وقابلا للتوسع. تعتبر البيانات في تخزين Blob أو Azure Data Lake Storage Gen2 بيانات في حالة راحة. ومع ذلك، يمكن ل Stream Analytics معالجة هذه البيانات كتدفق بيانات.
سيناريو شائع الاستخدام لاستخدام مثل هذه المدخلات مع تحليلات التدفق هو معالجة السجلات. في هذا السيناريو، تلتقط ملفات بيانات التليمترية من النظام وتحتاج إلى تحليلها ومعالجتها لاستخراج بيانات ذات معنى.
الطابع الزمني الافتراضي لمخزن Blob أو حدث Azure Data Lake Storage Gen2 في Stream Analytics هو الطابع الزمني الذي تم تعديله آخر مرة، وهو BlobLastModifiedUtcTime. إذا قمت بتحميل كتلة إلى حساب تخزين في الساعة 13:00، وبدأت مهمة Azure Stream Analytics باستخدام خيار Now عند 13:01، فإن الوظيفة لا تلتقط الكتلة لأن وقت تعديلها خارج فترة تشغيل الوظيفة.
إذا قمت بتحميل كتلة إلى حاوية حساب تخزين في الساعة 13:00، وبدأت مهمة Azure Stream Analytics باستخدام Custom Time في الساعة 13:00 أو قبل، فإن المهمة تلتقط الكتلة لأن وقت تعديلها يقع ضمن فترة تشغيل المهمة.
إذا بدأت مهمة Azure Stream Analytics باستخدام Now عند الساعة 13:00، ورفعت كتلة إلى حاوية حساب التخزين عند 13:01، Azure Stream Analytics تلتقط الكتلة النقطية. الطابع الزمني المخصص لكل كتلة يعتمد فقط على BlobLastModifiedTime. المجلد الذي يوجد فيه الكائن الثنائي كبير الحجم لا علاقة له بالطوابع الزمنية المعينة. على سبيل المثال، إذا كان هناك كتلة 2019/10-01/00/b1.txt تحتوي على عدد BlobLastModifiedTime من 2019-11-11، فإن الطابع الزمني المخصص لهذه الكتلة هو 2019-11-11.
لمعالجة البيانات كتدفق باستخدام طابع زمني في حمولة الحدث، يجب عليك استخدام كلمة TIMESTAMP BY . وظيفة Stream Analytics تسحب البيانات من تخزين Azure Blob أو مدخلات Azure Data Lake Storage Gen2 كل ثانية إذا كان ملف blob متاحا. إذا لم يكن ملف الكتلة متاحا، تستخدم المهمة تراجعا أسيا مع تأخير زمني أقصى يبلغ 90 ثانية.
ملاحظة
تحليل التدفق لا يدعم إضافة المحتوى إلى ملف blob موجود. تحليل التدفق يعرض كل ملف مرة واحدة فقط، ولا يعالج أي تغييرات تحدث في الملف بعد قراءة البيانات من الوظيفة. أفضل الممارسات هي تحميل جميع البيانات لملف كائن ثنائي كبير الحجم في وقت واحد ثم إضافة أحداث أحدث إضافية إلى ملف blob جديد مختلف.
في الحالات التي تضيف فيها العديد من الكتل باستمرار وتقوم تحليلات التدفق بمعالجة الكتل أثناء إضافتها، قد تتخطى بعض الكتل في حالات نادرة بسبب دقة .BlobLastModifiedTime يمكنك التخفيف من هذه المشكلة برفع الكتل بفاصل دقيق على الأقل بفارق ثانيتين. إذا لم يكن هذا الخيار ممكنا، يمكنك استخدام مراكز الأحداث لدفق كميات كبيرة من الأحداث.
تكوين تخزين Blob كإدخل دفق
الجدول التالي يشرح كل خاصية في صفحة New input في بوابة Azure عند تكوين تخزين Blob كمدخل تدفق.
| الخاصية | الوصف |
|---|---|
| الاسم المستعار للإدخل | اسم مألوف تستخدمه في استعلام الوظيفة للإشارة إلى هذا الإدخال. |
| اشتراك |
اختر الاشتراك الذي يوجد فيه مورد التخزين. |
| حساب التخزين | اسم حساب التخزين حيث توجد ملفات الكائن الثنائي كبير الحجم. |
| مفتاح حساب التخزين | المفتاح السري المقترن بحساب التخزين. يتم ملء هذا الخيار تلقائيا ما لم تختار خيار توفير الإعدادات يدويا. |
| الحاوية | توفر الحاويات تجميعا منطقيا للكائنات الثنائية كبيرة الحجم. يمكنك اختيار استخدام الحاوية الموجودة أو إنشاء حاوية جديدة لإنشاء حاوية جديدة. |
| وضع المصادقة | حدد نوع المصادقة التي تريد استخدامها للاتصال بحساب التخزين. يمكنك استخدام connection string أو هوية مدارة للمصادقة مع حساب التخزين. بالنسبة لخيار الهوية المدارة، يمكنك إما إنشاء هوية مدارة معينة من قبل النظام إلى مهمة Stream Analytics أو هوية مدارة يعينها المستخدم للمصادقة مع حساب التخزين. عند استخدام هوية مدارة، يجب أن تكون الهوية المدارة عضوا في دور مناسب في حساب التخزين. |
| نمط المسار (اختياري) | مسار الملف المستخدم لتحديد موقع الكائنات الثنائية كبيرة الحجم داخل الحاوية المحددة. إذا كنت تريد قراءة الكائنات الثنائية كبيرة الحجم من جذر الحاوية، فلا تقم بتعيين نمط مسار. داخل المسار، يمكنك تحديد حالة أو أكثر من المتغيرات الثلاثة التالية: {date}، {time}، أو {partition}مثال 1: cluster1/logs/{date}/{time}/{partition}مثال 2: cluster1/logs/{date}* الحرف ليس قيمة مسموح بها لبادئة المسار. يسمح فقط بالأحرف الصالحة Azure الكتلة الصحيحة. لا تقم بتضمين أسماء الحاويات أو أسماء الملفات. |
| تنسيق التاريخ (اختياري) | إذا كنت تستخدم متغير التاريخ في المسار، تنسيق التاريخ الذي يتم تنظيم الملفات به. مثال: YYYY/MM/DD عندما يكون {date} إدخال blob في {time} مساره، ينظر Stream Analytics إلى المجلدات بترتيب زمني تصاعدي. |
| تنسيق الوقت (اختياري) | إذا كنت تستخدم متغير الوقت في المسار، تنسيق الوقت الذي يتم فيه تنظيم الملفات. حاليا القيمة الوحيدة المدعومة هي HH لساعات. |
| مفتاح القسم | إنه حقل اختياري متاح فقط إذا قمت بضبط وظيفتك لاستخدام مستوى التوافق 1.2 أو أعلى. إذا قسمت إدخالاتك حسب خاصية، يمكنك إضافة اسم هذه الخاصية هنا. يتم استخدامه لتحسين أداء الاستعلام الخاص بك إذا كان يتضمن عبارة PARTITION BY أو GROUP BY على هذه الخاصية. إذا كانت هذه المهمة تستخدم مستوى التوافق 1.2 أو أعلى، تعيين هذا الحقل افتراضيا إلى "PartitionId". |
| عدد تقسيمات الإدخال | يكون هذا الحقل موجودا فقط عندما يكون {partition} موجودا في نمط المسار. قيمة هذه الخاصية هي عدد >صحيح =1. أينما يظهر {partition} في pathPattern، سيتم استخدام رقم بين 0 وقيمة هذا الحقل -1. |
| صيغة تسلسل الأحداث | تنسيق التسلسل (JSON، CSV، Avro) لتدفق البيانات الواردة. تأكد من أن تنسيق JSON يتوافق مع المواصفة ولا يتضمن الرقم 0 الأول للأعداد العشرية. |
| ترميز | بالنسبة إلى CSV وJSON، يعد UTF-8 حاليا تنسيق الترميز الوحيد المدعوم. |
| ضغط | نوع الضغط المستخدم لقراءة دفق البيانات الواردة، مثل None (افتراضي) أو Gzip أو Deflate. |
عندما تأتي بياناتك من مصدر تخزين Blob، يمكنك الوصول إلى حقول البيانات الوصفية التالية في استعلام تحليلات التدفق الخاصة بك:
| الخاصية | الوصف |
|---|---|
| BlobName | اسم الكائن الثنائي كبير الحجم للإدخل الذي جاء منه الحدث. |
| EventProcessedUtcTime | التاريخ والوقت الذي يعالج فيه Stream Analytics الحدث. |
| BlobLastModifiedUtcTime | تاريخ ووقت آخر تعديل للكائن الثنائي كبير الحجم. |
| معرف التقسيم | معرف القسم المستند إلى الصفر لمحول الإدخال. |
باستخدام هذه الحقول، يمكنك كتابة استعلام مثل المثال التالي:
SELECT
BlobName,
EventProcessedUtcTime,
BlobLastModifiedUtcTime
FROM Input
دفق البيانات من Apache Kafka
يتيح لك Azure Stream Analytics الاتصال مباشرة بعناقيد Apache Kafka لاستقبال البيانات. الحل منخفض الكود ويدار بالكامل من قبل فريق Azure Stream Analytics في مايكروسوفت، لذا فهو يفي بمعايير الامتثال للأعمال. مدخل كافكا متوافق مع الإصدارات السابقة ويدعم جميع الإصدارات بدءا من الإصدار 0.10 مع أحدث إصدار للعميل. يمكنك الاتصال بعناقيد كافكا داخل شبكة افتراضية وكافكا يجمع مع نقطة نهاية عامة، حسب التكوينات. يعتمد التكوين على اصطلاحات تكوين Kafka الموجودة. أنواع الضغط المدعومة هي None وGzip وSnapy وLZ4 وZstd.
لمزيد من المعلومات، راجع تدفق البيانات من كافكا إلى Azure Stream Analytics (معاينة).