process
The process lambda is a core piece of Cirrus infrastructure. It
processes messages, extracts and prepares Cirrus Payloads from these
messages and then uses these payloads to trigger execution of
pre-defined AWS Step Function workflows. This lambda can also involve
simple administrative work like setting payload ids, and updating the
state db to avoid duplicative executions.
Trigger
There are multiple ways to trigger the process lambda.
Send a message to the SQS
processqueue via a feederSend a message to the SQS queue using the CLI tool
processcommand.
The SQS message can be used to send a single payload, or batch payloads to trigger workflows at volume with a single message (e.g. bulk image processing). Once the lambda has ingested a payload it begins the processing pipeline.
Payload
The message may contain the Cirrus Payload, have an S3 URL for a payload, be a Batch message containing a url link to a Cirrus Payload, or notification from an SNS topic that contains a Cirrus Payload.
Workflow Kick Off
The core function of the process lambda is to handle and process
inputs and to then trigger AWS Step Function execution of predefined
cirrus tasks and workflows. Payloads are also stored in the cirrus
deployment S3 bucket.
State Management
The process lambda also updates the state table when workflows are
initiated or fail to be initiated. This is intended to prevent duplicate
workflows running the same payload.
CLI
This lambda can be invoked using the included CLIrrus CLI tool using
either the process or invoke commands.