全部產品
Search
文件中心

:ALIYUN::MNS::Queue

更新時間:Jul 19, 2025

ALIYUN::MNS::Queue類型是訊息儲存的目的地,隊列可以分成普通隊列和延時隊列兩類。

如果發送訊息時不指定訊息延時參數,被發送到普通隊列的訊息可以立刻被消費,而發送到延時隊列的訊息需要經過設定的延時時間後才能被消費。

文法

{
  "Type": "ALIYUN::MNS::Queue",
  "Properties": {
    "PollingWaitSeconds": Integer,
    "LoggingEnabled": Boolean,
    "MessageRetentionPeriod": Integer,
    "MaximumMessageSize": Integer,
    "DelaySeconds": Integer,
    "VisibilityTimeout": Integer,
    "QueueName": String,
    "DlqPolicy": Map,
    "Tags": List
  }
}

屬性

屬性名稱

類型

必須

允許更新

描述

約束

QueueName

String

隊列名稱。

同一帳號同一地區, 隊列名稱不能重複。

長度不超過256個字元,必須以英文字母或數字開頭,可包含英文字母、數字和短劃線(-)。

DelaySeconds

Integer

發送到該隊列的所有訊息預設以DelaySeconds參數指定的秒數延後。

取值範圍:0~604,800(7天)。

單位:秒。

預設值:0。

DlqPolicy

Map

死信策略。

更多資訊,請參考DlqPolicy屬性

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

是否啟用日誌管理功能。

取值:

  • true:啟用。

  • false(預設值):禁用。

Tags

List

資源標籤列表。

更多資訊,請參考Tags屬性

DlqPolicy文法

"DlqPolicy": {
  "MaxReceiveCount": Integer,
  "DeadLetterTargetQueue": String,
  "Enabled": Boolean
}

DlqPolicy屬性

屬性名稱

類型

必須

允許更新

描述

約束

MaxReceiveCount

Integer

訊息最大投遞次數。

DeadLetterTargetQueue

String

死信訊息投遞目標隊列。

Enabled

Boolean

是否開啟死信訊息投遞。

Tags文法

"Tags": [{
  "Key": String,
  "Value": String
}]

Tags屬性

屬性名稱

類型

必須

允許更新

描述

約束

Key

String

標籤鍵。

Value

String

標籤值。

傳回值

Fn::GetAtt

  • QueueUrl:隊列的URL。

  • ARN.WithSlash:隊列的ARN。

  • QueueName:隊列名稱。

樣本

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

更多樣本,請參見建立主題、建立訊息佇列和描述訂閱關係的組合YAML樣本