إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
تتكون وظيفة Azure Stream Analytics من إدخال واستعلام ومخرج. يمكنك إرسال البيانات المحولة إلى عدة أنواع مخرجات. تسرد هذه المقالة المخرجات المدعومة من تحليلات التدفق. عند تصميم استعلام تحليلات التدفق، استخدم جملة INTO إلى اسم المخرج. يمكنك استخدام مخرج واحد لكل وظيفة، أو عدة مخرجات لكل مهمة بث بإضافة عدة جمل INTO إلى الاستعلام.
لإنشاء وتحرير واختبار مخرجات وظائف Stream Analytics، يمكنك استخدام بوابة Azure، Azure PowerShell، .NET API، REST API، Visual Studio، وVisual Studio Code.
ملاحظة
للحصول على أفضل تجربة تطوير محلي، استخدم أدوات تحليلات التدفق لكود فيجوال ستوديو. أدوات تحليلات التدفق للعبة Visual Studio 2019 (الإصدار 2.6.3000.0) لديها فجوات معروفة في الميزات ولن يتم تحسينها مستقبلا.
بعض أنواع المخرجات تدعم التقسيم كما هو موضح في الجدول التالي.
جميع المخرجات تدعم التجميع، لكن بعضها فقط يدعم تحديد حجم دفعة الإخراج بشكل صريح. لمزيد من المعلومات، راجع قسم أحجام دفعات الإخراج .
| نوع الإخراج | Partitioning | الأمان |
|---|---|---|
| مستكشف بيانات Azure | نعم | الهوية المُدارة |
| دالات Azure | نعم | مفتاح الوصول |
| تحليلات Azure Synapse | نعم | مصادقة مستخدم SQL، الهوية المدارة |
| تخزين Blob و Azure Data Lake Gen 2 | نعم | مفتاح الوصول، الهوية المدارة |
| Azure Cosmos DB | نعم | مفتاح الوصول، الهوية المدارة |
| Azure Data Lake Storage Gen 2 | نعم | هوية مستخدم مايكروسوفت إنترا المدارة |
| مراكز أحداث Azure | نعم، يجب تعيين عمود مفتاح التقسيم في تكوين الإخراج. | مفتاح الوصول، الهوية المدارة |
| كافكا (معاينة) | نعم، يجب تعيين عمود مفتاح التقسيم في تكوين الإخراج. | مفتاح الوصول، الهوية المدارة |
| قاعدة بيانات Azure ل PostgreSQL | نعم | مصادقة اسم المستخدم وكلمة المرور |
| باور بي آي | لا | مستخدم مايكروسوفت إنترا، الهوية المدارة |
| Azure Service Bus queues | نعم | مفتاح الوصول، الهوية المدارة |
| Azure Service Bus topics | نعم | مفتاح الوصول، الهوية المدارة |
| قاعدة بيانات Azure SQL | نعم، اختياري. | مصادقة مستخدم SQL، الهوية المدارة |
| تخزين Azure Table | نعم | مفتاح الحساب |
مهم
Azure Stream Analytics يستخدم واجهة برمجة التطبيقات Insert or Replace بشكل تصميمي. تستبدل هذه العملية كيانا موجودا أو تدرج كيانا جديدا إذا لم يكن موجودا في الجدول.
Partitioning
يدعم Stream Analytics الأقسام لجميع المخرجات باستثناء Power BI. لمزيد من المعلومات حول مفاتيح التقسيم وعدد كتاب الإخراج، راجع المقالة لنوع الإخراج الذي تهتم به. تم ربط المقالات الخاصة بأنواع المخرجات في القسم السابق.
لضبط أكثر تقدما للتقسيمات، يمكنك التحكم في عدد كتاب الإخراج باستخدام جملة INTO <partition count> (انظر INTO) في استفسارك. يمكن أن يساعدك هذا التحكم في تحقيق طوبولوجيا الوظيفة المرغوبة. إذا لم يكن محول الإخراج مقسما، فإن نقص البيانات في قسم إدخال واحد يسبب تأخيرا حتى الوقت المتأخر في الوصول. في مثل هذه الحالات، يتم دمج المخرجات مع كاتب واحد، مما قد يسبب اختناقات في خط الأنابيب الخاص بك. لمعرفة المزيد عن سياسة الوصول المتأخر، راجع اعتبارات ترتيب الأحداث في Azure Stream Analytics.
حجم دفعة الإخراج
جميع المخرجات تدعم التجميع، لكن بعضها فقط يدعم ضبط حجم الدفعة بشكل صريح. يستخدم Azure Stream Analytics دفعات بأحجام متغيرة لمعالجة الأحداث والكتابة إلى المخرجات. عادة، محرك تحليلات التدفق لا يكتب رسالة واحدة في كل مرة ويستخدم دفعات لتحقيق الكفاءة. عندما يكون معدل كل من الأحداث الواردة والصادرة مرتفعا، تستخدم تحليلات التدفق دفعات أكبر. عندما يكون معدل الخروج منخفضا، يستخدم دفعات أصغر للحفاظ على زمن الاستجابة منخفضا.
سلوك تقسيم ملفات Avro وParquet
يمكن لاستعلام تحليلات التدفق توليد عدة مخططات لمخرجات معينة. قائمة الأعمدة المعروضة ونوعها يمكن أن تتغير صفا بصف. بحسب التصميم، لا تدعم تنسيقات أفرو وباركيه مخططات المتغيرات في ملف واحد.
قد تحدث السلوكيات التالية عند توجيه تدفق بمخططات متغيرة إلى مخرج باستخدام هذه الصيغ:
- إذا أمكن اكتشاف تغيير المخطط، يتم إغلاق ملف الإخراج الحالي، ويتم تهيئة ملف جديد على المخطط الجديد. تقسيم الملفات بهذه الطريقة يؤدي إلى إبطاء كبير في الإخراج عندما تحدث تغييرات المخطط بشكل متكرر. يمكن أن يؤثر هذا السلوك بشكل كبير على الأداء العام للوظيفة.
- إذا لم يتم اكتشاف تغيير المخطط، فمن المرجح أن يتم رفض الصف، وتعلق المهمة لأن الصف لا يمكن إخراجه. الأعمدة المتداخلة، أو المصفوفات متعددة الأنواع، هي حالات لا يتم اكتشافها أو رفضها.
اعتبر المخرجات التي تستخدم صيغة أفرو أو باركيه ذات نوع قوي، أو مخطط عند الكتابة، واكتب استعلامات تستهدفها على هذا النحو باستخدام تحويلات وإسقاطات صريحة لمخطط موحد.
إذا كنت بحاجة لإنشاء عدة مخططات، فكر في إنشاء عدة مخرجات وتقسيم السجلات إلى كل وجهة باستخدام جملة WHERE .
خصائص نافذة دفعة إخراج باركيه
عند استخدام نشر قوالب Azure Resource Manager أو واجهة برمجة تطبيقات REST، فإنك تحدد خاصيتين لنافذة التجميع:
نافذة زمنية
أقصى وقت انتظار لكل دفعة. اضبط القيمة كسلسلة من .
Timespanعلى سبيل المثال، استخدمها00:02:00لمدة دقيقتين. بعد هذا الوقت، تكتب الدفعة على المخرجات حتى لو لم يتم تلبية الحد الأدنى من متطلبات الصفوف. القيمة الافتراضية هي دقيقة واحدة والحد الأقصى المسموح به هو ساعتان. إذا كان خرج الكتلة لديك يحتوي على تردد نمط المسار، فلا يمكن أن يكون وقت الانتظار أعلى من نطاق وقت التقسيم.sizeWindow
عدد الصفوف الدنيا لكل دفعة. بالنسبة إلى Parquet، ستنشئ كل دفعة ملفاً جديداً. القيمة الافتراضية الحالية هي 2000 صف، والحد الأقصى المسموح به هو 10000 صف.
نسخة API 2017-04-01-preview أو أعلى تدعم خصائص نوافذ التجميع هذه. إليك مثالا على حمولة JSON لاستدعاء واجهة برمجة تطبيقات REST:
"type": "stream",
"serialization": {
"type": "Parquet",
"properties": {}
},
"timeWindow": "00:02:00",
"sizeWindow": "2000",
"datasource": {
"type": "Microsoft.Storage/Blob",
"properties": {
"storageAccounts" : [
{
"accountName": "{accountName}",
"accountKey": "{accountKey}",
}
],