ناتج دالات Azure من Azure Stream Analytics
وظائف Azure هي خدمة حوسبة بلا خادم يمكنك استخدامها لتشغيل التعليمة البرمجية عند الطلب دون الحاجة إلى توفير البنية الأساسية أو إدارتها بشكل صريح. يتيح لك تنفيذ التعليمة البرمجية التي يتم تشغيلها بواسطة الأحداث التي تحدث في Azure أو الخدمات الشريكة. تجعل قدرة وظائف Azure هذه على الاستجابة للمشغلات ناتجاً طبيعياً لـ Azure Stream Analytics. يتيح محول الإخراج هذا للمستخدمين توصيل Stream Analytics بـ Azure Functions، وتشغيل برنامج نصي أو جزء من التعليمة البرمجية استجابةً لمجموعة متنوعة من الأحداث.
إخراج Azure Functions من Stream Analytics غير متوفر في Microsoft Azure المشغل بواسطة 21Vianet وAzure Germany (T-Systems International). الاتصال ب Azure Functions داخل شبكة ظاهرية (VNet) من وظيفة Stream Analytics التي تعمل في مجموعة متعددة المستأجرين غير مدعوم أيضا.
يستدعي Azure Stream Analytics وظائف Azure عبر مشغلات HTTP. يتوفر محول الإخراج Azure Functions بالخصائص التالية القابلة للتكوين:
اسم الخاصية | الوصف |
---|---|
تطبيق الوظيفة | اسم تطبيق Azure Functions. |
الوظيفة | اسم الوظيفة في تطبيق Azure Functions. |
المفتاح | إذا كنت تريد استخدام وظيفة Azure من اشتراك آخر، فيمكنك القيام بذلك عن طريق توفير المفتاح للوصول إلى وظيفتك. |
الحد الأقصى لحجم الدفعة | خاصية تتيح لك تعيين الحجم الأقصى لكل دفعة إخراج يتم إرسالها إلى وظيفة Azure. وحدة الإدخال بالبايت. بشكلٍ افتراضي، هذه القيمة هي 262144 بايت (256 كيلو بايت). |
العدد الأقصى للدفعة | خاصية تتيح لك تحديد الحد الأقصى لعدد الأحداث في كل دفعة يتم إرسالها إلى Azure Functions. القيمة الافتراضية هي 100. |
تتوقع Azure Stream Analytics حالة HTTP 200 من تطبيق Functions للدُفعات التي تمت معالجتها بنجاح.
عندما يتلقى Azure Stream Analytics استثناء 413 ("كيان طلب http كبير جداً") من وظيفة Azure، فإنه يقلل من حجم الدُفعات التي يرسلها إلى وظائف Azure. في التعليمة البرمجية لوظيفة Azure، استخدم هذا الاستثناء للتأكد من أن Azure Stream Analytics لا يرسل دفعات كبيرة الحجم. تأكد أيضاً من أن الحد الأقصى لعدد الدُفعات وقيم الحجم المستخدمة في الوظيفة متسقة مع القيم التي تم إدخالها في مدخل Stream Analytics.
ملاحظة
أثناء اختبار الاتصال، يرسل Stream Analytics (POST) دفعة فارغة إلى Azure Functions لاختبار ما إذا كان الاتصال بين العملين. تأكد من أن تطبيق Functions الخاص بك يتعامل مع طلبات الدُفعات الفارغة للتأكد من اجتياز اختبار الاتصال.
أيضاً، في حالة عدم وجود حدث هبوط في فترة زمنية، لا يتم إنشاء أي ناتج. نتيجة لذلك، لم يتم استدعاء الوظيفة computeResult. يتوافق هذا السلوك مع الوظائف التجميعية المضمنة في إطارات.
التقسيم
مفتاح القسم يعتمد على عبارة PARTITION BY في الاستعلام. يتبع عدد كاتبي الإخراج تقسيم الإدخال للاستعلامات المتوازية بالكامل.
حجم دفعة الإخراج
حجم الدُفعة الافتراضي هو 262144 بايت (256 كيلوبايت). عدد الأحداث الافتراضي لكل دفعة هو 100. حجم الدفعة قابل للتكوين ويمكن زيادته أو تقليله في خيارات إخراج Stream Analytics.
القيود
يجب أن تكمل Azure Functions طلبها في أقل من 100 ثانية حيث تنتهي مهلة عميل HTTP بعد 100 ثانية. إذا استغرقت Azure Functions أكثر من 100 ثانية لمعالجة مجموعة من البيانات، فهناك مهلة ستؤدي إلى إعادة المحاولة. يمكن أن تؤدي إعادة المحاولة هذه إلى بيانات مكررة لأن Azure Functions ستعالج البيانات مرة أخرى ومن المحتمل أن تنتج نفس الإخراج لأنه ربما تم إخراجها جزئياً في الطلب السابق
نماذج التعليمة البرمجية
يمكن استخدام إخراج Azure Functions لترحيل الرسائل إلى قواعد بيانات غير مدعومة، مثل Redis، أو تحديث الجداول في Azure SQL.
الخطوات التالية
- تشغيل سريع: أنشئ وظيفة Stream Analytics باستخدام مدخل Azure
- التشغيل السريع - إنشاء مهمة Azure Stream Analytics باستخدام Azure CLI
- التشغيل السريع: إنشاء وظيفة Azure Stream Analytics باستخدام قالب ARM
- التشغيل السريع - إنشاء وظيفة Stream Analytics باستخدام Azure PowerShell
- التشغيل السريع: إنشاء وظيفة Azure Stream Analytics باستخدام Visual Studio
- التشغيل السريع: إنشاء وظيفة Azure Stream Analytics في Visual Studio Code