Object Storage Functions
An object bucket stores whole objects under a name. Use it for anything too big for a key-value bucket: a generated document, an inbound attachment, a nightly export. Five functions are available to a Function step:
Buckets are per-account. There is no delete function — remove a bucket or an object from the platform UI.
An object is addressed by
name, not key. The two storage families use different parameter names for the same idea.Text in, text out
These functions move text, not binary.put-object-by-key stringifies anything that is not already a string and writes the UTF-8 bytes; get-object-from-bucket decodes the bytes back as UTF-8. A JSON document, a CSV or an XML payload round-trips exactly. A PDF or an image does not — base64-encode it first with base64-encode and decode it on the way out.
Bucket names must match [a-zA-Z0-9_-]+.
create-object-store-bucket
string
required
Bucket name. Must be unique in the account and match
[a-zA-Z0-9_-]+.string
Free text shown alongside the bucket.
integer
Maximum total size of the bucket in bytes.
string
"file" or "memory". Default "file". Lower case — a capitalised value is rejected.integer
Copies kept across the cluster. Default
1, maximum 5.boolean
Compress the underlying storage.
object
Arbitrary string key-value pairs stored against the bucket.
{"status_code": 409, "body": {"error": "..."}}.
put-object-by-key
Writes an object. Writing an existing name replaces it.string
required
Bucket to write into. The bucket must already exist.
string
required
Object name.
string | object
required
The content. Anything that is not a string is serialised to JSON first.
{"status_code": 500, "body": {"error": "..."}} — and that is still a successful step. See Failure.
get-object-from-bucket
string
required
Bucket to read from.
string
required
Object to read.
boolean
Parse the decoded text as JSON. Leave it off to get the raw text.
{"status_code": 404, "body": {"error": "Not found"}} — note the shallower shape: there is no body.body to read. Test $.STEP_ID.status_code before reaching for the value.
If json is set and the text is not valid JSON, the raw text is returned rather than an error.
list-object-store-buckets
Lists every object bucket in the account. Takes no parameters — an empty payload{} is correct.
Returns
size is the bucket’s total bytes. The function’s declared output schema names this field entryTotal; the field on the wire is size.
list-object-keys
Lists object metadata — never the content.string
required
Bucket to list.
integer
Maximum entries in one page. Defaults to
500.integer
Sequence to start from.
results_total counts the rows in this page, not the bucket. When a page is cut short — by your limit or by the reply’s own size budget — the body also carries truncated: true and a next_cursor string; send that string back as cursor to continue. Treat the cursor as opaque.
To get the content of each object you need a get-object-from-bucket call per name.
Failure
Every function on this page catches its own errors and returns a body containingerror. That is a successful step — the run continues and the next step reads an object with an error key where it expected data.
Branch on it before using the result:
Related
Key-Value Storage
For small values addressed by key
Utilities
base64, templating, format conversion, SFTP
Upload Trigger
Starting a flow from a file
Functions Overview
The full catalogue