全部產品
Search
文件中心

:ALIYUN::AMQP::Queue

更新時間:Jun 15, 2024

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

隊列名稱。

隊列名稱要求:

  • 隊列名稱只能包含字母、數字、短劃線(-)、底線(_)、半形句號(.)、井號(#)、正斜線(/)、at符號(@),長度限制為1~255字元。

  • 當隊列被建立後,名稱無法修改。如果您想修改隊列名稱,只能刪除後重建。

VirtualHost

String

Vhost名稱。

只能包含字⺟、數字、短劃線(-)、底線(_)、半形句號(.)、井號(#)、正斜線(/)、at符號(@)。

⻓度限制為1~255字元。

AutoDeleteState

Boolean

是否自動刪除。

取值:

  • true:自動刪除。

    如果訂閱該隊列的最後一個消費端取消訂閱後,則隊列將會自動刪除。

  • false:不自動刪除。

AutoExpireState

Number

隊列的自動到期時間。

如果隊列在指定時間內沒有被訪問,則會被自動刪除。

說明

該參數對應的功能需要開通後才能使用。如需使用,請提交工單開通。

DeadLetterExchange

String

死信Exchange。

該類Exchange是用來接收被拒絕的訊息。

如果消費端拒絕一個不重新發送的訊息,那麼訊息佇列RabbitMQ版將會把訊息路由到指定的死信Exchange,該Exchange再將訊息路由到綁定的Queue進行儲存。

DeadLetterRoutingKey

String

死信Routing Key。

只能包含字⺟、數字、短劃線(-)、底線(_)、半形句號(.)、井號(#)、正斜線(/)、at符號(@)。

⻓度限制為1~255字元。

ExclusiveState

Boolean

是否為排他性Exchange。

取值:

  • true:是排他性Exchange。

    只能被排他性Exchange的Connection使用。該Connection斷開後排他性Exchange自動刪除。

  • false:不是排他性Exchange。

MaximumPriority

Number

不支援優先順序功能。

MaxLength

Number

隊列中訊息的最大數量。

目前的版本不支援該參數。

如果超出隊列中訊息的最大數量,則先到達隊列的訊息將會被刪除。

MessageTTL

Number

訊息在隊列中的有效期間。

取值要求:

  • 當某條訊息在隊列中的留存時間超過配置的訊息存活時間時,則該訊息到期。

  • 訊息存活時間的值必須為非負整型數,最大為1天。單位為毫秒。例如,某條訊息的存活時間的值是1000,則代表該訊息最多會在Queue中存活1秒。

傳回值

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"
        ]
      }
    }
  }
}