Как программно создать тему-концентратор событий Azure в Java?
Я хочу знать код / класс, используемый для создания тем Azure EventHub в Java.
Я искал и обнаружил, что мы можем создать с помощью.Net, как показано ниже.
var manager = new Microsoft.ServiceBus.NamespaceManager("mynamespace.servicebus.windows.net");
var description = manager.CreateEventHub("MyEventHub");
Я хочу то же самое для Java.. это возможно?
1 ответ
По моему опыту, вам нужно сделать два шага, чтобы создать пространство имен и сущность для концентраторов событий Azure в Java, как показано ниже.
Чтобы создать пространства имен:
Использование Azure SDK для Java для создания пространства имен EventHub.
Сначала добавьте зависимость в
pom.xml
файл проекта Maven.<dependency> <groupId>com.microsoft.azure</groupId> <artifactId>azure</artifactId> <version>1.1.0</version> </dependency>
Вот мой пример кода с использованием учетных данных токена приложения.
String clientId = "<your client id regiested on AAD>"; String domain = "<your talnet id or domain name>"; String secret = "<your client key>"; String subscription = "<your subscription id>"; AzureTokenCredentials cred = new ApplicationTokenCredentials(clientId, domain, secret, AzureEnvironment.AZURE); Azure azure = Azure.configure().authenticate(cred).withSubscription(subscription); String name = "<your eventhub namespace name>"; String region = "<your eventhub region like 'East Asia'>"; String resourceGroupName = "<your resource group name>"; String resourceType = "namespaces"; String providerNamespace = "Microsoft.EventHub"; azure.genericResources().define(name).withRegion(region) .withExistingResourceGroup(resourceGroupName).withResourceType(resourceType) .withProviderNamespace(providerNamespace).withoutPlan() .create();
Чтобы создать пространство имен EventHub через REST API
Create Or Update
пространств имен концентраторов событий в Java.
Чтобы создать сущности:
- Через API REST
Create Or Update
концентраторов событий в Java. - Через API REST
Create Event Hub
управления сущностями REST в Java. - Просто создайте сущность на портале Azure, как показано на рисунке ниже.
В противном случае вы можете попробовать следовать документу Create an EventHubs namespace, Event Hub, and consumer group
создать его с помощью шаблона ARM в Java с помощью Azure SDK.
azure.deployments().define("<deployment-name>").withExistingResourceGroup("<resource-group-name>").withTemplate("<template-uri>").withParameters("<parameters required in the template>").withMode(DeploymentMode.COMPLETE).create();
Надеюсь, поможет.