Краткое руководство. Потоковая передача данных с помощью Центры событий Azure и Apache Kafka
В этом кратком руководстве показано, как выполнять потоковую передачу данных в Центры событий Azure с помощью протокола Apache Kafka. Вы не измените какой-либо код в примере приложений производителя Или потребителя Kafka. Вы просто обновляете конфигурации, которые клиенты используют для указания пространства имен Центров событий, которое предоставляет конечную точку Kafka. Вы также не создаете и не используете кластер Kafka самостоятельно. Вместо этого вы используете пространство имен Центров событий с конечной точкой Kafka.
Примечание.
Этот пример можно найти на сайте GitHub.
Необходимые компоненты
Ниже указаны требования для работы с этим кратким руководством.
- Прочтите статью Центры событий Azure для Apache Kafka.
- Подписка Azure. Если у вас еще нет подписки Azure, создайте бесплатную учетную запись, прежде чем начать работу.
- Создайте виртуальную машину Windows и установите следующие компоненты:
- Комплект разработчика Java (JDK) 1.7+.
- Скачайте и установите двоичный архив Maven.
- Git
Создание пространства имен Центров событий Azure
Если вы создаете пространство имен в Центрах событий, конечная точка Kafka для этого пространства имен включается автоматически. Вы можете выполнять потоковую передачу событий из приложений, использующих протокол Kafka, в концентраторы событий. Выполните пошаговые инструкции в статье Создание концентратора событий с помощью портала Azure, чтобы создать пространство имен в Центрах событий. Если вы используете выделенный кластер, см. статью "Создание пространства имен и концентратора событий" в выделенном кластере.
Примечание.
Центры событий для Kafka не поддерживаются на уровне Базовый.
Отправка и получение сообщений с использованием Kafka в Центрах событий
Включите управляемое удостоверение, назначаемое системой, для виртуальной машины. Дополнительные сведения о настройке управляемого удостоверения на виртуальной машине см. в статье Настройка управляемых удостоверений для ресурсов Azure на виртуальной машине с помощью портал Azure. Управляемые удостоверения для ресурсов Azure предоставляют службам Azure автоматически управляемое удостоверение, которое хранится в Microsoft Entra ID. Это удостоверение можно использовать для проверки подлинности в любой службе, которая поддерживает аутентификацию Microsoft Entra, без использования учетных данных в коде.
Используя страницу управления доступом созданного пространства имен Центров событий, назначьте роль владельца данных Центры событий Azure управляемому удостоверению виртуальной машины. Центры событий Azure поддерживает использование идентификатора Microsoft Entra для авторизации запросов к ресурсам Центров событий. С помощью идентификатора Microsoft Entra можно использовать управление доступом на основе ролей Azure (Azure RBAC) для предоставления разрешений субъекту безопасности, который может быть пользователем или субъектом-службой приложений.
На портале Azure перейдите к пространству имен Центров событий. Перейдите в раздел "контроль доступа (IAM)" в области навигации слева.
Нажмите кнопку +Добавить и выберите
Add role assignment
.На вкладке "Роль" выберите Центры событий Azure "Владелец данных" и нажмите кнопку "Далее".
На вкладке "Участники" выберите управляемое удостоверение в разделе "Назначение доступа к разделу ".
Выберите ссылку +Выбрать участников .
На странице "Выбор управляемых удостоверений" выполните следующие действия.
Выберите подписку Azure с виртуальной машиной.
Для управляемого удостоверения выберите виртуальную машину
Выберите управляемое удостоверение виртуальной машины.
Выберите в нижней части страницы.
Выберите Проверить и назначить.
Перезапустите виртуальную машину и войдите обратно на виртуальную машину, для которой настроено управляемое удостоверение.
Клонируйте репозиторий Центров событий Azure для Kafka.
Перейдите к
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/consumer
.Переключитесь в папку
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 можно найти здесь.
Вернитесь в папку "Потребитель" , где находится файл pom.xml, и запустите код потребителя и события обработки из концентратора событий с помощью клиентов Kafka:
mvn clean package mvn exec:java -Dexec.mainClass="TestConsumer"
Запустите другое окно командной строки и перейдите к ней
azure-event-hubs-for-kafka/tutorials/oauth/java/managedidentity/producer
.Переключитесь в папку
src/main/resources/
и откройтеproducer.config
ее. Заменитеmynamespace
именем пространства имен Центров событий.Вернитесь в папку производителя , в которой
pom.xml
находится файл, запустите код производителя и потоковую передачу событий в Центры событий:mvn clean package mvn exec:java -Dexec.mainClass="TestProducer"
В окне производителя должны отображаться сообщения о событиях, отправленных в окне производителя. Теперь проверка окно приложения-получателя, чтобы просмотреть сообщения, полученные из концентратора событий.
Проверка схемы для Kafka с помощью реестра схем
Реестр схем Azure можно использовать для проверки схемы при потоковой передаче данных с приложениями Kafka с помощью Центров событий. Реестр схем Azure центров событий предоставляет централизованный репозиторий для управления схемами, и вы можете легко подключить новые или существующие приложения Kafka с реестром схем.
Дополнительные сведения см. в статье "Проверка схем для приложений Apache Kafka с помощью Avro".
Следующие шаги
Из этой статьи вы узнали, как выполнять потоковую передачу данных в Центры событий без необходимости менять клиенты протоколов или запускать собственные кластеры. См. сведения в руководстве для разработчиков Apache Kafka по Центрам событий Azure.