All Products
Search
Document Center

Resource Orchestration Service:ALIYUN::AMQP::Exchange

Last Updated:Jun 26, 2025

ALIYUN::AMQP::Exchange digunakan untuk membuat sebuah exchange.

Sintaksis

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

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

AutoDeleteState

Boolean

Ya

Tidak

Menentukan apakah akan menghapus exchange secara otomatis.

Nilai yang valid:

  • true: Ketika antrian terakhir yang terikat pada exchange dilepas, exchange akan dihapus secara otomatis.

  • false: Ketika antrian terakhir yang terikat pada exchange dilepas, exchange tidak akan dihapus secara otomatis.

ExchangeName

String

Ya

Tidak

Nama exchange.

  • Nama exchange harus memiliki panjang antara 1 hingga 255 karakter dan hanya boleh berisi huruf, angka, tanda hubung (-), garis bawah (_), titik (.), pagar (#), garis miring (/), dan simbol at (@).

  • Setelah exchange dibuat, Anda tidak dapat mengubah namanya. Jika ingin mengubah nama exchange, hapus exchange tersebut dan buat yang baru.

ExchangeType

String

Ya

Tidak

Tipe exchange.

Nilai yang valid:

  • DIRECT: direct exchange. Exchange jenis ini merutekan pesan ke antrian yang kunci pengikatannya persis cocok dengan kunci rute pesan.

  • TOPIC: topic exchange. Jenis exchange ini mirip dengan direct exchange. Exchange jenis ini merutekan pesan ke satu atau lebih antrian berdasarkan hasil pencocokan fuzzy atau multi-kondisi antara kunci rute pesan dan kunci pengikatan dari exchange saat ini.

  • FANOUT: fanout exchange. Exchange jenis ini merutekan semua pesan yang diterima ke semua antrian yang terikat pada exchange ini. Anda dapat menggunakan fanout exchange untuk menyiarkan pesan.

  • HEADERS: headers exchange. Jenis exchange ini mirip dengan direct exchange. Satu-satunya perbedaan adalah bahwa headers exchange merutekan pesan berdasarkan atribut header alih-alih kunci rute. Saat mengikat headers exchange ke antrian, Anda harus mengonfigurasi atribut pengikatan dalam format pasangan kunci-nilai untuk pengikatan. Saat mengirim pesan ke headers exchange, Anda harus mengonfigurasi atribut header dalam format pasangan kunci-nilai untuk pesan. Setelah headers exchange menerima pesan, exchange merutekan pesan ke antrian terikat berdasarkan hasil pencocokan antara atribut header pesan dan atribut pengikatan.

InstanceId

String

Ya

Tidak

ID instance.

Tidak ada.

Internal

Boolean

Ya

Tidak

Menentukan apakah exchange merupakan exchange internal.

Nilai yang valid:

  • true

  • false

VirtualHost

String

Ya

Tidak

Nama vhost tempat Anda ingin membuat exchange.

Tidak ada.

AlternateExchange

String

Tidak

Tidak

Exchange alternatif.

Exchange alternatif digunakan untuk menerima pesan yang gagal dirutekan ke antrian dari exchange saat ini.

XDelayedType

String

Tidak

Tidak

Tipe exchange ke mana pesan tertunda dikirim.

Anda dapat menggunakan header x-delay dari pesan untuk menentukan periode waktu setelah itu pesan dikirim dari exchange x-delayed-message. Periode waktu tersebut dalam milidetik. Aturan routing exchange x-delayed-message bervariasi berdasarkan tipe exchange yang ditentukan oleh properti XDelayedType. Nilai yang valid:

  • DIRECT: mengirimkan pesan tertunda ke antrian yang terikat pada direct exchange.

  • TOPIC: mengirimkan pesan tertunda ke antrian yang terikat pada topic exchange.

  • FANOUT: mengirimkan pesan tertunda ke antrian yang terikat pada fanout exchange.

  • HEADERS: mengirimkan pesan tertunda ke antrian yang terikat pada headers exchange.

  • X-JMS-TOPIC: mengirimkan pesan tertunda ke antrian yang terikat pada x-jms-topic exchange.

Nilai Kembali

Fn::GetAtt

ExchangeName: Nama exchange.

Contoh

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  AutoDeleteState:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: 'Menentukan apakah atribut Auto Delete dikonfigurasi. Nilai yang valid:

      true: Atribut Auto Delete dikonfigurasi. Jika antrian terakhir yang terikat pada exchange dilepas, exchange akan dihapus secara otomatis.

      false: Atribut Auto Delete tidak dikonfigurasi. Jika antrian terakhir yang terikat pada exchange dilepas, exchange tidak akan dihapus secara otomatis.'
    Type: Boolean
  ExchangeName:
    Description: Nama exchange.
    MaxLength: 255
    Type: String
  ExchangeType:
    AllowedValues:
    - FANOUT
    - DIRECT
    - TOPIC
    - HEADERS
    Description: 'Tipe exchange. Nilai yang valid:

      FANOUT: Exchange jenis ini merutekan semua pesan yang diterima ke semua antrian yang terikat pada exchange ini. Anda dapat menggunakan fanout exchange untuk menyiarkan pesan.

      DIRECT: Exchange jenis ini merutekan pesan ke antrian yang kunci pengikatannya persis sama dengan kunci rute pesan.

      TOPIC: Jenis ini mirip dengan tipe direct exchange. Exchange jenis ini merutekan pesan ke satu atau lebih antrian berdasarkan hasil pencocokan fuzzy atau multi-kondisi antara kunci rute pesan dan kunci pengikatan dari exchange saat ini.

      HEADERS: Headers Exchange menggunakan properti Headers alih-alih Routing Key untuk pencocokan routing. Saat mengikat Headers Exchange dan Queue, atur pasangan kunci-nilai dari properti pengikatan; saat mengirim pesan ke Headers Exchange, atur pasangan kunci-nilai properti Headers pesan dan gunakan pesan Headers Pesan dirutekan ke Queue terikat dengan membandingkan pasangan kunci-nilai atribut dan pasangan kunci-nilai atribut terikat.'
    Type: String
  InstanceId:
    Description: InstanceId
    Type: String
  Internal:
    AllowedValues:
    - 'True'
    - 'true'
    - 'False'
    - 'false'
    Description: 'Menentukan apakah exchange merupakan exchange internal. Nilai yang valid:

      false: Exchange bukan exchange internal.

      true: Exchange merupakan exchange internal.'
    Type: Boolean
  VirtualHost:
    Description: Nama virtual host.
    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: Nama exchange.
    Value:
      Fn::GetAtt:
      - Exchange
      - ExchangeName

JSON format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "InstanceId": {
      "Type": "String",
      "Description": "InstanceId"
    },
    "Internal": {
      "Type": "Boolean",
      "Description": "Menentukan apakah exchange merupakan exchange internal. Nilai yang valid:\nfalse: Exchange bukan exchange internal.\ntrue: Exchange merupakan exchange internal.",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "VirtualHost": {
      "Type": "String",
      "Description": "Nama virtual host."
    },
    "AutoDeleteState": {
      "Type": "Boolean",
      "Description": "Menentukan apakah atribut Auto Delete dikonfigurasi. Nilai yang valid:\ntrue: Atribut Auto Delete dikonfigurasi. Jika antrian terakhir yang terikat pada exchange dilepas, exchange akan dihapus secara otomatis.\nfalse: Atribut Auto Delete tidak dikonfigurasi. Jika antrian terakhir yang terikat pada exchange dilepas, exchange tidak akan dihapus secara otomatis.",
      "AllowedValues": [
        "True",
        "true",
        "False",
        "false"
      ]
    },
    "ExchangeName": {
      "Type": "String",
      "Description": "Nama exchange.",
      "MaxLength": 255
    },
    "ExchangeType": {
      "Type": "String",
      "Description": "Tipe exchange. Nilai yang valid:\nFANOUT: Exchange jenis ini merutekan semua pesan yang diterima ke semua antrian yang terikat pada exchange ini. Anda dapat menggunakan fanout exchange untuk menyiarkan pesan.\nDIRECT: Exchange jenis ini merutekan pesan ke antrian yang kunci pengikatannya persis sama dengan kunci rute pesan.\nTOPIC: Jenis ini mirip dengan tipe direct exchange. Exchange jenis ini merutekan pesan ke satu atau lebih antrian berdasarkan hasil pencocokan fuzzy atau multi-kondisi antara kunci rute pesan dan kunci pengikatan dari exchange saat ini.\nHEADERS: Headers Exchange menggunakan properti Headers alih-alih Routing Key untuk pencocokan routing. Saat mengikat Headers Exchange dan Queue, atur pasangan kunci-nilai dari properti pengikatan; saat mengirim pesan ke Headers Exchange, atur pasangan kunci-nilai properti Headers pesan dan gunakan pesan Headers Pesan dirutekan ke Queue terikat dengan membandingkan pasangan kunci-nilai atribut dan pasangan kunci-nilai atribut terikat.",
      "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": "Nama exchange.",
      "Value": {
        "Fn::GetAtt": [
          "Exchange",
          "ExchangeName"
        ]
      }
    }
  }
}