DMS for RabbitMQ Event Source

Note

coming soon…

DMS for RabbitMQ is a message queuing service that provides RabbitMQ premium instances. If you create a RabbitMQ trigger for a function, when a message is sent to a RabbitMQ instance topic, FunctionGraph will retrieve the message and trigger the function to perform other operations.

For the use of RabbitMQ triggers, please refer to Using a RabbitMQ Trigger.

RabbitMQ example event

{
  "event_version": "v1.0",
  "event_time": 1576737962,
  "trigger_type": "RABBITMQ",
  "region": "region",
  "records": [
    {
      "messages": [
        "rabbitmq message1",
        "rabbitmq message2",
        "rabbitmq message3",
        "rabbitmq message4",
        "rabbitmq message5"
      ],
      "instance_id": "81335d56-b9fe-4679-ba95-7030949cc76b",
      "exchange": "topic"
    }
  ]
}

Parameter description

Parameter

Type

Description

event_version

String

Event version

event_time

String

Time when an event occurs

trigger_type

String

Event type: RABBITMQ

region

String

Region where a RabbitMQ instance resides

instance_id

String

RabbitMQ instance ID

messages

String[]

Message content

exchange

String

Exchange identifier

Example

const { DMS4RabbitMQEvent } = require("@opentelekomcloud-community/fg-dms4rabbitmq-event");

exports.initializer = function (context, callback) {
  const logger = context.getLogger();
  logger.info("Function initialized");
  callback(null, "");
};

exports.handler = async function (event, context) {
  const logger = context.getLogger();

  logger.info("Function Name:", context.getFunctionName());

  const dms = new DMS4RabbitMQEvent(event);

  logger.info("Trigger type:", dms.getTriggerType());
  
  const output = {  
    trigger_type: dms.getTriggerType(),
  };

  return output;
};