Skip to content

Events

topology.yml

name: TOPOLOGY
events:
EventName:
producer: default
filter: filter-expression
function: function1
functions:
- function14
- function2
state:
- stepfunction1
channel:
- room1

tc provides pre-defined triggers

events:
MyEvent:
producer: S3/PUT_OBJECT
filter: '{"key": "foo/bar.png"}'
function: function1

The following are available triggers for AWS provider

ResourceTriggerDescription
CognitoPRE_SIGNUP
CognitoPOST_CONFIRMATION
CognitoPRE_AUTHENTICATION
CognitoPOST_AUTHENTICATION
CognitoCREATE_AUTH_CHALLENGE
CognitoVERIFY_AUTH_CHALLENGE_RESPONSE
S3PUT_OBJECT
S3DELETE_OBJECT
DYNAMODBPUT_ITEM
events:
MyRawEvent:
filter: '{"detail_type": ["FooBar"]}'
function: '{{namespace}}_foo_{{sandbox}}'
MyFilterEvent:
producer: default
filter: '{"metadata": {"type": ["foo"]}}'
function: '{{namespace}}_foo_{{sandbox}}'
MyAbstractEvent:
producer: default
function: '{{namespace}}_foo_{{sandbox}}'

tc compiles JSON path filters to rules

Events can be composed with other entities. For example:

routes:
/api/foo:
event: ApiEvent
events:
ApiEvent:
function: function1

To generate a visual flow:

Terminal window
tc compile -c events -f digraph | dot