服务总线管理库

Azure 服务总线管理库可以动态预配服务总线命名空间和实体。 这样可以实现复杂的部署和消息方案,并能以编程方式确定要预配的实体。 这些库目前可用于 .NET。

受支持的功能

  • 命名空间创建、更新、删除
  • 创建、更新、删除队列
  • 创建、更新、删除主题
  • 创建、更新、删除订阅

先决条件

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

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

编程模式

所有服务总线资源的操纵模式都遵循常用协议:

  1. 使用 Microsoft.IdentityModel.Clients.ActiveDirectory 库从 Azure AD 获取令牌:

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

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

    var queueParams = new QueueCreateOrUpdateParameters()
    {
        Location = SettingsCache["DataCenterLocation"],
        EnablePartitioning = true
    };
    
  4. 执行调用:

    await sbClient.Queues.CreateOrUpdateAsync(resourceGroupName, namespaceName, QueueName, queueParams);
    

后续步骤