Object Store nodes provision storage locations for files within cloud services. For AWS, an Object Store maps to an S3 Bucket.
Object Stores also contain functionality beyond storage of files. Stores can be publicly readable and writable to allow end users to upload and download files. When object transactions occur Object Stores also emit messages that can be sent to Functions to trigger further processing. Lastly, Object Stores can operate as static content hosts for websites or other data fetched over HTTP. Stackery helps manage each of these features.
Transaction notification events are sent to Function nodes connected to the output of Object Store nodes. Object creation and removal events are generated for every object in the store, 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[*].eventTime||string||Transaction timestamp, in ISO 8601 format. Example:
|Records[*].eventName||string||Transaction name. Example:
|Records[*].s3.bucket.name||string||AWS S3 bucket name. Example:
|Records[*].s3.object.key||string||Object key. Example:
|Records[*].s3.object.size||number||Object size, where available. Example: 1024|
See https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html for further details on the transaction message format.
A label used for the node in the canvas.
Public permissions for accessing objects within the Object Store. The permissions can be set to None, Read, or Write. Write permissions also grant Read permissions.
Warning: Website Hosting will not work if public permissions is set to None.
Whether to enable static content website hosting of objects within the Object Store. Enabling this feature will provision an HTTP Rest API endpoint for accessing objects. After deployment, the endpoint can be found in the Properties pane of the node within the Status screen of the Deployment.
Directories accessed through the website endpoint will redirect to the index.html document within the directory. For example, http://endpoint.example.com/foo/bar/ will redirect to http://endpoint.example.com/foo/bar/index.html.
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 Object Store node’s ID. Example:
|name||string||The Stackery Object Store node’s name. Example:
|bucket||string||The name of the AWS S3 bucket. Example:
|bucketArn||string||The AWS ARN of the AWS S3 bucket. Example:
See Function Output Port Connections for more details on the
STACKERY_PORTS environment variable.
|id||Cloud Service Identifier||