Peek-Lock İletisi (Tahribatsız Okuma)

Bu işlem, bir kuyruktan veya abonelikten bir iletiyi işlenmek üzere atomik olarak alır ve kilitler. İletinin, kuyruk/abonelik açıklamasında belirtilen kilit süresi boyunca diğer alıcılara (yalnızca aynı kuyrukta veya abonelikte) teslim edilmemesi garanti edilir. Kilidin süresi dolduğunda ileti diğer alıcıların kullanımına sunulur. İletinin işlenmesini tamamlamak için, alıcının bu işlemden alınan kilit kimliğiyle bir silme komutu vermesi gerekir. İletinin işlenmesini bırakmak ve diğer alıcılar için kilidini açmak için, bir İletinin Kilidini Aç komutu verilmelidir, aksi takdirde kilit süresi dolabilir.

Bu işlem En Az Bir Kez teslim güvencesi gerektiren uygulamalarda kullanılmalıdır. İşlem başarılı olmadan önce alıcı iletiyi silmezse, bu işlem kilit süresi sona erdikten sonra başka bir alıcının işlemeyi denemesini sağlar.

İstek

Yöntem İstek URI'si HTTP Sürümü
POST http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath}/messages/head

veya

http{s}://{serviceNamespace}.servicebus.windows.net/{topicPath}/subscriptions/{subscriptionName}/messages/head|HTTP/1.1

İstek Üst Bilgileri

Aşağıdaki tabloda gerekli ve isteğe bağlı istek üst bilgileri açıklanmaktadır. Listelenen özelliklere ek olarak, üst bilgi özel özellikler içerebilir. Örne bakın.

İstek Başlığı Description
Yetkilendirme Aşağıdaki belirteç değerlerinden birini belirtin:

İstek Gövdesi

Yok.

Yanıt

Yanıt bir HTTP durum kodu, bir dizi yanıt üst bilgisi ve yanıt gövdesi içerir.

Yanıt Kodları

Kod Description
201 İleti başarıyla alındı ve kilitlendi.
204 Belirtilen zaman aşımı süresi içinde kullanılabilir ileti yok.
400 Hatalı istek.
401 Yetkilendirme hatası.
410 Belirtilen kuyruk veya abonelik yok.
500 İç hata.

Durum kodları hakkında bilgi için bkz. Durum ve Hata Kodları.

Yanıt Üst Bilgileri

Bu işlemin yanıtı aşağıdaki üst bilgileri içerir. Yanıt ek standart HTTP üst bilgileri de içerebilir. Tüm standart üst bilgiler HTTP/1.1 protokol belirtimine uygundur.

Yanıt Üst Bilgisi Description
Content-Type application/atom+xml;type=entry;charset=utf-8 olarak ayarlayın.
Location Kilitli iletinin URI'sini. İletinin kilidini açmak veya iletiyi silmek için bu URI'yi kullanabilirsiniz.
BrokerProperties Alınan iletinin JSON kodlaması BrokerProperties . özelliği, LockToken döndürülen iletinin kilit kimliğini temsil eder. özelliği, SequenceNumber döndürülen iletinin sıra numarasını temsil eder.

Yanıt Gövdesi

Yanıt gövdesi, alınan iletinin ileti gövdesidir.

Örnek

Aşağıdaki HTTP isteği bir kuyruktan gelen iletiyi kilitler ve döndürür:

POST https://your-namespace.servicebus.windows.net/HttpClientSampleQueue/messages/head?timeout=60 HTTP/1.1  
Authorization: SharedAccessSignature sr=your-namespace&sig=Fg8yUyR4MOmXfHfj55f5hY4jGb8x2Yc%2b3%2fULKZYxKZk%3d&se=1404256819&skn=RootManageSharedAccessKey  
Host: your-namespace.servicebus.windows.net  
Content-Length: 0  

Service Bus aşağıdaki yanıtı döndürür. İleti özel özellikleri Priority ve Customeriçerir:

HTTP/1.1 201 Created  
Transfer-Encoding: chunked  
Content-Type: application/atom+xml;type=entry;charset=utf-8  
Location: https://your-namespace.servicebus.windows.net/httpclientsamplequeue/messages/2/7da9cfd5-40d5-4bb1-8d64-ec5a52e1c547  
Server: Microsoft-HTTPAPI/2.0  
BrokerProperties: {"DeliveryCount":1,"EnqueuedSequenceNumber":0,"EnqueuedTimeUtc":"Wed, 02 Jul 2014 01:32:27 GMT","Label":"M1","LockToken":"7da9cfd5-40d5-4bb1-8d64-ec5a52e1c547","LockedUntilUtc":"Wed, 02 Jul 2014 01:33:27 GMT","MessageId":"31907572164743c38741631acd554d6f","SequenceNumber":2,"State":"Active","TimeToLive":10}  
Priority: "High"  
Customer: "12345,ABC"  
Date: Wed, 02 Jul 2014 01:32:27 GMT  
  
12  
This is a message.  
0  

Ayrıca Bkz.

Service Bus HTTP İstemcisi örneği