【问题标题】:Create Azure Service Bus queue Shared Access Policy programmatically以编程方式创建 Azure 服务总线队列共享访问策略
【发布时间】:2015-06-10 07:34:45
【问题描述】:

我已经实现了一个 Azure 服务总线 REST API 客户端。目前我正在为我的 REST 项目构建 xUnit 测试,需要使用测试提供的名称创建一个队列,使用 REST 客户端发送消息,然后删除具有该特定名称的队列。

我的一个要求是为新创建的队列指定共享访问策略,仅以编程方式发送权限,但我在网上找不到任何表明这是可能的信息。

到目前为止我有这个

TokenProvider credentials = TokenProvider.CreateSharedAccessSignatureTokenProvider("MyBusAccessPolicy", "XXXXXXXXXXXXXXXX");
NamespaceManager namespaceManager = new NamespaceManager(ServiceBusEnvironment.CreateServiceUri("sb", _serviceNamespace, string.Empty), credentials);
QueueDescription queueDescription =  await namespaceManager.CreateQueueAsync(queueName);

如果可能的话,我将如何着手专门为该队列创建共享访问策略?

【问题讨论】:

    标签: c# azureservicebus


    【解决方案1】:

    尼尔,

    这样的事情应该可以工作:

    string queuePolicyName = "SendPolicy";
    string queuePrimaryKey = SharedAccessAuthorizationRule.GenerateRandomKey();
    
    QueueDescription queueDescription = new QueueDescription(queueName);
    SharedAccessAuthorizationRule queueSharedAccessPolicy = new SharedAccessAuthorizationRule(queuePolicyName, queuePrimaryKey, new[] { AccessRights.Send });
    queueDescription.Authorization.Add(queueSharedAccessPolicy);
    
    await _namespaceManager.CreateQueueAsync(queueDescription);
    

    【讨论】:

    • 我们如何通过 Powershell 实现这一点?
    猜你喜欢
    • 1970-01-01
    • 2020-01-02
    • 2015-02-17
    • 2021-03-31
    • 1970-01-01
    • 2015-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多