Как программно создать тему-концентратор событий 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, как показано ниже.

Чтобы создать пространства имен:

  1. Использование 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();
    
  2. Чтобы создать пространство имен EventHub через REST API Create Or Update пространств имен концентраторов событий в Java.

Чтобы создать сущности:

  1. Через API REST Create Or Update концентраторов событий в Java.
  2. Через API REST Create Event Hub управления сущностями REST в Java.
  3. Просто создайте сущность на портале 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();

Надеюсь, поможет.

Другие вопросы по тегам