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 Customer
iç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