Pesan Peek-Lock (Tindakan Baca Non-Destruktif)
Operasi ini secara atomik mengambil dan mengunci pesan dari antrean atau langganan untuk diproses. Pesan dijamin tidak akan dikirimkan ke penerima lain (hanya pada antrean atau langganan yang sama) selama durasi kunci yang ditentukan dalam deskripsi antrean/langganan. Ketika kunci kedaluwarsa, pesan akan tersedia untuk penerima lain. Untuk menyelesaikan pemrosesan pesan, penerima harus mengeluarkan perintah hapus dengan ID kunci yang diterima dari operasi ini. Untuk mengabaikan pemrosesan pesan dan membuka kuncinya untuk penerima lain, perintah Buka Kunci Pesan harus dikeluarkan, jika tidak, periode durasi kunci dapat kedaluwarsa.
Operasi ini harus digunakan dalam aplikasi yang memerlukan jaminan pengiriman Setidaknya Sekali . Jika penerima tidak menghapus pesan sebelum pemrosesan berhasil, operasi ini memastikan bahwa penerima lain dapat mencoba memproses setelah periode durasi kunci berakhir.
Minta
Metode | Meminta URI | Versi HTTP |
---|---|---|
POST | http{s}://{serviceNamespace}.servicebus.windows.net/{queuePath}/messages/head atau http{s}://{serviceNamespace}.servicebus.windows.net/{topicPath}/subscriptions/{subscriptionName}/messages/head|HTTP/1.1 |
Judul Permintaan
Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional. Selain properti yang tercantum, header dapat berisi properti kustom. Lihat contoh.
Header Permintaan | Deskripsi |
---|---|
Authorization | Tentukan salah satu nilai token berikut:
|
Isi Permintaan
Tidak ada.
Respons
Respons mencakup kode status HTTP, sekumpulan header respons, dan isi respons.
Kode Respons
Kode | Deskripsi |
---|---|
201 | Pesan berhasil diambil dan dikunci. |
204 | Tidak ada pesan yang tersedia dalam periode batas waktu yang ditentukan. |
400 | Permintaan buruk. |
401 | Kegagalan otorisasi. |
410 | Antrean atau langganan yang ditentukan tidak ada. |
500 | Kesalahan internal. |
Untuk informasi tentang kode status, lihat Status dan Kode Kesalahan.
Header Respons
Respons untuk operasi ini mencakup header berikut. Respons juga dapat mencakup header HTTP standar tambahan. Semua header standar sesuai dengan spesifikasi protokol HTTP/1.1.
Header Respons | Deskripsi |
---|---|
Content-Type |
Atur ke application/atom+xml;type=entry;charset=utf-8 . |
Location |
URI pesan terkunci. Anda dapat menggunakan URI ini untuk membuka kunci atau menghapus pesan. |
BrokerProperties |
JSON dikodekan BrokerProperties dari pesan yang diterima. Properti LockToken mewakili ID kunci untuk pesan yang dikembalikan. Properti SequenceNumber mewakili nomor urut pesan yang dikembalikan. |
Isi Respons
Isi respons adalah isi pesan dari pesan yang diambil.
Contoh
Permintaan HTTP berikut mengunci dan mengembalikan pesan dari antrean:
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
Azure Service Bus mengembalikan respons berikut. Pesan berisi properti Priority
kustom dan Customer
:
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