benthosdev / benthos

Fancy stream processing made operationally mundane
https://www.benthos.dev
MIT License
7.68k stars 752 forks source link

Support IBM amqp #2530

Open Uniserv-StephanWehr opened 4 weeks ago

Uniserv-StephanWehr commented 4 weeks ago

Add output and input options to send and get messages using IBM amqp queue.

Output IBM MQ provides support for both Queues and Topics. Sender options must be declared and the capability should be set to your destination preference. If this step is omitted, MQ defaults the destination to a Topic.

MQ requires the 'Message.properties.to' field to contain the address of the receiver.

Config Example:

output:
  amqp_1:
    urls: [ amqp://localhost:5672/ ]
    target_address: DEMOQUEUE
    max_in_flight: 64
    target_capabilities: [ "queue" ]
    message_properties_to: amqp://localhost:5672/
    sasl:
      mechanism: anonymous
      user: ""
      password: ""
    metadata:
      exclude_prefixes: [ "demo" ]

Input

Define source capabilities in the receiver options to declare the source as a Queue or a Topic. Once again, MQ defaults to a topic if this is omitted.

Config Example:

input:
  amqp_1:
    urls: [ amqp://localhost:5672/ ]
    source_address: DEMOQUEUE
    credit: 64
    source_capabilities: [ "queue" ]
    sasl:
      mechanism: anonymous
      user: ""
      password: ""