Skip to content

Commit

Permalink
feat: adapt AMQP bindings to v3 (#202)
Browse files Browse the repository at this point in the history
Co-authored-by: Sergio Moya <1083296+smoya@users.noreply.github.com>
  • Loading branch information
jonaslagoni and smoya authored Jun 28, 2023
1 parent 77f376e commit d5a21d8
Showing 1 changed file with 35 additions and 34 deletions.
69 changes: 35 additions & 34 deletions amqp/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This document defines how to describe AMQP-specific information on AsyncAPI.

## Version

Current version is `0.2.0`.
Current version is `0.3.0`.


<a name="server"></a>
Expand Down Expand Up @@ -49,7 +49,8 @@ This object MUST contain only the properties defined above.

```yaml
channels:
user/signedup:
userSignup:
address: 'user/signup'
bindings:
amqp:
is: routingKey
Expand All @@ -65,7 +66,7 @@ channels:
durable: true
autoDelete: false
vhost: /
bindingVersion: 0.2.0
bindingVersion: 0.3.0
```
Expand All @@ -77,41 +78,40 @@ This object contains information about the operation representation in AMQP.
##### Fixed Fields
Field Name | Type | Applies To | Description
Field Name | Type | Applies To Action | Description
---|:---:|:---:|---
<a name="operationBindingObjectExpiration"></a>`expiration` | integer | Publish, Subscribe | TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero.
<a name="operationBindingObjectUserId"></a>`userId` | string | Publish, Subscribe | Identifies the user who has sent the message.
<a name="operationBindingObjectCC"></a>`cc` | [string] | Publish, Subscribe | The routing keys the message should be routed to at the time of publishing.
<a name="operationBindingObjectPriority"></a>`priority` | integer | Publish, Subscribe | A priority for the message.
<a name="operationBindingObjectDeliveryMode"></a>`deliveryMode` | integer | Publish, Subscribe | Delivery mode of the message. Its value MUST be either 1 (transient) or 2 (persistent).
<a name="operationBindingObjectMandatory"></a>`mandatory` | boolean | Publish | Whether the message is mandatory or not.
<a name="operationBindingObjectBCC"></a>`bcc` | [string] | Publish | Like [cc](#operationBindingObjectCC) but consumers will not receive this information.
<a name="operationBindingObjectReplyTo"></a>`replyTo` | string | Publish, Subscribe | Name of the queue where the consumer should send the response.
<a name="operationBindingObjectTimestamp"></a>`timestamp` | boolean | Publish, Subscribe | Whether the message should include a timestamp or not.
<a name="operationBindingObjectExpiration"></a>`expiration` | integer | `receive`, `send` | TTL (Time-To-Live) for the message. It MUST be greater than or equal to zero.
<a name="operationBindingObjectUserId"></a>`userId` | string | `receive`, `send` | Identifies the user who has sent the message.
<a name="operationBindingObjectCC"></a>`cc` | [string] | `receive`, `send` | The routing keys the message should be routed to at the time of publishing.
<a name="operationBindingObjectPriority"></a>`priority` | integer | `receive`, `send` | A priority for the message.
<a name="operationBindingObjectDeliveryMode"></a>`deliveryMode` | integer | `receive`, `send` | Delivery mode of the message. Its value MUST be either 1 (transient) or 2 (persistent).
<a name="operationBindingObjectMandatory"></a>`mandatory` | boolean | `receive` | Whether the message is mandatory or not.
<a name="operationBindingObjectBCC"></a>`bcc` | [string] | `receive` | Like [cc](#operationBindingObjectCC) but consumers will not receive this information.
<a name="operationBindingObjectTimestamp"></a>`timestamp` | boolean | `receive`, `send` | Whether the message should include a timestamp or not.
<a name="operationBindingObjectAck"></a>`ack` | boolean | Subscribe | Whether the consumer should ack the message or not.
<a name="operationBindingObjectBindingVersion"></a>`bindingVersion` | string | Publish, Subscribe | The version of this binding. If omitted, "latest" MUST be assumed.
<a name="operationBindingObjectBindingVersion"></a>`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

```yaml
channels:
user/signup:
publish:
bindings:
amqp:
expiration: 100000
userId: guest
cc: ['user.logs']
priority: 10
deliveryMode: 2
mandatory: false
bcc: ['external.audit']
replyTo: user.signedup
timestamp: true
ack: false
bindingVersion: 0.2.0
operations:
userSignup:
channel:
$ref: '#/channels/userSignup'
bindings:
amqp:
expiration: 100000
userId: guest
cc: ['user.logs']
priority: 10
deliveryMode: 2
mandatory: false
bcc: ['external.audit']
timestamp: true
ack: false
bindingVersion: 0.3.0
```


Expand All @@ -133,12 +133,13 @@ This object MUST contain only the properties defined above.

```yaml
channels:
user/signup:
publish:
message:
userSignup:
address: 'user/signup'
messages:
userSignupMessage:
bindings:
amqp:
contentEncoding: gzip
messageType: 'user.signup'
bindingVersion: 0.2.0
bindingVersion: 0.3.0
```

0 comments on commit d5a21d8

Please sign in to comment.