Skip to main content
Version: Next

Interfaces

Cumulus has multiple interfaces that allow interaction with discrete components of the system, such as starting workflows via SNS/Kinesis/SQS, manually queueing workflow start messages, submitting SNS notifications for completed workflows, and the many operations allowed by the Cumulus API.

The diagram below illustrates the workflow process in detail and the various interfaces that allow starting of workflows, reporting of workflow information, and database create operations that occur when a workflow reporting message is processed. For interfaces with expected input or output schemas, details are provided below.

Architecture diagram showing the interfaces for triggering and reporting of Cumulus workflow executions

Workflow triggers and queuing

Kinesis stream

As a Kinesis stream is consumed by the messageConsumer Lambda to queue workflow executions, the incoming event is validated against this consumer schema by the ajv package.

SQS queue for executions

The messages put into the SQS queue for executions should conform to the Cumulus message format.

Workflow executions

See the documentation on Cumulus workflows.

Workflow reporting

SNS reporting topics

For granule and PDR reporting, the topics will only receive data if the Cumulus workflow execution message meets the following criteria:

  • Granules - workflow message contains granule data in payload.granules
  • PDRs - workflow message contains PDR data in payload.pdr

The messages published to the SNS reporting topics for executions and PDRs and the record property in the messages published to the granules SNS topic should conform to the model schema for each data type.

Further detail on workflow reporting and how to interact with these interfaces can be found in the workflow notifications data cookbook.

Cumulus API

See the Cumulus API documentation.