以编程方式创建 Azure 服务总线队列共享访问策略

Create Azure Service Bus queue Shared Access Policy programmatically

我已经实现了 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);

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

尼尔,

像这样的东西应该可以工作:

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);