すべてのプロダクト
Search
ドキュメントセンター

Resource Orchestration Service:ALIYUN::AMQP::Binding

最終更新日:Jan 16, 2025

ALIYUN::AMQP::Binding は、キューまたはエクスチェンジをエクスチェンジにバインドするために使用されます。

構文

{
  "Type": "ALIYUN::AMQP::Binding",
  "Properties": {
    "Argument": String,
    "SourceExchange": String,
    "InstanceId": String,
    "BindingKey": String,
    "BindingType": String,
    "DestinationName": String,
    "VirtualHost": String
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

Argument

String

はい

いいえ

メッセージのヘッダー属性に設定されているキーと値のペア。

1 つ以上のキーと値のペアを連結して、メッセージのヘッダー属性を設定できます。x-match 属性は、次のいずれかの有効な値に設定する必要があります。その他の属性にはカスタム値を指定できます。

x-match 属性の有効な値:

  • all (デフォルト): headers エクスチェンジは、x-match を除くキューのすべてのバインディング属性がメッセージのヘッダー属性と一致する場合にのみ、メッセージをキューにルーティングします。

  • any: headers エクスチェンジは、x-match を除くキューの 1 つ以上のバインディング属性がメッセージのヘッダー属性と一致する場合、メッセージをキューにルーティングします。

属性はセミコロン (;) で区切ります。属性のキーと値はコロン (:) で区切ります。たとえば、x-match:all;type:report;format:pdf パラメーターは Headers エクスチェンジ に対してのみ有効です。

BindingKey

String

はい

いいえ

バインディングキー。

ソースエクスチェンジがトピックエクスチェンジでない場合は、次の要件に基づいてバインディングキーを設定します。

  • バインディングキーには、英字、数字、ハイフン (-)、アンダースコア (_)、ピリオド (.)、スラッシュ (/)、アットマーク (@) のみを含めることができます。

  • バインディングキーは 1 ~ 255 文字の長さでなければなりません。

ソースエクスチェンジがトピックエクスチェンジである場合は、次の要件に基づいてバインディングキーを設定します。

  • バインディングキーには、英字、数字、ハイフン (-)、アンダースコア (_)、アスタリスク (*)、ピリオド (.)、シャープ記号 (#)、スラッシュ (/)、アットマーク (@) を含めることができます。

  • バインディングキーはピリオド (.) で開始または終了することはできません。バインディングキーがシャープ記号 (#) またはアスタリスク (*) で始まる場合は、シャープ記号 (#) またはアスタリスク (*) の後にピリオド (.) を付ける必要があります。バインディングキーがシャープ記号 (#) またはアスタリスク (*) で終わる場合は、シャープ記号 (#) またはアスタリスク (*) の前にピリオド (.) を付ける必要があります。バインディングキーの中央でシャープ記号 (#) またはアスタリスク (*) を使用する場合は、シャープ記号 (#) またはアスタリスク (*) の前後にピリオド (.) を付ける必要があります。

  • バインディングキーは 1 ~ 255 文字の長さでなければなりません。

BindingType

String

はい

いいえ

ソースエクスチェンジにバインドするオブジェクトのタイプ。

有効な値:

  • 0: キュー

  • 1: エクスチェンジ

DestinationName

String

はい

いいえ

ソースエクスチェンジにバインドするオブジェクトの名前。

ApsaraMQ for RabbitMQ コンソールでオブジェクトを作成する必要があります。オブジェクトが属する vhost が、SourceExchange で指定されたエクスチェンジが属する vhost と同じであることを確認してください。

InstanceId

String

はい

いいえ

インスタンス ID。

なし。

SourceExchange

String

はい

いいえ

ソースエクスチェンジの名前。

なし。

VirtualHost

String

はい

いいえ

vhost 名。

コンソールで vhost を作成する必要があります。DestinationName で指定されたオブジェクトと SourceExchange で指定されたオブジェクトは、vhost に属します。

戻り値

Fn::GetAtt

なし。

YAML 形式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Argument:
    Description: 'X-match 属性。有効な値:

      "x-match:all": デフォルト値。格納されているキーと値のペアのすべてのメッセージヘッダーが一致する必要があります。

      "x-match:any": 格納されているキーと値のペアのメッセージヘッダーの少なくとも 1 つのペアが一致する必要があります。'
    Type: String
  BindingKey:
    Description: バインディングキー。
    Type: String
  BindingType:
    AllowedValues:
    - 0
    - '0'
    - QUEUE
    - 1
    - '1'
    - EXCHANGE
    Description: 'ターゲットバインディングタイプ。有効な値: EXCHANGE、QUEUE。'
    Type: String
  DestinationName:
    Description: ターゲットキューまたはエクスチェンジの名前。
    Type: String
  InstanceId:
    Description: InstanceId
    Type: String
  SourceExchange:
    Description: ソースエクスチェンジ名。
    Type: String
  VirtualHost:
    Description: 仮想ホストの名前。
    Type: String
Resources:
  Binding:
    Properties:
      Argument:
        Ref: Argument
      BindingKey:
        Ref: BindingKey
      BindingType:
        Ref: BindingType
      DestinationName:
        Ref: DestinationName
      InstanceId:
        Ref: InstanceId
      SourceExchange:
        Ref: SourceExchange
      VirtualHost:
        Ref: VirtualHost
    Type: ALIYUN::AMQP::Binding

JSON 形式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "Argument": {
      "Type": "String",
      "Description": "X-match 属性。有効な値:\n\"x-match:all\": デフォルト値。格納されているキーと値のペアのすべてのメッセージヘッダーが一致する必要があります。\n\"x-match:any\": 格納されているキーと値のペアのメッセージヘッダーの少なくとも 1 つのペアが一致する必要があります。" // 翻訳済
    },
    "SourceExchange": {
      "Type": "String",
      "Description": "ソースエクスチェンジ名。"
    },
    "InstanceId": {
      "Type": "String",
      "Description": "InstanceId"
    },
    "BindingKey": {
      "Type": "String",
      "Description": "バインディングキー。"
    },
    "BindingType": {
      "Type": "String",
      "Description": "ターゲットバインディングタイプ。有効な値: EXCHANGE、QUEUE。",
      "AllowedValues": [
        0,
        "0",
        "QUEUE",
        1,
        "1",
        "EXCHANGE"
      ]
    },
    "DestinationName": {
      "Type": "String",
      "Description": "ターゲットキューまたはエクスチェンジの名前。"
    },
    "VirtualHost": {
      "Type": "String",
      "Description": "仮想ホストの名前。"
    }
  },
  "Resources": {
    "Binding": {
      "Type": "ALIYUN::AMQP::Binding",
      "Properties": {
        "Argument": {
          "Ref": "Argument"
        },
        "SourceExchange": {
          "Ref": "SourceExchange"
        },
        "InstanceId": {
          "Ref": "InstanceId"
        },
        "BindingKey": {
          "Ref": "BindingKey"
        },
        "BindingType": {
          "Ref": "BindingType"
        },
        "DestinationName": {
          "Ref": "DestinationName"
        },
        "VirtualHost": {
          "Ref": "VirtualHost"
        }
      }
    }
  }
}