2015-06-10 4 views
8

Я реализовал клиент API REST API Azure Service Bus. В настоящий момент я создаю тесты xUnit для моего проекта REST и вам нужно создать очередь с именем, предоставленным тестом, отправить сообщения с клиентом REST и затем удалить очередь с этим конкретным именем.Создание очереди служебной шины Azure Программная политика общего доступа

Одним из моих требований является указание общей политики доступа для вновь созданной очереди с программным обеспечением только разрешений отправки, но я не могу найти что-либо в Интернете, что предполагает, что это возможно.

До сих пор я это

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

Как бы приступить к созданию политики Shared Access специально для этой очереди, если вообще возможно?

ответ

6

Нил,

Что-то, как это должно работать:

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

Благодаря Сет! Это хорошо работает – Neil

+0

Как мы можем добиться этого от Powershell? –

Смежные вопросы