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

Resource Orchestration Service:ALIYUN::AMQP::Exchange

最終更新日:Jan 17, 2025

ALIYUN::AMQP::Exchange は、Exchange を作成するために使用されます。

構文

{
  "Type": "ALIYUN::AMQP::Exchange",
  "Properties": {
    "InstanceId": String,
    "AlternateExchange": String,
    "Internal": Boolean,
    "VirtualHost": String,
    "AutoDeleteState": Boolean,
    "ExchangeName": String,
    "ExchangeType": String,
    "XDelayedType": String
  }
}

プロパティ

プロパティ

タイプ

必須

編集可能

説明

制約

AutoDeleteState

ブール値

はい

いいえ

Exchange を自動的に削除するかどうかを指定します。

有効な値:

  • true: Exchange にバインドされている最後のキューのバインドが解除されると、Exchange は自動的に削除されます。

  • false: Exchange にバインドされている最後のキューのバインドが解除されても、Exchange は自動的に削除されません。

ExchangeName

String

はい

いいえ

Exchange 名。

  • Exchange 名は 1 ~ 255 文字で、英字、数字、ハイフン(-)、アンダースコア(_)、ピリオド(.)、番号記号(#)、スラッシュ(/)、アットマーク(@)のみ使用できます。

  • Exchange を作成した後、その名前を変更することはできません。 Exchange の名前を変更する場合は、Exchange を削除して新しい Exchange を作成します。

ExchangeType

String

はい

いいえ

Exchange タイプ。

有効な値:

  • DIRECT: ダイレクト Exchange。このタイプの Exchange は、バインディング キーがメッセージのルーティング キーと完全に一致するキューにメッセージをルーティングします。

  • TOPIC: トピック Exchange。このタイプの Exchange は、ダイレクト Exchange に似ています。 このタイプの Exchange は、メッセージのルーティング キーと現在の Exchange のバインディング キーの間のあいまい一致または複数条件一致の結果に基づいて、1 つ以上のキューにメッセージをルーティングします。

  • FANOUT: ファンアウト Exchange。このタイプの Exchange は、受信したすべてのメッセージを、この Exchange にバインドされているすべてのキューにルーティングします。 ファンアウト Exchange を使用してメッセージをブロードキャストできます。

  • HEADERS: ヘッダー Exchange。このタイプの Exchange は、ダイレクト Exchange に似ています。 唯一の違いは、ヘッダー Exchange は、ルーティング キーではなくヘッダー属性に基づいてメッセージをルーティングすることです。 ヘッダー Exchange をキューにバインドするときは、バインディングのキーと値のペア形式でバインディング属性を設定する必要があります。 ヘッダー Exchange にメッセージを送信するときは、メッセージのキーと値のペア形式でヘッダー属性を設定する必要があります。 ヘッダー Exchange はメッセージを受信すると、メッセージのヘッダー属性とバインディング属性の間の一致結果に基づいて、バインドされたキューにメッセージをルーティングします。

InstanceId

String

はい

いいえ

インスタンス ID。

なし。

Internal

ブール値

はい

いいえ

Exchange が内部 Exchange かどうかを指定します。

有効な値:

  • true

  • false

VirtualHost

String

はい

いいえ

Exchange を作成する vhost の名前。

なし。

AlternateExchange

String

いいえ

いいえ

代替 Exchange。

代替 Exchange は、現在の Exchange からキューへのルーティングに失敗したメッセージを受信するために使用されます。

XDelayedType

String

いいえ

いいえ

遅延メッセージが配信される Exchange のタイプ。

メッセージの x-delay ヘッダーを使用して、x-delayed-message Exchange からメッセージが配信されるまでの期間を指定できます。期間はミリ秒単位です。 x-delayed-message Exchange のルーティング ルールは、XDelayedType プロパティで指定された Exchange タイプによって異なります。有効な値:

  • DIRECT: 遅延メッセージを、ダイレクト Exchange にバインドされているキューに配信します。

  • TOPIC: 遅延メッセージを、トピック Exchange にバインドされているキューに配信します。

  • FANOUT: 遅延メッセージを、ファンアウト Exchange にバインドされているキューに配信します。

  • HEADERS: 遅延メッセージを、ヘッダー Exchange にバインドされているキューに配信します。

  • X-JMS-TOPIC: 遅延メッセージを、x-jms-topic Exchange にバインドされているキューに配信します。

戻り値

Fn::GetAtt

ExchangeName: Exchange 名。

YAML 形式

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  AutoDeleteState:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: '自動削除属性が設定されているかどうかを指定します。有効な値:

      true: 自動削除属性が設定されています。 Exchange にバインドされている最後のキューのバインドが解除されると、Exchange は自動的に削除されます。

      false: 自動削除属性は設定されていません。 Exchange にバインドされている最後のキューのバインドが解除されても、Exchange は自動的に削除されません。'
    Type: Boolean
  ExchangeName:
    Description: Exchange の名前。
    MaxLength: 255
    Type: String
  ExchangeType:
    AllowedValues:
    - FANOUT
    - DIRECT
    - TOPIC
    - HEADERS
    Description: 'Exchange のタイプ。有効な値:

      FANOUT: このタイプの Exchange は、受信したすべてのメッセージを、この Exchange にバインドされているすべてのキューにルーティングします。ファンアウト Exchange を使用してメッセージをブロードキャストできます。

      DIRECT: このタイプの Exchange は、バインディング キーがメッセージのルーティング キーとまったく同じであるキューにメッセージをルーティングします。

      TOPIC: このタイプは、ダイレクト Exchange タイプに似ています。このタイプの Exchange は、メッセージのルーティング キーと現在の Exchange のバインディング キーの間のあいまい一致または複数条件一致結果に基づいて、1 つ以上のキューにメッセージをルーティングします。

      HEADERS: ヘッダー Exchange は、ルーティング一致にルーティング キーではなくヘッダー プロパティを使用します。ヘッダー Exchange とキューをバインドするときは、バインディング プロパティのキーと値のペアを設定します。ヘッダー Exchange にメッセージを送信するときは、メッセージのヘッダー プロパティのキーと値のペアを設定し、メッセージ ヘッダーを使用します。メッセージは、属性キーと値のペアとバインドされた属性キーと値のペアを比較することによって、バインドされたキューにルーティングされます。'
    Type: String
  InstanceId:
    Description: インスタンス ID
    Type: String
  Internal:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: 'Exchange が内部 Exchange かどうかを指定します。有効な値:

      false: Exchange は内部 Exchange ではありません。

      true: Exchange は内部 Exchange です。'
    Type: Boolean
  VirtualHost:
    Description: 仮想ホストの名前。
    Type: String
Resources:
  Exchange:
    Properties:
      AutoDeleteState:
        Ref: AutoDeleteState
      ExchangeName:
        Ref: ExchangeName
      ExchangeType:
        Ref: ExchangeType
      InstanceId:
        Ref: InstanceId
      Internal:
        Ref: Internal
      VirtualHost:
        Ref: VirtualHost
    Type: ALIYUN::AMQP::Exchange
Outputs:
  ExchangeName:
    Description: Exchange の名前。
    Value:
      Fn::GetAtt:
      - Exchange
      - ExchangeName

JSON 形式

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "InstanceId": {
      "Type": "String",
      "Description": "インスタンス ID"
    },
    "Internal": {
      "Type": "Boolean",
      "Description": "Exchange が内部 Exchange かどうかを指定します。有効な値:\nfalse: Exchange は内部 Exchange ではありません。\ntrue: Exchange は内部 Exchange です。",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "VirtualHost": {
      "Type": "String",
      "Description": "仮想ホストの名前。"
    },
    "AutoDeleteState": {
      "Type": "Boolean",
      "Description": "自動削除属性が設定されているかどうかを指定します。有効な値:\ntrue: 自動削除属性が設定されています。 Exchange にバインドされている最後のキューのバインドが解除されると、Exchange は自動的に削除されます。\nfalse: 自動削除属性は設定されていません。 Exchange にバインドされている最後のキューのバインドが解除されても、Exchange は自動的に削除されません。",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "ExchangeName": {
      "Type": "String",
      "Description": "Exchange の名前。",
      "MaxLength": 255
    },
    "ExchangeType": {
      "Type": "String",
      "Description": "Exchange のタイプ。有効な値:\nFANOUT: このタイプの Exchange は、受信したすべてのメッセージを、この Exchange にバインドされているすべてのキューにルーティングします。ファンアウト Exchange を使用してメッセージをブロードキャストできます。\nDIRECT: このタイプの Exchange は、バインディング キーがメッセージのルーティング キーとまったく同じであるキューにメッセージをルーティングします。\nTOPIC: このタイプは、ダイレクト Exchange タイプに似ています。このタイプの Exchange は、メッセージのルーティング キーと現在の Exchange のバインディング キーの間のあいまい一致または複数条件一致結果に基づいて、1 つ以上のキューにメッセージをルーティングします。\nHEADERS: ヘッダー Exchange は、ルーティング一致にルーティング キーではなくヘッダー プロパティを使用します。ヘッダー Exchange とキューをバインドするときは、バインディング プロパティのキーと値のペアを設定します。ヘッダー Exchange にメッセージを送信するときは、メッセージのヘッダー プロパティのキーと値のペアを設定し、メッセージ ヘッダーを使用します。メッセージは、属性キーと値のペアとバインドされた属性キーと値のペアを比較することによって、バインドされたキューにルーティングされます。",
      "AllowedValues": [
        "FANOUT",
        "DIRECT",
        "TOPIC",
        "HEADERS"
      ]
    }
  },
  "Resources": {
    "Exchange": {
      "Type": "ALIYUN::AMQP::Exchange",
      "Properties": {
        "InstanceId": {
          "Ref": "InstanceId"
        },
        "Internal": {
          "Ref": "Internal"
        },
        "VirtualHost": {
          "Ref": "VirtualHost"
        },
        "AutoDeleteState": {
          "Ref": "AutoDeleteState"
        },
        "ExchangeName": {
          "Ref": "ExchangeName"
        },
        "ExchangeType": {
          "Ref": "ExchangeType"
        }
      }
    }
  },
  "Outputs": {
    "ExchangeName": {
      "Description": "Exchange の名前。",
      "Value": {
        "Fn::GetAtt": [
          "Exchange",
          "ExchangeName"
        ]
      }
    }
  }
}