Mengubah interval waktu sebelum pesan yang tidak aktif dan telah dikonsumsi dapat dikonsumsi kembali.
Otorisasi
Secara default, hanya akun Alibaba Cloud yang dapat memanggil operasi ini. Pengguna Manajemen Akses Sumber Daya (RAM) dapat memanggil operasi ini hanya setelah mereka diberikan izin terkait. Tabel berikut menjelaskan informasi otorisasi dari operasi ini. Untuk informasi lebih lanjut, lihat Kebijakan izin dan contoh.
Nama | Nilai |
API | ChangeMessageVisibility |
Aksi | mns:ChangeMessageVisibility |
Sumber daya | acs:mns:$region:$accountid:/queues/$queueName/messages |
Permintaan
Sebuah permintaan terdiri dari bagian-bagian berikut:
Baris permintaan
PUT /queues/$queueName/messages?receiptHandle=<receiptHandle>&visibilityTimeout=<visibilitytimeout> HTTP/1.1Parameter URI
Parameter
Tipe
Diperlukan
Contoh
Deskripsi
ReceiptHandle
String
Ya
MbZj6wDWli+QEauMZc8ZRv37sIW2iJKq3M9Mx/KSbkJ0
Handle penerimaan yang dikembalikan ketika pesan terakhir dikonsumsi. Untuk informasi lebih lanjut, lihat ReceiveMessage.
VisibilityTimeout
Integer
Ya
50
Periode timeout visibilitas, dalam detik.
Nilainya berkisar antara 1 hingga 43200, yaitu 1 detik hingga 12 jam.
Header permintaan spesifik operasi
Tidak ada.
Badan permintaan
Tidak ada.
Respons
Sebuah respons terdiri dari bagian-bagian berikut:
Kode status HTTP
HTTP/1.1 200 OKHeader respons spesifik operasi
Tidak ada.
Badan respons
Parameter
Tipe
Contoh
Deskripsi
ReceiptHandle
String
TbZj6wDWli+9CEauMZc8ZRv37sIW2iJKq3M9Mx/TS1
Handle penerimaan yang dikembalikan setelah nilai parameter
VisibilityTimeoutdimodifikasi. Handle penerimaan ini dapat digunakan untuk menghapus dan memodifikasi pesan yang tidak aktif dan tetap valid hingga waktu yang ditentukan oleh parameterNextVisibleTime.NextVisibleTime
Long
1250700979298000
Waktu berikutnya ketika pesan dapat dikonsumsi. Nilai ini adalah timestamp UNIX yang mewakili jumlah milidetik yang telah berlalu sejak waktu epoch (1 Januari 1970, 00:00:00 UTC).
Contoh
Contoh permintaan
PUT /queues/$queueName/messages
?receiptHandle=MbZj6wDWli+QEauMZc8ZRv37sIW2iJKq3M9Mx/KSbkJ0&visibilityTimeout=50 HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 28 May 2012 22:32:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXA**** Contoh respons sukses
HTTP/1.1 200 OK
x-mns-request-id:512B2A634403E52B1956****
x-mns-version: 2015-06-06
<?xml version="1.0" encoding="UTF-8"?>
<ChangeVisibility xmlns="http://mns.aliyuncs.com/doc/v1/">
<ReceiptHandle>TbZj6wDWli+9CEauMZc8ZRv37sIW2iJKq3M9Mx/TS1</ReceiptHandle >
<NextVisibleTime>1250700979298000</NextVisibleTime>
</ChangeVisibility> Kode kesalahan
Kode kesalahan | Pesan kesalahan | Kode status HTTP | Deskripsi |
InvalidArgument | Nilai dari Elemen harus berada di antara Low dan High detik/byte. | 400 | Pesan kesalahan dikembalikan karena nilai parameter tidak valid. Anda harus menentukan nilai yang valid seperti yang diminta. |
ReceiptHandleError | Handle penerimaan yang Anda berikan tidak valid. | 400 | Pesan kesalahan dikembalikan karena parameter ReceiptHandle tidak valid. |
QueueNotExist | Nama antrian yang Anda berikan tidak ada. | 404 | Pesan kesalahan dikembalikan karena antrian yang ditentukan tidak ada. Buat antrian. |
MessageNotExist | Handle penerimaan yang Anda berikan telah kedaluwarsa. | 404 | Pesan kesalahan dikembalikan karena Anda belum mengonsumsi pesan dalam periode tidak terlihat dan handle penerimaan pesan telah kedaluwarsa. Konsumsi pesan dalam periode tidak terlihat atau tentukan periode tidak terlihat yang lebih lama. |