2015-06-10 25 views
8

Azure Service Bus REST API istemcisini uyguladı. Şu anda, REST projem için xUnit testleri yapıyorum ve test tarafından sağlanan bir isimle bir Kuyruk oluşturmalı, REST istemcisiyle mesaj göndermeli ve ardından bu özel adla Kuyruğu sileyim.Azure Service Bus kuyruğu oluşturun Paylaşılan Erişim İlkesi program aracılığıyla

Gereksinimlerimden biri yeni oluşturulan Kuyruk için bir Paylaşım Erişimi İlkesi belirlemektir, yalnızca programa göre Gönderme izinleri vardır ancak bunun mümkün olduğunu öneren çevrimiçi bir şey bulamıyorum.

Şimdiye kadar bu

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

bile nasıl mümkünse, bu sıra için özel olarak Paylaşılan Erişim ilkesi oluşturmak için devam ediyorum var?

cevap

6

Neil, böyle

şey çalışmalıdır:

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

Teşekkür Seth! Bu güzel çalıştı – Neil

+0

Bunu Powershell'den nasıl başarabiliriz? –

İlgili konular