Changes the time interval before an inactive, consumed message can be consumed again.
Authorization
By default, only Alibaba Cloud accounts can call this operation. Resource Access Management (RAM) users can call this operation only after they are granted related permissions. The following table describes the authorization information of this operation. For more information, see Permission policies and examples.
Name | Value |
API | ChangeMessageVisibility |
Action | mns:ChangeMessageVisibility |
Resource | acs:mns:$region:$accountid:/queues/$queueName/messages |
Request
A request consists of the following parts:
Request line
PUT /queues/$queueName/messages?receiptHandle=<receiptHandle>&visibilityTimeout=<visibilitytimeout> HTTP/1.1
URI parameters
Parameter
Type
Required
Example
Description
ReceiptHandle
String
Yes
MbZj6wDWli+QEauMZc8ZRv37sIW2iJKq3M9Mx/KSbkJ0
The receipt handle that was returned when the message was last consumed. For more information, see ReceiveMessage.
VisibilityTimeout
Integer
Yes
50
The visibility timeout period, in seconds.
The value ranges from 1 to 43200, that is, 1 second to 12 hours.
Operation-specific request headers
None.
Request body
None.
Response
A response consists of the following parts:
HTTP status code
HTTP/1.1 200 OK
Operation-specific response headers
None.
Response body
Parameter
Type
Example
Description
ReceiptHandle
String
TbZj6wDWli+9CEauMZc8ZRv37sIW2iJKq3M9Mx/TS1
The receipt handle that is returned after the value of the
VisibilityTimeout
parameter is modified. This receipt handle can be used to delete and modify inactive messages and remains valid until the time specified by theNextVisibleTime
parameter.NextVisibleTime
Long
1250700979298000
The next time when the message can be consumed. This value is a UNIX timestamp representing the number of milliseconds that have elapsed since the epoch time (January 1, 1970, 00:00:00 UTC).
Examples
Sample requests
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****
Sample success responses
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>
Error codes
Error code | Error message | HTTP status code | Description |
InvalidArgument | The value of Element must be between Low and High seconds/bytes. | 400 | The error message returned because the value of the parameter is invalid. You must specify a valid value as prompted. |
ReceiptHandleError | The receipt handle you provided is not valid. | 400 | The error message returned because the ReceiptHandle parameter is invalid. |
QueueNotExist | The queue name you provided does not exist. | 404 | The error message returned because the specified queue does not exist. Create a queue. |
MessageNotExist | The receipt handle you provided has expired. | 404 | The error message returned because you have not consumed a message within the invisibility period and the receipt handle of the message has expired. Consume messages within the invisibility period or specify a longer invisibility period. |