Dapatkan Pesan
Operasi mengambil Get Messages satu atau beberapa pesan dari depan antrean.
Minta
Permintaan Get Messages dapat dibuat sebagai berikut. HTTPS disarankan. Ganti myaccount dengan nama akun penyimpanan Anda, dan myqueue dengan nama antrean Anda:
| Metode | Meminta URI | Versi HTTP |
|---|---|---|
GET |
https://myaccount.queue.core.windows.net/myqueue/messages |
HTTP/1.1 |
URI layanan penyimpanan yang ditimulasi
Saat membuat permintaan terhadap layanan penyimpanan yang ditimulasi, tentukan nama host emulator dan port layanan Antrean sebagai 127.0.0.1:10001, diikuti dengan nama akun penyimpanan yang ditimulasikan:
| Metode | Meminta URI | Versi HTTP |
|---|---|---|
GET |
http://127.0.0.1:10001/devstoreaccount1/myqueue/messages |
HTTP/1.1 |
Parameter URI
Parameter tambahan berikut dapat ditentukan pada URI permintaan.
| Parameter | Deskripsi |
|---|---|
numofmessages |
Opsional. Nilai bilangan bulat bukan nol yang menentukan jumlah pesan yang akan diambil dari antrean, hingga maksimum 32. Jika lebih sedikit terlihat, pesan yang terlihat akan dikembalikan. Secara default, satu pesan diambil dari antrean dengan operasi ini. |
visibilitytimeout |
Opsional. Menentukan nilai batas waktu visibilitas baru, dalam detik, relatif terhadap waktu server. Nilai default-nya adalah 30 detik. Nilai yang ditentukan harus lebih besar dari atau sama dengan 1 detik, dan tidak boleh lebih besar dari 7 hari, atau lebih besar dari 2 jam pada versi protokol REST sebelum versi 2011-08-18. Batas waktu visibilitas pesan dapat diatur ke nilai lebih lambat dari waktu kedaluwarsa. |
timeout |
Opsional. Parameter timeout dinyatakan dalam hitung detik. Untuk informasi selengkapnya, lihat Mengatur Batas Waktu untuk Operasi Layanan Antrean. |
Judul Permintaan
Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.
| Header Permintaan | Deskripsi |
|---|---|
Authorization |
Wajib diisi. Menentukan skema otorisasi, nama akun, dan tanda tangan. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage. |
Date atau x-ms-date |
Wajib diisi. Menentukan Waktu Universal Terkoordinasi (UTC) untuk permintaan tersebut. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage. |
x-ms-version |
Opsional. Menentukan versi operasi yang akan digunakan untuk permintaan ini. Untuk informasi selengkapnya, lihat Penerapan versi untuk layanan Azure Storage. |
x-ms-client-request-id |
Opsional. Menyediakan nilai buram yang dihasilkan klien dengan batas karakter 1 KiB yang dicatat dalam log analitik saat pengelogan analitik penyimpanan diaktifkan. Menggunakan header ini sangat direkomendasikan untuk mengkorelasi aktivitas sisi klien dengan permintaan yang diterima oleh server. Untuk informasi selengkapnya, lihat Tentang Pengelogan Storage Analytics dan Pengelogan Azure: Menggunakan Log untuk Melacak Permintaan Storage. |
Isi Permintaan
Tidak ada.
Respons
Respons mencakup kode status HTTP dan sekumpulan header respons.
Kode Status
Operasi yang berhasil mengembalikan kode status 200 (OK).
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 |
|---|---|
x-ms-request-id |
Header ini secara unik mengidentifikasi permintaan yang dibuat dan dapat digunakan untuk memecahkan masalah permintaan. Untuk informasi selengkapnya, lihat Pemecahan Masalah Operasi API. |
x-ms-version |
Menunjukkan versi layanan Antrean yang digunakan untuk menjalankan permintaan. Header ini dikembalikan untuk permintaan yang dibuat terhadap versi 2009-09-19 dan yang lebih baru. |
Date |
Nilai tanggal/waktu UTC yang dihasilkan oleh layanan yang menunjukkan waktu di mana respons dimulai. |
x-ms-client-request-id |
Header ini dapat digunakan untuk memecahkan masalah permintaan dan respons yang sesuai. Nilai header ini sama dengan nilai x-ms-client-request-id header jika ada dalam permintaan dan nilainya paling banyak 1024 karakter ASCII yang terlihat. x-ms-client-request-id Jika header tidak ada dalam permintaan, header ini tidak akan ada dalam respons. |
Isi Respons
XML respons untuk Get Messages operasi dikembalikan dalam format berikut.
Elemen MessageID adalah nilai GUID yang mengidentifikasi pesan dalam antrean. Nilai ini ditetapkan ke pesan oleh layanan Antrean dan buram untuk klien. Nilai ini dapat digunakan bersama dengan nilai PopReceipt elemen untuk menghapus pesan dari antrean setelah diambil dengan Get Messages operasi. Nilai PopReceipt juga buram bagi klien; satu-satunya tujuannya adalah untuk memastikan bahwa pesan dapat dihapus dengan operasi Hapus Pesan .
Elemen InsertionTime, ExpirationTime, dan TimeNextVisible direpresentasikan sebagai nilai UTC dan diformat seperti yang dijelaskan dalam RFC 1123.
Elemen DequeueCount memiliki nilai 1 saat pertama kali pesan didequeuu. Nilai ini bertahap setiap kali pesan kemudian didequeuu.
Catatan
Elemen DequeueCount dikembalikan dalam isi respons hanya jika antrean dibuat dengan versi 2009-09-19 dari layanan Antrean.
<QueueMessagesList>
<QueueMessage>
<MessageId>string-message-id</MessageId>
<InsertionTime>insertion-time</InsertionTime>
<ExpirationTime>expiration-time</ExpirationTime>
<PopReceipt>opaque-string-receipt-data</PopReceipt>
<TimeNextVisible>time-next-visible</TimeNextVisible>
<DequeueCount>integer</DequeueCount>
<MessageText>message-body</MessageText>
</QueueMessage>
</QueueMessagesList>
Respons Sampel
Response Status:
HTTP/1.1 200 OK
Response Headers:
Transfer-Encoding: chunked
Content-Type: application/xml
Date: Fri, 16 Sep 2011 21:04:30 GMT
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
Response Body:
<?xml version="1.0" encoding="utf-8"?>
<QueueMessagesList>
<QueueMessage>
<MessageId>5974b586-0df3-4e2d-ad0c-18e3892bfca2</MessageId>
<InsertionTime>Fri, 09 Oct 2009 21:04:30 GMT</InsertionTime>
<ExpirationTime>Fri, 16 Oct 2009 21:04:30 GMT</ExpirationTime>
<PopReceipt>YzQ4Yzg1MDItYTc0Ny00OWNjLTkxYTUtZGM0MDFiZDAwYzEw</PopReceipt>
<TimeNextVisible>Fri, 09 Oct 2009 23:29:20 GMT</TimeNextVisible>
<DequeueCount>1</DequeueCount>
<MessageText>PHRlc3Q+dGhpcyBpcyBhIHRlc3QgbWVzc2FnZTwvdGVzdD4=</MessageText>
</QueueMessage>
</QueueMessagesList>
Authorization
Operasi ini dapat dilakukan oleh pemilik akun dan oleh siapa pun dengan tanda tangan akses bersama yang memiliki izin untuk melakukan operasi ini.
Keterangan
Konten pesan diambil dalam format apa pun yang digunakan untuk operasi Letakkan Pesan .
Saat pesan diambil dari antrean, respons menyertakan pesan dan nilai tanda terima pop, yang diperlukan untuk menghapus pesan. Pesan tidak dihapus secara otomatis dari antrean, tetapi setelah diambil, pesan tidak terlihat oleh klien lain untuk interval waktu yang ditentukan oleh visibilitytimeout parameter .
Jika beberapa pesan diambil, setiap pesan memiliki tanda terima pop terkait. Jumlah maksimum pesan yang dapat diambil pada satu waktu adalah 32.
Klien yang mengambil pesan diharapkan untuk menghapus pesan setelah diproses, dan sebelum waktu yang ditentukan oleh TimeNextVisible elemen respons, yang dihitung berdasarkan nilai visibilitytimeout parameter. Nilai visibilitytimeout ditambahkan ke waktu saat pesan diambil untuk menentukan nilai TimeNextVisible.
Pesan yang diambil dengan tertentu visibilitytimeout dapat muncul kembali sebelum batas waktu yang ditentukan berlalu, karena ke condong jam. Perhatikan bahwa klien dapat menyimpulkan bahwa pesan telah didequeu oleh klien yang berbeda berdasarkan tanda terima pop, yang unik untuk setiap penghapusan antrean pesan. Jika tanda terima pop klien tidak lagi berfungsi untuk menghapus atau memperbarui pesan, dan klien menerima kesalahan 404 (Tidak Ditemukan), maka pesan telah dihapus dari antrean oleh klien lain.
Biasanya, ketika konsumen mengambil pesan melalui Get Messages, pesan tersebut biasanya dicadangkan untuk dihapus hingga interval batas waktu visibilitas berakhir, tetapi perilaku ini tidak dijamin. Setelah interval visibilitytimeout kedaluwarsa, pesan kembali terlihat oleh konsumen lain. Jika pesan tidak kemudian diambil dan dihapus oleh konsumen lain, konsumen asli dapat menghapus pesan menggunakan tanda terima pop asli.
Saat pesan diambil untuk pertama kalinya, propertinya DequeueCount diatur ke 1. Jika tidak dihapus dan kemudian diambil lagi, DequeueCount properti akan dinaikkan. Klien dapat menggunakan nilai ini untuk menentukan berapa kali pesan telah diambil.
Jika parameter visiblitytimeout atau numofmessages di luar rentang, layanan mengembalikan kode status 400 (Permintaan Buruk), bersama dengan informasi kesalahan tambahan, seperti yang ditunjukkan dalam contoh berikut.
HTTP/1.1 400 One of the query parameters specified in the request URI is outside the permissible range.
Connection: Keep-Alive
Content-Length: 455
Via: 1.1 TK5-PRXY-22
Date: Wed, 02 May 2012 19:37:23 GMT
Content-Type: application/xml
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0
x-ms-request-id: 6a03526c-ca2c-4358-a63a-b5d096988533
x-ms-version: 2011-08-18
<?xml version="1.0" encoding="utf-8"?>
<Error>
<Code>OutOfRangeQueryParameterValue</Code>
<Message>One of the query parameters specified in the request URI is outside the permissible range.
RequestId:6a03526c-ca2c-4358-a63a-b5d096988533
Time:2012-05-02T19:37:24.2438463Z
</Message>
<QueryParameterName>numofmessages</QueryParameterName>
<QueryParameterValue>0</QueryParameterValue>
<MinimumAllowed>1</MinimumAllowed>
<MaximumAllowed>32</MaximumAllowed>
</Error>
Lihat juga
Kode Kesalahan Layanan Antrean
Mengotorisasi permintaan ke Azure Storage
Kode Status dan Kesalahan