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;
};