2015-06-10 20 views
8

Tôi đã triển khai một máy khách API dịch vụ REST REST của Azure. Hiện tại tôi đang xây dựng các thử nghiệm xUnit cho dự án REST của mình và cần tạo một Hàng đợi với tên được cung cấp bởi kiểm thử, gửi các tin nhắn với máy khách REST và sau đó xóa hàng đợi với tên cụ thể đó.Tạo hàng đợi Dịch vụ Azure Xe buýt Chính sách truy cập được chia sẻ lập trình

Một trong những yêu cầu của tôi là chỉ định Chính sách truy cập được chia sẻ cho Hàng đợi mới tạo chỉ với quyền Gửi theo chương trình nhưng tôi không thể tìm thấy bất kỳ điều gì trực tuyến cho thấy điều này là có thể.

Cho đến nay tôi có điều này

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

Làm thế nào tôi sẽ tiến hành để tạo ra các chính sách Chia sẻ kết nối đặc biệt cho hàng đợi rằng nếu thậm chí có thể?

Trả lời

6

Neil,

Something như thế này nên làm việc:

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

Cảm ơn Seth! Điều này làm việc độc đáo – Neil

+0

Làm thế nào chúng ta có thể đạt được điều này từ Powershell? –

Các vấn đề liên quan