DDS Event Source (offline soon)

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

DDS example event

{
  "records": [
    {
      "event_source": "dds",
      "event_name": "insert",
      "region": "region",
      "event_version": "1.0",
      "dds": {
        "size_bytes": "100",
        "token": "{\"_data\": \"825D8C2F4D0000001529295A100474039A3412A64BA89041DC952357FB4446645F696400645D8C2F8E5BECCB6CF5370D6A0004\"}",
        "full_document": "{\"_id\": {\"$oid\": \"5d8c2f8e5beccb6cf5370d6a\"},\"name\": \"dds\",\"age\": {\"$numberDouble\": \"52.0\"}}",
        "ns": "{\"db\": \"functiongraph\",\"coll\": \"person\"}"
      },
      "event_source_id": "e6065860-f7b8-4cca-80bd-24ef2a3bb748"
    }
  ]
}

Parameter description

Parameter

Type

Description

event_source

String

Event source

event_name

String

Event name

region

String

Region where the DDS instance is located

event_version

String

Event version

size_bytes

String

Message bytes

token

JSON String

Base64-encoded data

full_document

JSON String

Complete file information

ns

JSON String

Column name

event_source_id

String

Event source ID

Example

# coding: utf-8

from fg_dds_event import DDSEvent


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

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

  dds_event = DDSEvent(event)
  
  
  records = dds_event.get_records()
  logger.info("DDS Event- Number of records: %s", len(records))

  for index, record in enumerate(records):
    logger.info("DDS Event- Record %d: %s", index + 1, record)
  
  output = {
    "record_count": len(records),
  }
	
  return output

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

Package description

Public package exports for fg_dds_event.

class fg_dds_event.DDSEvent(event)

Bases: object

Represents a DDS event for FunctionGraph.

get_records()
get_record(index)
to_json()
class fg_dds_event.DDSRecord(record)

Bases: object

Represents a single DDS event record.

get_event_source()
get_event_version()
get_event_name()
get_event_source_ip()
get_region()
get_dds()
to_json()
class fg_dds_event.DDS(dds)

Bases: object

Represents the DDS payload of an event record.

get_size_bytes()
get_token_raw()
get_token()
get_full_document_raw()
get_full_document()
get_ns_raw()
get_ns()
to_json()