Skip to content

AMQP 0-9-1 Message Binding v0.1.0

The AMQP message binding defines message-specific properties for AMQP 0-9-1, allowing you to specify content encoding and an application-specific message type.

Overview

This binding object provides metadata about the message payload, helping consumers understand how to decode and process it.

Message Properties

PropertyTypeDescription
contentEncodingstringA MIME-type encoding for the message content, such as gzip or application/json.
messageTypestringAn application-specific string that describes the message type, e.g., user.signup or order.created.
bindingVersionstringThe version of this binding. For v0.1.0, this MUST be 0.1.0.

Examples

Gzip Content Encoding

yaml
messages:
  userProfile:
    bindings:
      amqp:
        contentEncoding: 'gzip'
        messageType: 'user.profile.update'
        bindingVersion: '0.1.0'

Application-Specific Message Type

yaml
messages:
  orderEvent:
    bindings:
      amqp:
        messageType: 'order.created.v2'
        bindingVersion: '0.1.0'

Use Cases

Content Compression

Use contentEncoding to specify that a message payload is compressed (e.g., with gzip) to reduce network bandwidth and storage costs, especially for large payloads.

Message-Driven Logic

Use messageType to implement message-driven logic where consumers can inspect this property to decide how to deserialize and process the payload without having to inspect the payload itself.

Event Versioning

The messageType property can also be used to version events (e.g., user.created.v1, user.created.v2), allowing for smoother schema evolution and backward compatibility.

Migration Guide to v0.2.0

No breaking changes were introduced between v0.1.0 and v0.2.0 of this binding. It is fully compatible with v0.2.0.