如何在 java 中以编程方式创建 azure 事件中心主题?
How to create azure event hub topic programmatically in java?
我想知道 code/class 用于在 java 中创建 azure eventhub 主题。
我搜索了一下,发现我们可以像下面这样使用 .Net 创建。
var manager = new Microsoft.ServiceBus.NamespaceManager("mynamespace.servicebus.windows.net");
var description = manager.CreateEventHub("MyEventHub");
我想要 java..可以吗?
根据我的经验,您需要执行两个步骤来为 Java 中的 Azure 事件中心创建命名空间和实体,如下所示。
创建命名空间:
使用 Azure SDK for Java 创建 EventHub 命名空间。
首先在Maven工程的pom.xml
文件中添加依赖
<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();
在 Java.
中通过事件中心命名空间的 REST API Create Or Update
创建 EventHub 命名空间
创建实体:
- 通过 Java.
中事件中心的 REST API Create Or Update
- 通过 Java.
中实体管理 REST 的 REST API Create Event Hub
- 如下图在Azure portal上创建实体即可。
否则,您可以尝试按照文档Create an EventHubs namespace, Event Hub, and consumer group
使用Azure SDK通过Java中的ARM模板创建它。
azure.deployments().define("<deployment-name>").withExistingResourceGroup("<resource-group-name>").withTemplate("<template-uri>").withParameters("<parameters required in the template>").withMode(DeploymentMode.COMPLETE).create();
希望对您有所帮助。
我想知道 code/class 用于在 java 中创建 azure eventhub 主题。
我搜索了一下,发现我们可以像下面这样使用 .Net 创建。
var manager = new Microsoft.ServiceBus.NamespaceManager("mynamespace.servicebus.windows.net");
var description = manager.CreateEventHub("MyEventHub");
我想要 java..可以吗?
根据我的经验,您需要执行两个步骤来为 Java 中的 Azure 事件中心创建命名空间和实体,如下所示。
创建命名空间:
使用 Azure SDK for Java 创建 EventHub 命名空间。
首先在Maven工程的
pom.xml
文件中添加依赖<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();
在 Java.
中通过事件中心命名空间的 REST API
Create Or Update
创建 EventHub 命名空间
创建实体:
- 通过 Java. 中事件中心的 REST API
- 通过 Java. 中实体管理 REST 的 REST API
- 如下图在Azure portal上创建实体即可。
Create Or Update
Create Event Hub
否则,您可以尝试按照文档Create an EventHubs namespace, Event Hub, and consumer group
使用Azure SDK通过Java中的ARM模板创建它。
azure.deployments().define("<deployment-name>").withExistingResourceGroup("<resource-group-name>").withTemplate("<template-uri>").withParameters("<parameters required in the template>").withMode(DeploymentMode.COMPLETE).create();
希望对您有所帮助。