調用SetQueueAttributes介面修改隊列屬性。
授權資訊
預設僅限阿里雲帳號使用本介面,RAM使用者只有在被授予了相關API操作許可權後方可使用。本介面的授權資訊如下表所示。更多資訊,請參見授權策略和樣本。
Name | Value |
API | SetQueueAttributes |
RAM授權操作 | mns:SetQueueAttributes |
資源 | acs:mns:$region:$accountid:/queues/$queueName |
請求訊息
請求訊息由請求行、HTTP頭和訊息體三部分組成:
請求行
PUT /queues/$queueName?metaoverride=true HTTP/1.1URI參數
metaoverride=true將會修改訊息佇列的屬性。特有Request Header
無。
Request Body
Request Body為XML格式,XML中包含建立Queue的屬性,這些屬性都為可選屬性。
參數名稱
類型
是否必選
樣本值
描述
DelaySeconds
Integer
否
0
發送到該Queue的所有訊息的延遲時間,發送到隊列的訊息經過此參數設定的延時時間後,才能被消費。
取值範圍:0~604800,單位為秒。
預設值:0。
MaximumMessageSize
Integer
否
1024
發送到該Queue的訊息體的最大長度。
取值範圍:1024~65536,單位為Byte。
預設值:65536。
MessageRetentionPeriod
Integer
否
120
訊息在該Queue中最長的存活時間,從發送到該隊列開始經過此參數指定的時間後,不論訊息是否被取出,都將被刪除。
取值範圍:60~604800,單位為秒。
預設值:345600。
VisibilityTimeout
Integer
否
60
訊息從該Queue中取出後從Active狀態變成Inactive狀態後的期間。
取值範圍:1~43200,單位為秒。
預設值:30。
PollingWaitSeconds
Integer
否
0
當Queue訊息量為空白時,針對該Queue的ReceiveMessage請求的最長等待時間。
取值範圍:0~30,單位為秒。
預設值:0。
LoggingEnabled
Boolean
否
True
是否開啟日誌管理功能。
取值說明如下:
True:啟用。
False:停用。
預設值:False。
如果您使用Terraform管理alicloud_message_service_queue,請將API中的參數LoggingEnabled替換為EnableLogging。
返回訊息
返回訊息由返回狀態行、HTTP頭和訊息體三部分組成:
HTTP Status Code
HTTP/1.1 204 No Content特有Response Header
無。
Response Body
無。
樣本
請求樣本:
PUT /queues/$queueName?Metaoverride=true HTTP/1.1
Host: $AccountId.mns.cn-hangzhou.aliyuncs.com
Date: Wed, 08 Mar 2012 12:00:00 GMT
x-mns-version: 2015-06-06
Authorization: MNS 15B4D3461F177624206A:xQE0diMbLRepdf3YB+FIEXAM****
<?xml version="1.0" encoding="UTF-8"?>
<Queue xmlns="http://mns.aliyuncs.com/doc/v1/">
<VisibilityTimeout >60</VisibilityTimeout>
<MaximumMessageSize>1024</MaximumMessageSize>
<MessageRetentionPeriod>120</MessageRetentionPeriod>
<DelaySeconds>30</DelaySeconds>
<LoggingEnabled>True</LoggingEnabled>
</Queue> 返回樣本:
HTTP/1.1 204 No Content
x-mns-request-id:512B2A634403E52B1956****
x-mns-version: 2015-06-06 錯誤碼
錯誤碼 | 錯誤資訊 | HTTP狀態代碼 | 描述內容 |
InvalidArgument | The value of Element should between Low and High seconds/bytes. | 400 | 參數取值不合法,請確保參數的取值包含在取值範圍內。 |
QueueNotExist | The queue name you provided is not exist. | 404 | 隊列不存在,請先建立隊列。 |