A note for the community
- Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
- If you are interested in working on this issue or have submitted a pull request, please leave a comment
Use Cases
Use of AMQP 1.0 is required for newer brokers such as the Azure Service Bus. Meanwhile, RabbitMQ supports both 0.9.1 and 1.0 natively and transparently.
Attempted Solutions
The existing amqp source and sink are incompatible with brokers that only support AMQP 1.0; this is because the crate used for AMQP (lapin) does not support it: amqp-rs/lapin#321
Proposal
AMQP 1.0 is a breaking change from the currently supported protocol 0.9.1.
- Consider migrating or supporting an alternative AMQP crate, such as: https://github.com/minghuaw/fe2o3-amqp (1.0 exclusive); while considering whether to keep or drop support for v0.9.1 for older brokers (e.g. RabbitMQ before version 4.0).
- Support Azure Service Bus as a separate source/sink, such as using this community crate that implements the AMQP 1.0 protocol under the hood; or the official Rust crate from Azure that uses the HTTP/REST API.
Both of these options would leverage 0.X-versioned crates, whereas Lapin is more widely used and mature.
References
Version
0.49.0
A note for the community
Use Cases
Use of AMQP 1.0 is required for newer brokers such as the Azure Service Bus. Meanwhile, RabbitMQ supports both 0.9.1 and 1.0 natively and transparently.
Attempted Solutions
The existing
amqpsource and sink are incompatible with brokers that only support AMQP 1.0; this is because the crate used for AMQP (lapin) does not support it: amqp-rs/lapin#321Proposal
AMQP 1.0 is a breaking change from the currently supported protocol 0.9.1.
Both of these options would leverage 0.X-versioned crates, whereas Lapin is more widely used and mature.
References
Version
0.49.0