Perbarui Pesan

Operasi memperbarui Update Message batas waktu visibilitas pesan. Anda juga dapat menggunakan operasi ini untuk memperbarui konten pesan. Pesan harus dalam format yang dapat disertakan dalam permintaan XML dengan pengodean UTF-8, dan pesan yang dikodekan dapat berukuran hingga 64 KB. Operasi ini diperkenalkan dengan versi 2011-08-18 dari Azure Queue Storage API.

Minta

Anda dapat membuat Update Message permintaan sebagai berikut. HTTPS disarankan. Ganti myaccount dengan nama akun penyimpanan Anda, dan myqueue dengan nama antrean Anda.

Metode Meminta URI Versi HTTP
PUT https://myaccount.queue.core.windows.net/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> HTTP/1.1

Layanan penyimpanan yang ditimulasi

Operasi ini didukung untuk SDK 1.6 dan versi yang lebih baru.

Saat Anda membuat permintaan terhadap layanan penyimpanan yang ditimulasi, tentukan nama host emulator dan port Queue Storage sebagai 127.0.0.1:10001, diikuti dengan nama akun penyimpanan yang ditimulasi.

Metode Meminta URI Versi HTTP
PUT http://127.0.0.1:10001/devstoreaccount1/myqueue/messages/messageid?popreceipt=<string-value>&visibilitytimeout=<int-seconds> HTTP/1.1

Parameter URI

Anda dapat menentukan parameter berikut pada URI permintaan.

Parameter Deskripsi
popreceipt Wajib diisi. Menentukan nilai tanda terima pop yang valid yang dikembalikan dari panggilan sebelumnya ke operasi Dapatkan Pesan atau Perbarui Pesan . popreceipt harus dikodekan URL.
visibilitytimeout Wajib diisi. Menentukan nilai batas waktu visibilitas baru, dalam detik, relatif terhadap waktu server. Nilai baru harus lebih besar dari atau sama dengan 0, dan tidak boleh lebih besar dari 7 hari. Batas waktu visibilitas pesan tidak dapat diatur ke nilai lebih lambat dari waktu kedaluwarsa. Anda dapat memperbarui pesan hingga pesan dihapus atau telah kedaluwarsa.
timeout Opsional. Parameter timeout dinyatakan dalam hitung detik. Untuk informasi selengkapnya, lihat Mengatur batas waktu untuk operasi Queue Storage.

Header permintaan

Tabel berikut ini menjelaskan header permintaan yang diperlukan dan opsional.

Meminta kop Deskripsi
Authorization Wajib diisi. Menentukan skema otorisasi, nama akun, dan tanda tangan. Untuk informasi selengkapnya, lihat Mengotorisasi permintaan ke Azure Storage.
Date or 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 Membutuhkan 2011-08-18 atau yang lebih baru. 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 kibibyte (KiB) yang dicatat dalam log saat pengelogan dikonfigurasi. Kami sangat menyarankan Anda menggunakan header ini untuk menghubungkan aktivitas sisi klien dengan permintaan yang diterima server. Untuk informasi selengkapnya, lihat Memantau Azure Queue Storage.

Isi permintaan

Isi permintaan berisi data pesan dalam format XML berikut. Perhatikan bahwa konten pesan harus dalam format yang dapat dikodekan dengan UTF-8.

<QueueMessage>  
    <MessageText>message-content</MessageText>  
</QueueMessage>  

Respons

Respons mencakup kode status HTTP dan sekumpulan header respons.

Kode status

Operasi yang berhasil mengembalikan kode status 204 (Tanpa Konten). 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.

Meminta kop 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 Queue Storage 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 menunjukkan waktu di mana respons dimulai. Layanan menghasilkan nilai ini.
x-ms-popreceipt Tanda terima pop pesan antrean.
x-ms-time-next-visible Nilai tanggal/waktu UTC yang menunjukkan kapan pesan akan terlihat pada antrean.
x-ms-client-request-id Anda dapat menggunakan header ini untuk memecahkan masalah permintaan dan respons terkait. Nilai header ini sama dengan nilai x-ms-client-request-id header, jika ada dalam permintaan. Nilainya paling banyak 1.024 karakter ASCII yang terlihat. x-ms-client-request-id Jika header tidak ada dalam permintaan, header ini tidak akan ada dalam respons.

Isi Respons

Tidak ada.

Authorization

Pemilik akun dapat melakukan operasi ini. Selain itu, siapa pun dengan tanda tangan akses bersama yang memiliki izin untuk melakukan operasi ini dapat melakukannya.

Sampel permintaan dan respons

Permintaan berikut memperluas visibilitas pesan antrean sebesar 30 detik dan memperbarui kontennya.

PUT https://myaccount.queue.core.windows.net/myqueue/messages/663d89aa-d1d9-42a2-9a6a-fcf822a97d2c?popreceipt=AgAAAAEAAAApAAAAGIw6Q29bzAE%3d&visibilitytimeout=30&timeout=30 HTTP/1.1  
  

Permintaan dikirim dengan header berikut:

x-ms-version: 2011-08-18  
x-ms-date: Mon, 29 Aug 2011 17:17:21 GMT  
Authorization: SharedKey myaccount:batcrWZ35InGCZeTUFWMdIQiOZPCW7UEyeGdDOg7WW4=  
Content-Length: 75  

Permintaan dikirim dengan isi XML berikut:

<QueueMessage>  
    <MessageText>new-message-content</MessageText>  
</QueueMessage>  

Setelah permintaan dikirim, respons berikut dikembalikan:

HTTP/1.1 204 No Content  
Content-Length: 0  
Server: Windows-Azure-Queue/1.0 Microsoft-HTTPAPI/2.0  
x-ms-request-id: df34a7dd-3cbe-4206-a586-d6de3cf225a7  
x-ms-version: 2011-08-18  
x-ms-popreceipt: AwAAAAIAAAApAAAAINtMQ29bzAEBAAAA  
x-ms-time-next-visible: Mon, 29 Aug 2011 17:17:51 GMT  
Date: Mon, 29 Aug 2011 17:17:21 GMT  

Keterangan

Operasi Update Message gagal jika pesan yang ditentukan tidak ada dalam antrean, atau jika tanda terima pop yang ditentukan tidak cocok dengan pesan.

Tanda terima pop dikembalikan oleh Get Messages operasi atau Update Message operasi. Tanda terima pop tetap valid hingga salah satu peristiwa berikut terjadi:

  • Pesan telah kedaluwarsa.

  • Pesan telah dihapus dengan menggunakan tanda terima pop terakhir yang diterima, baik dari Get Messages atau Update Message.

  • Waktu tidak terlihat telah berlalu dan pesan telah dihentikan antreannya oleh Get Messages permintaan. Ketika waktu tembus pandang berlalu, pesan akan terlihat lagi. Jika diambil oleh permintaan lain Get Messages , tanda terima pop yang dikembalikan dapat digunakan untuk menghapus atau memperbarui pesan.

  • Pesan telah diperbarui dengan batas waktu visibilitas baru. Ketika pesan diperbarui, tanda terima pop baru akan dikembalikan.

Anda dapat menggunakan Update Message operasi untuk terus memperluas tidak terlihatnya pesan antrean. Fungsionalitas ini dapat berguna jika Anda ingin peran pekerja menyewa pesan antrean. Misalnya, jika peran pekerja memanggil Dapatkan Pesan dan mengenali bahwa ia membutuhkan lebih banyak waktu untuk memproses pesan, peran tersebut dapat terus memperluas ketidaksesuaian pesan hingga diproses. Jika peran pekerja gagal selama pemrosesan, akhirnya pesan akan terlihat lagi, dan peran pekerja lain dapat memprosesnya.

Lihat juga

Mengotorisasi permintaan ke Azure Storage
Status dan kode galat
Kode kesalahan Queue Storage