التشغيل السريع: دفق البيانات باستخدام Azure Event Hubs وApache Kafka

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

إشعار

تلك العينة متاحة على GitHub

المتطلبات الأساسية

لإكمال هذا التشغيل السريع، تأكد من أن لديك المتطلبات الأساسية التالية:

إنشاء مساحة اسم Azure Event Hubs

عند إنشاء مساحة اسم مراكز الأحداث، يتم تمكين نقطة النهاية Kafka لمساحة الاسم تلقائيًا. يمكنك بث الأحداث من تطبيقاتك التي تستخدم بروتوكول Kafka في مراكز الأحداث. اتبع الإرشادات خطوة بخطوة في إنشاء مركز حدث باستخدام مدخل Microsoft Azure لإنشاء مساحة اسم مراكز أحداث. إذا كنت تستخدم مجموعة مخصصة، فشاهد إنشاء مساحة اسم ومركز أحداث في مجموعة مخصصة.

إشعار

مراكز الأحداث لـ Kafka غير مدعوم في المستوى الأساسي.

إرسال واستقبال الرسائل مع Kafka في مراكز أحداث

  1. تمكين هوية مدارة معينة من قبل النظام للجهاز الظاهري. لمزيد من المعلومات حول تكوين الهوية المدارة على جهاز ظاهري، راجع تكوين الهويات المدارة لموارد Azure على جهاز ظاهري باستخدام مدخل Microsoft Azure. توفر الهويات المدارة لموارد Azure خدمات Azure بهوية مدارة تلقائيا في Microsoft Entra ID. يمكنك استخدام هذه الهوية للمصادقة على أي خدمة تدعم مصادقة Microsoft Entra، دون وجود بيانات اعتماد في التعليمات البرمجية الخاصة بك.

    Screenshot of the Identity tab of a virtual machine page in the Azure portal.

  2. باستخدام صفحة التحكم في الوصول لمساحة اسم مراكز الأحداث التي قمت بإنشائها، قم بتعيين دور مالك بيانات مراكز الأحداث إلى الهوية المدارة للجهاز الظاهري. تدعم Azure Event Hubs استخدام معرف Microsoft Entra لتخويل الطلبات إلى موارد مراكز الأحداث. باستخدام معرف Microsoft Entra، يمكنك استخدام التحكم في الوصول المستند إلى الدور Azure (Azure RBAC) لمنح أذونات لأساس أمان، والذي قد يكون مستخدما، أو كيان خدمة تطبيق.

    1. في مدخل Microsoft Azure، انتقل إلى مساحة اسم Event Hubs. انتقل إلى "التحكم بالوصول (IAM)" في جزء التنقل الأيمن.

    2. حدد + إضافة وحدد Add role assignment.

      Screenshot of the Access Control page of an Event Hubs namespace.

    3. في علامة التبويب Role، حدد Azure Event Hubs Data Owner، وحدد الزر Next .

      Screenshot showing the selection of the Azure Event Hubs Data Owner role.

    4. في علامة التبويب الأعضاء، حدد الهوية المدارة في قسم تعيين الوصول إلى.

    5. حدد الارتباط +Select members.

    6. في صفحة تحديد الهويات المدارة ، اتبع الخطوات التالية:

      1. حدد اشتراك Azure الذي يحتوي على الجهاز الظاهري.

      2. بالنسبة إلى الهوية المدارة، حدد الجهاز الظاهري

      3. حدد الهوية المدارة لجهازك الظاهري.

      4. حدد تحديد في أسفل الصفحة.

        Screenshot showing the Add role assignment -> Select managed identities page.

    7. حدد Review + Assign.

      Screenshot showing the Add role assignment page with role assigned to VM's managed identity.

  3. أعد تشغيل الجهاز الظاهري وسجل الدخول مرة أخرى إلى الجهاز الظاهري الذي قمت بتكوين الهوية المدارة له.

  4. استنساخ مستودع مراكز أحداث Azure لـ Kafka.

  5. الانتقال إلى azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/consumer.

  6. قم بالتبديل إلى src/main/resources/ المجلد، وافتح consumer.config. استبدل namespacename باسم مساحة اسم مراكز الأحداث.

    bootstrap.servers=NAMESPACENAME.servicebus.windows.net:9093
    security.protocol=SASL_SSL
    sasl.mechanism=OAUTHBEARER
    sasl.jaas.config=org.apache.kafka.common.security.oauthbearer.OAuthBearerLoginModule required;
    sasl.login.callback.handler.class=CustomAuthenticateCallbackHandler;
    

    إشعار

    يمكنك العثور على جميع عينات OAuth لمراكز أحداث لـ Kafka هنا.

  7. قم بالتبديل مرة أخرى إلى مجلد المستهلك حيث يوجد ملف pom.xml وتشغيل التعليمات البرمجية للمستهلك ومعالجة الأحداث من مركز الأحداث باستخدام عملاء Kafka:

    mvn clean package
    mvn exec:java -Dexec.mainClass="TestConsumer"                                    
    
  8. قم بتشغيل نافذة موجه أوامر أخرى، وانتقل إلى azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producer.

  9. قم بالتبديل إلى src/main/resources/ المجلد، وافتح producer.config. استبدل mynamespace باسم مساحة اسم مراكز الأحداث.

  10. قم بالتبديل مرة أخرى إلى مجلد المنتج حيث pom.xml يوجد الملف، وقم بتشغيل التعليمات البرمجية للمنتج ودفق الأحداث إلى مراكز الأحداث:

    mvn clean package
    mvn exec:java -Dexec.mainClass="TestProducer"                                    
    

    يجب أن تشاهد رسائل حول الأحداث المرسلة في نافذة المنتج. الآن، تحقق من نافذة تطبيق المستهلك لمشاهدة الرسائل التي يتلقاها من مركز الأحداث.

    Screenshot showing the Producer and Consumer app windows showing the events.

التحقق من صحة المخطط ل Kafka مع سجل المخطط

يمكنك استخدام Azure Schema Registry لإجراء التحقق من صحة المخطط عند دفق البيانات باستخدام تطبيقات Kafka باستخدام مراكز الأحداث. يوفر Azure Schema Registry لمراكز الأحداث مستودعا مركزيا لإدارة المخططات ويمكنك توصيل تطبيقات Kafka الجديدة أو الحالية بسلاسة ب Schema Registry.

لمعرفة المزيد، راجع التحقق من صحة المخططات لتطبيقات Apache Kafka باستخدام Avro.

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

في هذه المقالة، تعلمت كيف تبث إلى مراكز الأحداث دون تغيير عملاء بروتوكولك أو تشغيل مجموعاتك الخاصة. لمعرفة المزيد، راجع دليل مطوِر Apache Kafka لـ مراكز أحداث Azure.