- Print
- DarkLight
- PDF
Article summary
Did you find this summary helpful?
Thank you for your feedback
Every Tenant that you create has a DynamoDB table created for it. This table is exclusively for the use of your Tenant and the Nodes therein. It is encrypted using your Tenant's default encryption key.
You can store anything in this table that you wish. The primary use case for the table is to allow you to maintain long-lived state across Node executions or to pass state between Nodes out-of-band from regular messages. Nodes are for the most part stateless (although you can maintain things like connection pools within them). In order to provide state to your Tenant, and therefore your Nodes, and external mechanism is required.
For example:
- You have a Node that must receive 5 messages before sending a composite message itself. The message come from different sources, and could arrive out-of-order. Your Node stores each message in an item in the table, and when the final message arrives reads the combination from the table, sends the combined message, and removes the item from the table.
- You have a Node connected to a Timer Node. When a
echo.timer
message is received, it calls an expensive API and caches the results of that call in the table for other Nodes to consume. - You have a Router Node that routes invoice messages to a set of customers based upon the status of those customers in the table.