Table nodes provision key-value store database tables. In AWS, each Table node provisions a DynamoDB table. Tables are excellent for reading and writing non-relational data in a horizontally scalable fashion.
Key-value store tables partition data based on a Hash Key. The Hash Key is a value that all records must have, and is typically used to identify or segment records. Tables may optionally have a Range Key, which sorts records with the same Hash Key according to the Range Key value. See the DynamoDB Core Components documentation for a more complete discussion of keys, records, and attributes.
Stackery makes it easy to manipulate records in the table using messages sent to it from Function nodes. While the Stackery messages API enables general functionality, it is also possible to get the identifier for the underlying Table resource and interact with it using a full-featured SDK. For example, the Stackery messages API does not provide contains string conditions for select queries, but when deployed to AWS the DynamoDB Table ID (ARN) can be referenced by a Function node in order to use an AWS SDK which does support contains string conditions.
Record transaction notification events are sent to Function nodes connected to the output of Table nodes. Events are generated for every record insertion, modification, or deletion, and events are batched together to ensure high throughput processing. Here is an overview of commonly used event properties:
|Records||Array||Array of transaction event records.|
|Records[*].eventName||string||Transaction name. Example:
|Records[*].dynamodb.Keys||Object||DynamoDB key values for record. Example:
|Records[*].dynamodb.OldImage||Object||DynamoDB original attribute values for record, where available. Example:
|Records[*].dynamodb.NewImage||Object||DynamoDB original attribute values for record, where available. Example:
See https://docs.aws.amazon.com/amazondynamodb/latest/APIReference/API_streams_Record.html for further details on the transaction message format.
A label used for the node in the canvas.
The name of the Hash Key attribute and its type. Hash Key names may contain only letters, numbers, and underscores.
Note: The name of the Hash Key may not be changed after deployment.
The name of an optional Range Key attribute and its type. Range Key names may contain only letters, numbers, and underscores.
Note: The name of the Range Key may not be changed after deployment.
Stackery Port Data
When connecting a wire between the output of a Function node to the input of an Object Store node, the
STACKERY_PORTS environment variable for the Function node will contain the following information in JSON form:
|type||string||The type of the connected resource. Always set to
|id||string||The Stackery Stream node’s ID. Example:
|name||string||The Stackery Stream node’s name. Example:
|tableName||string||The name of the AWS DynamoDB table. Example:
|tableArn||string||The AWS ARN of the AWS DynamoDB table. Example:
See Function Output Port Connections for more details on the
STACKERY_PORTS environment variable.
|id||Cloud Service Identifier||