ALIYUN::MNS::Queue类型是消息存储的目的地,队列可以分成普通队列和延时队列两类。
如果发送消息时不指定消息延时参数,被发送到普通队列的消息可以立刻被消费,而发送到延时队列的消息需要经过设定的延时时间后才能被消费。
语法
{
"Type": "ALIYUN::MNS::Queue",
"Properties": {
"PollingWaitSeconds": Integer,
"LoggingEnabled": Boolean,
"MessageRetentionPeriod": Integer,
"MaximumMessageSize": Integer,
"DelaySeconds": Integer,
"VisibilityTimeout": Integer,
"QueueName": String
}
}
属性
属性名称 | 类型 | 必须 | 允许更新 | 描述 | 约束 |
---|---|---|---|---|---|
QueueName | String | 是 | 否 | 队列名称。 | 同一账号同一地域, 队列名称不能重复。 长度不超过256个字符,必须以英文字母或数字开头,可包含英文字母、数字和短划线(-)。 |
DelaySeconds | Integer | 否 | 是 | 发送到该队列的所有消息默认以DelaySeconds参数指定的秒数延后。 | 取值范围:0~604,800(7天)。 单位:秒。 默认值:0。 |
MaximumMessageSize | Integer | 否 | 是 | 发送到该队列消息体的最大长度。 | 取值范围:1024(1KB)~65,536(64KB)。 单位:byte。 默认值:65,536(64KB)。 |
MessageRetentionPeriod | Integer | 否 | 是 | 消息在该队列中最长的存活时间,从发送到该队列开始经过此参数指定的时间后,不论消息是否被取出过都将被删除。 | 取值范围:60(1分钟)~604,800(7 天) 。 单位:秒。 默认值:345,600(4 天)。 |
VisibilityTimeout | Integer | 否 | 是 | 消息从该队列中取出后从Active状态变成Inactive状态后的持续时间。 | 取值范围:1~43,200(12小时) 。 单位:秒。 默认值:30。 |
PollingWaitSeconds | Integer | 否 | 是 | 当队列中没有消息时,针对该队列的ReceiveMessage请求最长的等待时间。 | 取值范围:0~30。 单位:秒。 默认值:0。 |
LoggingEnabled | Boolean | 否 | 是 | 是否启用日志管理功能。 | 取值:
|
返回值
Fn::GetAtt
- QueueUrl:队列的URL。
- ARN.WithSlash:队列的ARN。
- QueueName:队列名称。
示例
JSON
格式{ "ROSTemplateFormatVersion": "2015-09-01", "Parameters": { }, "Resources": { "Queue": { "Type": "ALIYUN::MNS::Queue", "Properties": { "QueueName": "TestQueue", "MessageRetentionPeriod": 345600 } } }, "Outputs": { "QueueName": { "Description": "Queue name", "Value": { "Fn::GetAtt": [ "Queue", "QueueName" ] } }, "ARN": { "Description": "The ARN for ALIYUN::ROS::CustomResource", "Value": { "Fn::GetAtt": [ "Queue", "ARN" ] } }, "ARN.WithSlash": { "Description": "The ARN: acs:mns:$region:$accountid:/queues/$queueName", "Value": { "Fn::GetAtt": [ "Queue", "ARN.WithSlash" ] } }, "QueueUrl": { "Description": "URL of created queue", "Value": { "Fn::GetAtt": [ "Queue", "QueueUrl" ] } } } }