事件中心管理库

可以使用 Azure 事件中心管理库动态设置事件中心命名空间和实体。 这种动态性可以实现复杂的部署和消息传送方案,以便能够以编程方式确定要预配的实体。 这些库目前可用于 .NET。

支持的功能

  • 创建、更新、删除命名空间
  • 事件中心创建、更新、删除
  • 使用者组创建、更新、删除

先决条件

若要开始使用事件中心管理库,必须使用 Azure Active Directory (AAD) 进行身份验证。 AAD 要求以提供 Azure 资源访问权限的服务主体身份进行身份验证。 有关创建服务主体的信息,请参阅以下文章之一:

这些教程提供 AppId(客户端 ID)、TenantIdClientSecret(身份验证密钥),这些都用于管理库进行的身份验证。 若要对资源组运行命令,必须拥有“所有者”权限。

编程模式

操作任何事件中心资源的模式都遵循通用协议:

  1. 使用 Microsoft.IdentityModel.Clients.ActiveDirectory 库从 AAD 获取令牌。

    var context = new AuthenticationContext($"https://login.chinacloudapi.cn/{tenantId}");
    
    var result = await context.AcquireTokenAsync(
        "https://management.core.chinacloudapi.cn/",
        new ClientCredential(clientId, clientSecret)
    );
    
  2. 创建 EventHubManagementClient 对象。

    var creds = new TokenCredentials(token);
    var ehClient = new EventHubManagementClient(creds)
    {
        SubscriptionId = SettingsCache["SubscriptionId"]
    };
    
  3. CreateOrUpdate 参数设置为指定值。

    var ehParams = new EventHubCreateOrUpdateParameters()
    {
        Location = SettingsCache["DataCenterLocation"]
    };
    
  4. 执行调用。

    await ehClient.EventHubs.CreateOrUpdateAsync(resourceGroupName, namespaceName, EventHubName, ehParams);
    

后续步骤