مشاركة عبر


دفق البيانات كمدخل في Stream Analytics

يحتوي Stream Analytics على تكامل من الدرجة الأولى مع تدفقات بيانات Azure كمدخلات من أربعة أنواع من الموارد:

يمكن أن تعيش موارد الإدخال هذه في نفس اشتراك Azure مثل وظيفة Stream Analytics أو اشتراك مختلف.

الضغط

يدعم Stream Analytics الضغط لجميع مصادر الإدخال. أنواع الضغط المدعومة هي: None وGzip وDefflate. لا يتوفر دعم الضغط للبيانات المرجعية. إذا كانت بيانات الإدخال مضغوطة من بيانات Avro، فإن Stream Analytics يعالجها بشفافية. لا تحتاج إلى تحديد نوع الضغط باستخدام تسلسل Avro.

إنشاء مدخلات أو تحريرها أو اختبارها

يمكنك استخدام مدخل Microsoft AzureوVisual StudioوVisual Studio Code لإضافة المدخلات الموجودة وعرضها أو تحريرها في مهمة الدفق. يمكنك أيضا اختبار اتصالات الإدخال واستعلامات الاختبار من نموذج البيانات من مدخل Microsoft Azure وVisual StudioوVisual Studio Code. عند كتابة استعلام، يمكنك سرد الإدخال في عبارة FROM. يمكنك الحصول على قائمة الإدخالات المتوفرة من صفحة الاستعلام في المدخل. إذا كنت ترغب في استخدام مدخلات متعددة، JOIN فها أو كتابة استعلامات متعددة SELECT .

‏‫ملاحظة

نوصي بشدة باستخدام أدوات Stream Analytics ل Visual Studio Code للحصول على أفضل تجربة تطوير محلية. هناك فجوات معروفة في الميزات في أدوات Stream Analytics ل Visual Studio 2019 (الإصدار 2.6.3000.0) ولن يتم تحسينها من الآن فصاعدا.

دفق البيانات من Event Hubs

Azure Event Hubs هو استيعاب حدث نشر-اشتراك قابل للتطوير بدرجة كبيرة. يمكن لمركز الأحداث جمع ملايين الأحداث في الثانية بحيث يمكنك معالجة وتحليل كميات هائلة من البيانات التي تنتجها أجهزتك وتطبيقاتك المتصلة. معا، يمكن أن توفر مراكز الأحداث و Stream Analytics حلا من طرف إلى طرف للتحليات في الوقت الفعلي. تتيح لك مراكز الأحداث تغذية الأحداث في Azure في الوقت الفعلي، ويمكن لوظائف Stream Analytics معالجة هذه الأحداث في الوقت الفعلي. على سبيل المثال، يمكنك إرسال نقرات الويب أو قراءات المستشعر أو أحداث السجل عبر الإنترنت إلى مراكز الأحداث. يمكنك بعد ذلك إنشاء وظائف Stream Analytics لاستخدام مراكز الأحداث لبيانات الإدخال للتصفية والتجميع والارتباط في الوقت الفعلي.

EventEnqueuedUtcTime هو الطابع الزمني لوصول الحدث إلى مركز الحدث وهو الطابع الزمني الافتراضي للأحداث القادمة من Event Hubs إلى Stream Analytics. لمعالجة البيانات كتدفق باستخدام طابع زمني في حمولة الحدث، يجب استخدام الكلمة الأساسية TIMESTAMP BY .

مجموعات المستهلكين لمراكز الأحداث

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

إنشاء إدخال من مراكز الأحداث

يوضح الجدول التالي كل خاصية في صفحة الإدخال الجديد في مدخل Microsoft Azure لدفق إدخال البيانات من مركز أحداث:

الخاصية الوصف
الاسم المستعار للإدخل اسم مألوف تستخدمه في استعلام الوظيفة للإشارة إلى هذا الإدخال.
اكتتاب اختر اشتراك Azure الذي يوجد فيه مورد مركز الأحداث.
مساحة اسم Event Hub مساحة اسم مراكز الأحداث هي حاوية لمراكز الأحداث. عند إنشاء مركز أحداث، يمكنك أيضا إنشاء مساحة الاسم.
اسم Event Hub اسم مركز الحدث لاستخدامه كمدخل.
مجموعة مستهلكي Event Hub (مستحسن) نوصي باستخدام مجموعة مستهلكين مميزة لكل وظيفة Stream Analytics. تحدد هذه السلسلة مجموعة المستهلكين لاستخدامها لاستيعاب البيانات من مركز الأحداث. إذا لم يتم تحديد مجموعة مستهلكين، فإن وظيفة Stream Analytics تستخدم مجموعة المستهلكين $Default .
وضع المصادقة حدد نوع المصادقة التي تريد استخدامها للاتصال بمركز الأحداث. يمكنك استخدام سلسلة اتصال أو هوية مدارة للمصادقة مع مركز الأحداث. بالنسبة لخيار الهوية المدارة، يمكنك إما إنشاء هوية مدارة معينة من قبل النظام لوظيفة Stream Analytics أو هوية مدارة يعينها المستخدم للمصادقة مع مركز الأحداث. عند استخدام هوية مدارة، يجب أن تكون الهوية المدارة عضوا في Azure Event Hubs Data Receiver أو أدوار مالك بيانات مراكز الأحداث Azure.
اسم نهج Event Hub نهج الوصول المشترك الذي يوفر الوصول إلى مراكز الأحداث. يحتوي كل نهج وصول مشترك على اسم وأذونات تقوم بتعيينها ومفاتيح وصول. يتم ملء هذا الخيار تلقائيا، ما لم تحدد الخيار لتوفير إعدادات مراكز الأحداث يدويا.
مفتاح التقسيم⁧ إنه حقل اختياري يتوفر فقط إذا تم تكوين وظيفتك لاستخدام مستوى التوافق 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

‏‫ملاحظة

عند استخدام مراكز الأحداث كنقطة نهاية لمسارات مركز IoT، يمكنك الوصول إلى بيانات تعريف مركز IoT باستخدام الدالة GetMetadataPropertyValue.

دفق البيانات من IoT Hub

Azure IoT Hub هو استيعاب حدث نشر-اشتراك قابل للتطوير بدرجة كبيرة محسن لسيناريوهات IoT.

الطابع الزمني الافتراضي للأحداث القادمة من IoT Hub في Stream Analytics هو الطابع الزمني الذي وصل إليه الحدث في مركز IoT، وهو EventEnqueuedUtcTime. لمعالجة البيانات كتدفق باستخدام طابع زمني في حمولة الحدث، يجب استخدام الكلمة الأساسية TIMESTAMP BY .

مجموعات مستهلكي IoT Hub

يجب تكوين كل إدخال Stream Analytics IoT Hub ليكون لديك مجموعة المستهلكين الخاصة به. عندما تحتوي الوظيفة على صلة ذاتية أو عندما تحتوي على مدخلات متعددة، قد تتم قراءة بعض الإدخالات من قبل أكثر من قارئ واحد في المراحل النهائية. يؤثر هذا الموقف على عدد القراء في مجموعة مستهلكين واحدة. لتجنب تجاوز حد Azure IoT Hub المكون من خمسة قراء لكل مجموعة مستهلكين لكل قسم، من أفضل الممارسات تعيين مجموعة مستهلكين لكل وظيفة Stream Analytics.

تكوين IoT Hub كإدخل دفق بيانات

يوضح الجدول التالي كل خاصية في صفحة الإدخال الجديد في مدخل Microsoft Azure عند تكوين IoT Hub كإدخل دفق.

الخاصية الوصف
الاسم المستعار للإدخل اسم مألوف تستخدمه في استعلام الوظيفة للإشارة إلى هذا الإدخال.
اكتتاب اختر الاشتراك الذي يوجد فيه مورد IoT Hub.
مركز IoT اسم IoT Hub لاستخدامه كمدخل.
مجموعة المستهلكين نوصي باستخدام مجموعة مستهلكين مختلفة لكل وظيفة Stream Analytics. يتم استخدام مجموعة المستهلكين لاستيعاب البيانات من مركز IoT. يستخدم 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، يكون لديك حق الوصول إلى حقول بيانات التعريف التالية في استعلام Stream Analytics:

الخاصية الوصف
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.

معالجة السجل هي سيناريو شائع الاستخدام لاستخدام مثل هذه المدخلات مع Stream Analytics. في هذا السيناريو، يتم التقاط ملفات بيانات تتبع الاستخدام من نظام وتحتاج إلى تحليلها ومعالجتها لاستخراج بيانات ذات معنى.

الطابع الزمني الافتراضي لتخزين Blob أو حدث Azure Data Lake Storage Gen2 في Stream Analytics هو الطابع الزمني الذي تم تعديله آخر مرة، وهو BlobLastModifiedUtcTime. إذا تم تحميل كائن ثنائي كبير الحجم إلى حساب تخزين في الساعة 13:00، وبدأت مهمة Azure Stream Analytics باستخدام الخيار الآن في الساعة 13:01، فلن يتم التقاطه لأن وقت تعديله يقع خارج فترة تشغيل المهمة.

إذا تم تحميل كائن ثنائي كبير الحجم إلى حاوية حساب تخزين في الساعة 13:00، وبدأت مهمة Azure Stream Analytics باستخدام وقت مخصص في الساعة 13:00 أو أي وقت سابق، التقاط الكائن الثنائي كبير الحجم مع وقوع وقت تعديله داخل فترة تشغيل الوظيفة.

إذا بدأت مهمة Azure Stream Analytics باستخدام الآن في الساعة 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 ثانية.

‏‫ملاحظة

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

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

تكوين تخزين Blob كإدخل دفق

يوضح الجدول التالي كل خاصية في صفحة الإدخال الجديد في مدخل Microsoft Azure عند تكوين تخزين Blob كإدخل دفق.

الخاصية الوصف
الاسم المستعار للإدخل اسم مألوف تستخدمه في استعلام الوظيفة للإشارة إلى هذا الإدخال.
اكتتاب اختر الاشتراك الذي يوجد فيه مورد التخزين.
حساب التخزين اسم حساب التخزين حيث توجد ملفات الكائن الثنائي كبير الحجم.
مفتاح حساب التخزين المفتاح السري المقترن بحساب التخزين. يتم ملء هذا الخيار تلقائيا ما لم تحدد خيار توفير الإعدادات يدويا.
الحاوية توفر الحاويات تجميعا منطقيا للكائنات الثنائية كبيرة الحجم. يمكنك اختيار إما استخدام حاوية موجودة أو إنشاء جديد لإنشاء حاوية جديدة.
وضع المصادقة حدد نوع المصادقة التي تريد استخدامها للاتصال بحساب التخزين. يمكنك استخدام سلسلة اتصال أو هوية مدارة للمصادقة باستخدام حساب التخزين. بالنسبة لخيار الهوية المدارة، يمكنك إما إنشاء هوية مدارة معينة من قبل النظام إلى مهمة Stream Analytics أو هوية مدارة يعينها المستخدم للمصادقة مع حساب التخزين. عند استخدام هوية مدارة، يجب أن تكون الهوية المدارة عضوا في دور مناسب على حساب التخزين.
نمط المسار (اختياري) مسار الملف المستخدم لتحديد موقع الكائنات الثنائية كبيرة الحجم داخل الحاوية المحددة. إذا كنت تريد قراءة الكائنات الثنائية كبيرة الحجم من جذر الحاوية، فلا تقم بتعيين نمط مسار. ضمن المسار، يمكنك تحديد مثيل واحد أو أكثر من المتغيرات الثلاثة التالية: {date}أو {time}أو {partition}

مثال 1: cluster1/logs/{date}/{time}/{partition}

مثال 2: cluster1/logs/{date}

* الحرف ليس قيمة مسموح بها لبادئة المسار. يسمح فقط بأحرف Azure blob الصالحة. لا تقم بتضمين أسماء الحاويات أو أسماء الملفات.
تنسيق التاريخ (اختياري) إذا كنت تستخدم متغير التاريخ في المسار، تنسيق التاريخ الذي يتم تنظيم الملفات به. مثال: YYYY/MM/DD

عندما يكون إدخال الكائن الثنائي كبير الحجم أو {date}{time} في مساره، يتم النظر إلى المجلدات بترتيب زمني تصاعدي.
تنسيق الوقت (اختياري) إذا كنت تستخدم متغير الوقت في المسار، تنسيق الوقت الذي يتم فيه تنظيم الملفات. القيمة الوحيدة المدعومة حاليا هي 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، يكون لديك حق الوصول إلى حقول بيانات التعريف التالية في استعلام Stream Analytics:

الخاصية الوصف
BlobName اسم الكائن الثنائي كبير الحجم للإدخل الذي جاء منه الحدث.
EventProcessedUtcTime التاريخ والوقت الذي يعالج فيه Stream Analytics الحدث.
BlobLastModifiedUtcTime تاريخ ووقت آخر تعديل للكائن الثنائي كبير الحجم.
معرف القسم معرف القسم المستند إلى الصفر لمحول الإدخال.

على سبيل المثال، باستخدام هذه الحقول، يمكنك كتابة استعلام مثل المثال التالي:

SELECT
    BlobName,
    EventProcessedUtcTime,
    BlobLastModifiedUtcTime
FROM Input

دفق البيانات من Apache Kafka

يتيح لك Azure Stream Analytics الاتصال مباشرة بمجموعة Apache Kafka لاستيعاب البيانات. الحل منخفض التعليمات البرمجية ويديره بالكامل فريق Azure Stream Analytics في Microsoft، ما يسمح له بتلبية معايير التوافق مع الأعمال. إدخال Kafka متوافق مع الإصدارات السابقة ويدعم جميع الإصدارات مع أحدث إصدار للعميل بدءا من الإصدار 0.10. يمكن للمستخدمين الاتصال بنظام مجموعات Kafka داخل شبكة ظاهرية ومجموعات Kafka بنقطة نهاية عامة، اعتمادا على التكوينات. يعتمد التكوين على اصطلاحات تكوين Kafka الموجودة. أنواع الضغط المدعومة هي None وGzip وSnapy وLZ4 وZstd.

لمزيد من المعلومات، راجع دفق البيانات من Kafka إلى Azure Stream Analytics (معاينة).

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