Azure Functions output from Azure Stream Analytics
وظائف Azure هي خدمة حوسبة بدون خادم يمكنك استخدامها لتشغيل التعليمات البرمجية عند الطلب دون الحاجة إلى توفير البنية التحتية أو إدارتها بشكل صريح. فهو يتيح لك تنفيذ التعليمات البرمجية التي يتم تشغيلها بواسطة الأحداث التي تحدث في Azure أو خدمات الشركاء. تجعل قدرة وظائف Azure هذه على الاستجابة للمشغلات ناتجًا طبيعيًا لـ Azure Stream Analytics. يمكن محول الإخراج هذا المستخدمين من توصيل Stream Analytics بوظائف Azure، وتشغيل برنامج نصي أو جزء من التعليمات البرمجية استجابة لمجموعة متنوعة من الأحداث.
لا يتوفر إخراج وظائف Azure من Stream Analytics في منطقتي Azure China 21Vianet وAzure Germany (T-Systems International). الاتصال بوظائف Azure داخل شبكة ظاهرية (VNet) من مهمة Stream Analytics التي يتم تشغيلها في مجموعة متعددة المستأجرين غير معتمد أيضا.
يستدعي Azure Stream Analytics وظائف Azure عبر مشغلات HTTP. يتوفر محول الإخراج Azure Functions بالخصائص التالية القابلة للتكوين:
| اسم الخاصية | الوصف |
|---|---|
| تطبيق الوظيفة | اسم تطبيق Azure Functions. |
| الوظيفة | اسم الوظيفة في تطبيق Azure Functions. |
| المفتاح | إذا كنت تريد استخدام وظيفة Azure من اشتراك آخر، فيمكنك القيام بذلك عن طريق توفير المفتاح للوصول إلى وظيفتك. |
| الحد الأقصى لحجم الدفعة | خاصية تتيح لك تعيين الحد الأقصى لحجم كل دفعة إخراج يتم إرسالها إلى وظيفة Azure. وحدة الإدخال بالبايت. بشكلٍ افتراضي، هذه القيمة هي 262144 بايت (256 كيلو بايت). |
| العدد الأقصى للدفعة | خاصية تتيح لك تحديد الحد الأقصى لعدد الأحداث في كل دفعة يتم إرسالها إلى وظائف Azure. القيمة الافتراضية هي 100. |
تتوقع Azure Stream Analytics حالة HTTP 200 من تطبيق الوظائف للدفعات التي تمت معالجتها بنجاح.
عندما يتلقى Azure Stream Analytics استثناء 413 ("كيان طلب http كبير جدًا") من وظيفة Azure، فإنه يقلل من حجم الدُفعات التي يرسلها إلى وظائف Azure. في التعليمات البرمجية لدالة Azure، استخدم هذا الاستثناء للتأكد من أن Azure Stream Analytics لا يرسل دفعات كبيرة الحجم. تأكد أيضًا من أن الحد الأقصى لعدد الدُفعات وقيم الحجم المستخدمة في الوظيفة متسقة مع القيم التي تم إدخالها في مدخل Stream Analytics.
ملاحظة
أثناء اختبار الاتصال، يرسل Stream Analytics (POST) دفعة فارغة إلى وظائف Azure لاختبار ما إذا كان الاتصال بين الاثنين يعمل. تأكد من أن تطبيق Functions الخاص بك يتعامل مع طلبات الدُفعات الفارغة للتأكد من اجتياز اختبار الاتصال.
أيضا ، في حالة عدم وجود حدث هبوط في نافذة زمنية ، لا يتم إنشاء أي مخرجات. ونتيجة لذلك، لا يتم استدعاء الدالة computeResult . يتوافق هذا السلوك مع الوظائف التجميعية المضمنة في إطارات.
التقسيم
يستند مفتاح القسم إلى العبارة PARTITION BY في الاستعلام. يتبع عدد كتاب المخرجات تقسيم الإدخال للاستعلامات المتوازية بالكامل.
حجم دفعة الإخراج
حجم الدُفعة الافتراضي هو 262144 بايت (256 كيلوبايت). عدد الأحداث الافتراضي لكل دفعة هو 100. حجم الدفعة قابل للتكوين ويمكن زيادته أو تقليله في خيارات إخراج Stream Analytics.
القيود
يجب أن تكمل وظائف Azure طلبها في أقل من 100 ثانية حيث تنتهي مهلة عميل HTTP بعد 100 ثانية. إذا استغرق الأمر أكثر من 100 ثانية ل Azure Functions لمعالجة مجموعة من البيانات، فهناك مهلة تؤدي إلى إعادة المحاولة. يمكن أن تؤدي إعادة المحاولة هذه إلى تكرار البيانات لأن 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