DMS for RocketMQ Event Source

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

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

RocketMQ example event

{
    "event_version": "v1.0",
    "event_time": 1714040037,
    "trigger_type": "ROCKETMQ",
    "region": "region",
    "instance_id": "4140112c-85fc-40b8-bf7f-1ced2691a0a6",
    "records": [
        {
            "messages": [
                "rocketmq message1",
                "rocketmq message2",
                "rocketmq message3",
                "rocketmq message4",
                "rocketmq message5"
            ],
            "topic_id": "topic"
        }
    ]
}

Parameter description

Parameter

Type

Description

event_version

String

Event version

event_time

String

Time when an event occurs

trigger_type

String

Event type: ROCKETMQ

region

String

Region where a RocketMQ instance resides

instance_id

String

RocketMQ instance ID

messages

String[]

Message content

topic_id

String

Message ID

Example

const { DMS4RocketMQEvent } = require("@opentelekomcloud-community/fg-dms4rocketmq-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 DMS4RocketMQEvent(event);

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

  return output;
};