إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يتيح لك ملحق Kafka لـ Azure Functions كتابة القيم إلى مواضيع Apache Kafka باستخدام ربط الإخراج. يمكنك أيضاً استخدام مشغل لاستدعاء وظائفك رداً على الرسائل في موضوعات Kafka.
هام
روابط Kafka متاحة فقط لـ Functions على خطة Elastic Premium وخطة Dedicated (App Service). يتم دعمها فقط في الإصدار 3.x والإصدار الأحدث من وقت تشغيل الوظائف.
| الإجراء | نوع |
|---|---|
| قم بتشغيل وظيفة بناءً على حدث Kafka الجديد. | المشغِّل |
| اكتب لتيار حدث Kafka. | ربط الإخراج |
تثبيت الملحق
تعتمد حزمة NuGet الملحق التي تقوم بتثبيتها على وضع C# الذي تستخدمه في تطبيق الوظائف:
يتم تنفيذ الوظائف في عملية عامل C# معزولة. لمعرفة المزيد، راجع دليل تشغيل وظائف C# Azure في عملية عامل معزولة.
أضف الملحق إلى مشروعك عن طريق تثبيت حزمة NuGet.
تثبيت الحزمة
لكي تتمكن من استخدام ملحق الربط هذا في تطبيقك، تأكد من أن ملف host.json في جذر مشروعك يحتوي على هذا extensionBundle المرجع:
{
"version": "2.0",
"extensionBundle": {
"id": "Microsoft.Azure.Functions.ExtensionBundle",
"version": "[4.0.0, 5.0.0)"
}
}
في هذا المثال، version ترشد قيمة [4.0.0, 5.0.0) مضيف الوظائف إلى استخدام إصدار حزمة على الأقل 4.0.0 ولكن أقل من 5.0.0، والذي يتضمن جميع الإصدارات المحتملة من 4.x. يحافظ هذا النص بشكل فعال على تطبيقك على أحدث إصدار ثانوي متوفر من مجموعة ملحقات v4.x.
عندما يكون ذلك ممكنا، يجب استخدام أحدث إصدار رئيسي لحزمة الملحقات والسماح لوقت التشغيل بالحفاظ تلقائيا على أحدث إصدار ثانوي. يمكنك عرض محتويات أحدث حزمة في صفحة إصدار حزم الملحقات. لمزيد من المعلومات، راجع حزم ملحقات Azure Functions.
تفعيل قياس وقت التشغيل
للسماح لوظائفك بالتوسع بشكل صحيح في خطة Premium عند استخدام مشغلات وأربطة Kafka، تحتاج إلى تمكين مراقبة مقياس وقت التشغيل.
في مدخل Microsoft Azure، في تطبيق الوظائف، حدد Configuration.
في علامة التبويب إعدادات وقت تشغيل الدالة ، لمراقبة مقياس وقت التشغيل، حدد تشغيل.
إعدادات host.json
يصف هذا القسم إعدادات التكوين المتاحة لهذا الربط في الإصدار 3.x والإصدارات الأحدث. تنطبق الإعدادات في ملف host.json على جميع الوظائف في مثيل تطبيق الوظائف. لمزيد من المعلومات حول إعدادات تكوين تطبيقات الوظائف في الإصدارات 3.x والإصدارات الأحدث، راجع مرجع host.json لـ Azure Functions.
{
"version": "2.0",
"extensions": {
"kafka": {
"maxBatchSize": 64,
"SubscriberIntervalInSeconds": 1,
"ExecutorChannelCapacity": 1,
"ChannelFullRetryIntervalInMs": 50
}
}
}
| الخاصية | الإعداد الافتراضي | نوع | الوصف |
|---|---|---|---|
| ChannelFullRetryIntervalInMs | 50 | المشغِّل | يحدد الفاصل الزمني لإعادة محاولة المشترك، بالمللي ثانية، المستخدم عند محاولة إضافة عناصر إلى قناة ذات سعة. |
| ExecutorChannelCapacity | 1 | الاثنان معاً | يحدد سعة رسالة القناة. بمجرد الوصول إلى السعة، يتوقف مشترك Kafka مؤقتاً حتى تدرك الوظيفة. |
| MaxBatchSize | 64 | المشغِّل | الحد الأقصى لحجم الدُفعة عند استدعاء دالة مشغلة من نوع Kafka. |
| الاشتراكIntervalInSeconds | 1 | المشغِّل | يحدد الحد الأدنى من التردد الذي يتم فيه تنفيذ الرسائل الواردة، لكل وظيفة بالثواني. فقط عندما يكون حجم الرسالة أقل من MaxBatchSize / SubscriberIntervalInSeconds |
الخصائص التالية، الموروثة من مكتبة عميل Apache Kafka C/C ++، مدعومة أيضاً في قسم kafka من host.json، إما للمشغلات أو لكل من روابط الإخراج والمشغلات:
| الخاصية | ينطبق على | ما يعادل librdkafka |
|---|---|---|
| AutoCommitIntervalMs | المشغِّل | auto.commit.interval.ms |
| AutoOffsetReset | المشغِّل | auto.offset.reset |
| FetchMaxBytes | المشغِّل | fetch.max.bytes |
| LibkafkaDebug | الاثنان معاً | debug |
| MaxPartitionFetchBytes | المشغِّل | max.partition.fetch.bytes |
| MaxPollIntervalMs | المشغِّل | max.poll.interval.ms |
| MetadataMaxAgeMs | الاثنان معاً | metadata.max.age.ms |
| قوائم انتظارMinMessages | المشغِّل | queued.min.messages |
| QueuedMaxMessagesKbytes | المشغِّل | queued.max.messages.kbytes |
| إعادة الاتصال بالأجهزة الاحتياطية | المشغِّل | reconnect.backoff.max.ms |
| إعادة الاتصال بBackoffMaxMs | المشغِّل | reconnect.backoff.max.ms |
| SessionTimeoutMs | المشغِّل | session.timeout.ms |
| SocketKeepaliveEnable | الاثنان معاً | socket.keepalive.enable |
| إحصائياتIntervalMs | المشغِّل | statistics.interval.ms |