DMS for Kafka Event Source

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

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

Kafka example event

{
  "event_version": "v1.0",
  "event_time": 1576737962,
  "trigger_type": "KAFKA",
  "region": "eu-de",
  "instance_id": "08fd3e1b-cf56-401f-b4c6-81fd2a1d3ae6",
  "records": [
      {
          "messages": [
              "kafka message1",
              "kafka message2",
              "kafka message3",
              "kafka message4",
              "kafka message5"
          ],
          "topic_id": "topic-test"
      }
  ]
}

Parameter description

Parameter

Type

Description

event_version

String

Event version

event_time

String

Time when an event occurs

trigger_type

String

Event type: KAFKA

region

String

Region where a Kafka instance resides

instance_id

String

Kafka instance ID

messages

String[]

Message content

topic_id

String

Message ID

Example

# coding: utf-8

from fg_dms4kafka_event import DMS4KafkaEvent


def handler(event, context):
  logger = context.getLogger()

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

  dms4kafka_event = DMS4KafkaEvent(event)
  
  logger.info("Trigger type: %s", dms4kafka_event.get_trigger_type())
  
  
  output = {
    "trigger_type": dms4kafka_event.get_trigger_type(),
  }
	
  return output

Full sample code is available in the samples-doc/scratch-event-dms4kafka.

Package description

Public package exports for fg_dms4kafka_event.

class fg_dms4kafka_event.DMS4KafkaEvent(event)

Bases: object

Represents a DMS4Kafka event for FunctionGraph.

get_event_version()
get_event_time()
get_region()
get_trigger_type()
get_instance_id()
get_records()
to_json()
class fg_dms4kafka_event.DMS4KafkaRecord(record)

Bases: object

Represents a topic record in a DMS4Kafka event.

get_topic_id()
get_messages()
to_json()
class fg_dms4kafka_event.DMS4KafkaRecordMessage(record)

Bases: object

Represents a single Kafka message in a DMS4Kafka record.

get_message()
to_json()