Object Store

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.

Message Formats

Transaction Events

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:

Property Type Description
Records Array Array of transaction event records.
Records[*].eventTime string Transaction timestamp, in ISO 8601 format. Example: 2008-09-22T14:01:54.957Z
Records[*].eventName string Transaction name. Example: s3:ObjectCreated:Put
Records[*].s3.bucket.name string AWS S3 bucket name. Example: my-bucket
Records[*].s3.object.key string Object key. Example: my/object.png
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.

Settings

Name

A label used for the node in the canvas.

Public Permissions

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.

Website Hosting

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:

Property Type Description
type string The type of the connected resource. Always set to objectStore.
id string The Stackery Object Store node’s ID. Example: abcd1234.
name string The Stackery Object Store node’s name. Example: Records.
bucket string The name of the AWS S3 bucket. Example: stackery-98237489374-objectstoreabcd1234-98fgiuiugy3
bucketArn string The AWS ARN of the AWS S3 bucket. Example: arn:aws:s3:::stackery-98237489374-objectstoreabcd1234-98fgiuiugy3


See Function Output Port Connections for more details on the STACKERY_PORTS environment variable.

Referenceable Properties

The following properties may be referenced by Function, Docker Service, and Docker Task nodes:

Property Value Example
id Cloud Service Identifier arn:aws:s3:::stackery-92837498734-objectstored8f7s82k-uywer878er7r

Try Stackery For Free

Gain control and visibility of your serverless operations from architecture design to application deployment and infrastructure monitoring.