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