AMQP 0-9-1 Bindings
This document defines how to describe AMQP-specific information on AsyncAPI.
Version
Current version is 0.3.0.
Server Binding Object
This object MUST NOT contain any properties. Its name is reserved for future use.
Channel Binding Object
This object contains information about the channel representation in AMQP.
Fixed Fields
This object MUST contain only the properties defined above.
Example
1channels:2 userSignup:3 address: 'user/signup'4 bindings:5 amqp:6 is: routingKey7 exchange:8 name: myExchange9 type: topic10 durable: true11 autoDelete: false12 vhost: /13 bindingVersion: 0.3.0
1channels:2 userSignup:3 address: 'user/signup'4 bindings:5 amqp:6 is: queue7 queue:8 name: my-queue-name9 durable: true10 exclusive: true11 autoDelete: false12 vhost: /13 bindingVersion: 0.3.0
Operation Binding Object
This object contains information about the operation representation in AMQP.
Fixed Fields
| Field Name | Type | Applies To Action | Description |
|---|---|---|---|
expiration | integer | receive, send | TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero. |
userId | string | receive, send | Identifies the user who has sent the message. |
cc | [string] | receive, send | The routing keys the message should be routed to at the time of publishing. |
priority | integer | receive, send | A priority for the message. |
deliveryMode | integer | receive, send | Delivery mode of the message. Its value MUST be either 1 (transient) or 2 (persistent). |
mandatory | boolean | receive | Whether the message is mandatory or not. |
bcc | [string] | receive | Like cc but consumers will not receive this information. |
timestamp | boolean | receive, send | Whether the message should include a timestamp or not. |
ack | boolean | Subscribe | Whether the consumer should ack the message or not. |
bindingVersion | string | receive, send | The version of this binding. If omitted, "latest" MUST be assumed. |
This object MUST contain only the properties defined above.
Example
1operations:2 userSignup:3 channel:4 $ref: '#/channels/userSignup'5 bindings:6 amqp:7 expiration: 1000008 userId: guest9 cc: ['user.logs']10 priority: 1011 deliveryMode: 212 mandatory: false13 bcc: ['external.audit']14 timestamp: true15 ack: false16 bindingVersion: 0.3.0
Message Binding Object
This object contains information about the message representation in AMQP.
Fixed Fields
This object MUST contain only the properties defined above.
1channels:2 userSignup:3 address: 'user/signup'4 messages:5 userSignupMessage:6 bindings:7 amqp:8 contentEncoding: gzip9 messageType: 'user.signup'10 bindingVersion: 0.3.0