全部产品
Search
文档中心

Resource Orchestration Service:ALIYUN::AMQP::Binding

更新时间:Jun 26, 2025

ALIYUN::AMQP::Binding digunakan untuk mengikat antrian atau pertukaran ke pertukaran.

Sintaksis

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

Properti

Properti

Tipe

Diperlukan

Dapat Diedit

Deskripsi

Kendala

Argument

String

Ya

Tidak

Pasangan kunci-nilai yang dikonfigurasi untuk atribut headers dari sebuah pesan.

Satu atau lebih pasangan kunci-nilai dapat digabungkan untuk mengonfigurasi atribut headers dari sebuah pesan. Atribut x-match harus diatur ke salah satu nilai valid berikut. Nilai kustom dapat ditentukan untuk atribut lainnya.

Nilai valid untuk atribut x-match:

  • all (default): Pertukaran header akan merutekan pesan ke antrian hanya jika semua atribut pengikatan antrian, kecuali x-match, cocok dengan atribut headers pesan.

  • any: Pertukaran header akan merutekan pesan ke antrian jika satu atau lebih atribut pengikatan antrian, kecuali x-match, cocok dengan atribut headers pesan.

Pisahkan atribut dengan titik koma (;). Pisahkan kunci dan nilai atribut dengan tanda titik dua (:). Sebagai contoh, parameter x-match:all;type:report;format:pdf hanya berlaku untuk Headers exchanges.

BindingKey

String

Ya

Tidak

Kunci pengikatan.

Jika pertukaran sumber bukan pertukaran topik, konfigurasikan kunci pengikatan berdasarkan persyaratan berikut:

  • Kunci pengikatan hanya dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), titik (.), garis miring (/), dan simbol at (@).

  • Kunci pengikatan harus memiliki panjang 1 hingga 255 karakter.

Jika pertukaran sumber adalah pertukaran topik, konfigurasikan kunci pengikatan berdasarkan persyaratan berikut:

  • Kunci pengikatan dapat berisi huruf, angka, tanda hubung (-), garis bawah (_), tanda bintang (*), titik (.), pagar (#), garis miring (/), dan simbol at (@).

  • Kunci pengikatan tidak boleh dimulai atau diakhiri dengan titik (.). Jika kunci pengikatan dimulai dengan pagar (#) atau tanda bintang (*), pagar (#) atau tanda bintang (*) harus diikuti oleh titik (.). Jika kunci pengikatan diakhiri dengan pagar (#) atau tanda bintang (*), pagar (#) atau tanda bintang (*) harus didahului oleh titik (.). Jika pagar (#) atau tanda bintang (*) digunakan di tengah kunci pengikatan, pagar (#) atau tanda bintang (*) harus didahului dan diikuti oleh titik (.).

  • Kunci pengikatan harus memiliki panjang 1 hingga 255 karakter.

BindingType

String

Ya

Tidak

Tipe objek yang ingin Anda ikat ke pertukaran sumber.

Nilai valid:

  • 0: antrian

  • 1: pertukaran

DestinationName

String

Ya

Tidak

Nama objek yang ingin Anda ikat ke pertukaran sumber.

Anda harus membuat objek tersebut di konsol ApsaraMQ for RabbitMQ. Pastikan bahwa vhost tempat objek tersebut berada sama dengan vhost tempat pertukaran yang ditentukan oleh SourceExchange berada.

InstanceId

String

Ya

Tidak

ID instance.

Tidak ada.

SourceExchange

String

Ya

Tidak

Nama pertukaran sumber.

Tidak ada.

VirtualHost

String

Ya

Tidak

Nama vhost.

Anda harus membuat vhost tersebut di konsol. Objek yang ditentukan oleh DestinationName dan objek yang ditentukan oleh SourceExchange termasuk dalam vhost.

Nilai Kembali

Fn::GetAtt

Tidak ada.

Contoh

YAML format

ROSTemplateFormatVersion: '2015-09-01'
Parameters:
  Argument:
    Description: 'X-match Attributes. Valid Values:

      "x-match:all": Default Value, All the Message Header of Key-Value Pairs Stored
      in the Must Match.

      "x-match:any": at Least One Pair of the Message Header of Key-Value Pairs Stored
      in the Must Match.'
    Type: String
  BindingKey:
    Description: The Binding Key.
    Type: String
  BindingType:
    AllowedValues:
    - 0
    - '0'
    - QUEUE
    - 1
    - '1'
    - EXCHANGE
    Description: 'The Target Binding Types. Valid values: EXCHANGE, QUEUE.'
    Type: String
  DestinationName:
    Description: The Target Queue Or Exchange of the Name.
    Type: String
  InstanceId:
    Description: InstanceId
    Type: String
  SourceExchange:
    Description: The Source Exchange Name.
    Type: String
  VirtualHost:
    Description: The name of the virtual host.
    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 format

{
  "ROSTemplateFormatVersion": "2015-09-01",
  "Parameters": {
    "Argument": {
      "Type": "String",
      "Description": "X-match Attributes. Valid Values:\n\"x-match:all\": Default Value, All the Message Header of Key-Value Pairs Stored in the Must Match.\n\"x-match:any\": at Least One Pair of the Message Header of Key-Value Pairs Stored in the Must Match."
    },
    "SourceExchange": {
      "Type": "String",
      "Description": "The Source Exchange Name."
    },
    "InstanceId": {
      "Type": "String",
      "Description": "InstanceId"
    },
    "BindingKey": {
      "Type": "String",
      "Description": "The Binding Key."
    },
    "BindingType": {
      "Type": "String",
      "Description": "The Target Binding Types. Valid values: EXCHANGE, QUEUE.",
      "AllowedValues": [
        0,
        "0",
        "QUEUE",
        1,
        "1",
        "EXCHANGE"
      ]
    },
    "DestinationName": {
      "Type": "String",
      "Description": "The Target Queue Or Exchange of the Name."
    },
    "VirtualHost": {
      "Type": "String",
      "Description": "The name of the virtual host."
    }
  },
  "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"
        }
      }
    }
  }
}