ALIYUN::AMQP::Queue類型用於建立Queue。
文法
{
"Type": "ALIYUN::AMQP::Queue",
"Properties": {
"DeadLetterExchange": String,
"MaximumPriority": Number,
"InstanceId": String,
"ExclusiveState": Boolean,
"DeadLetterRoutingKey": String,
"VirtualHost": String,
"MaxLength": Number,
"AutoDeleteState": Boolean,
"QueueName": String,
"MessageTTL": Number,
"AutoExpireState": Number
}
}
屬性
屬性名稱 | 類型 | 必須 | 允許更新 | 描述 | 約束 |
InstanceId | String | 是 | 否 | 執行個體ID。 | 無 |
QueueName | String | 是 | 否 | 隊列名稱。 | 隊列名稱要求:
|
VirtualHost | String | 是 | 否 | Vhost名稱。 | 只能包含字⺟、數字、短劃線(-)、底線(_)、半形句號(.)、井號(#)、正斜線(/)、at符號(@)。 ⻓度限制為1~255字元。 |
AutoDeleteState | Boolean | 否 | 否 | 是否自動刪除。 | 取值:
|
AutoExpireState | Number | 否 | 否 | 隊列的自動到期時間。 | 如果隊列在指定時間內沒有被訪問,則會被自動刪除。 說明 該參數對應的功能需要開通後才能使用。如需使用,請提交工單開通。 |
DeadLetterExchange | String | 否 | 否 | 死信Exchange。 | 該類Exchange是用來接收被拒絕的訊息。 如果消費端拒絕一個不重新發送的訊息,那麼訊息佇列RabbitMQ版將會把訊息路由到指定的死信Exchange,該Exchange再將訊息路由到綁定的Queue進行儲存。 |
DeadLetterRoutingKey | String | 否 | 否 | 死信Routing Key。 | 只能包含字⺟、數字、短劃線(-)、底線(_)、半形句號(.)、井號(#)、正斜線(/)、at符號(@)。 ⻓度限制為1~255字元。 |
ExclusiveState | Boolean | 否 | 否 | 是否為排他性Exchange。 | 取值:
|
MaximumPriority | Number | 否 | 否 | 不支援優先順序功能。 | 無 |
MaxLength | Number | 否 | 否 | 隊列中訊息的最大數量。 | 目前的版本不支援該參數。 如果超出隊列中訊息的最大數量,則先到達隊列的訊息將會被刪除。 |
MessageTTL | Number | 否 | 否 | 訊息在隊列中的有效期間。 | 取值要求:
|
傳回值
Fn::GetAtt
QueueName:隊列名稱。
樣本
YAML
格式
ROSTemplateFormatVersion: '2015-09-01'
Parameters:
InstanceId:
Type: String
Description: InstanceId
VirtualHost:
Type: String
Description: The name of the virtual host.
QueueName:
Type: String
Description: The name of the queue.
MaxLength: 255
Resources:
Queue:
Type: ALIYUN::AMQP::Queue
Properties:
InstanceId:
Ref: InstanceId
VirtualHost:
Ref: VirtualHost
QueueName:
Ref: QueueName
Outputs:
QueueName:
Description: The name of the queue.
Value:
Fn::GetAtt:
- Queue
- QueueName
JSON
格式
{
"ROSTemplateFormatVersion": "2015-09-01",
"Parameters": {
"InstanceId": {
"Type": "String",
"Description": "InstanceId"
},
"VirtualHost": {
"Type": "String",
"Description": "The name of the virtual host."
},
"QueueName": {
"Type": "String",
"Description": "The name of the queue.",
"MaxLength": 255
}
},
"Resources": {
"Queue": {
"Type": "ALIYUN::AMQP::Queue",
"Properties": {
"InstanceId": {
"Ref": "InstanceId"
},
"VirtualHost": {
"Ref": "VirtualHost"
},
"QueueName": {
"Ref": "QueueName"
}
}
}
},
"Outputs": {
"QueueName": {
"Description": "The name of the queue.",
"Value": {
"Fn::GetAtt": [
"Queue",
"QueueName"
]
}
}
}
}