All Products
Search
Document Center

Simple Message Queue (formerly MNS):ChangeMessageVisibility

Last Updated:Jul 06, 2025

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.1

  • Parameter 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 OK

  • Header respons spesifik operasi

    Tidak ada.

  • Badan respons

    Parameter

    Tipe

    Contoh

    Deskripsi

    ReceiptHandle

    String

    TbZj6wDWli+9CEauMZc8ZRv37sIW2iJKq3M9Mx/TS1

    Handle penerimaan yang dikembalikan setelah nilai parameter VisibilityTimeout dimodifikasi. Handle penerimaan ini dapat digunakan untuk menghapus dan memodifikasi pesan yang tidak aktif dan tetap valid hingga waktu yang ditentukan oleh parameter NextVisibleTime.

    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.