IronFlowDocs

s3_get_object

Download object content from S3 (or S3-compatible storage).

Parameters

bucketstringrequireddefault env S3_BUCKET
Destination bucket name.
keystringrequired
Object key inside the bucket.
regionstringdefault S3_REGION / AWS_REGION
Explicit AWS/S3 region override.
endpoint_urlstringdefault env AWS_ENDPOINT_URL
Optional custom endpoint (for S3-compatible services).
force_path_stylebooldefault false
Force path-style bucket addressing.
encodingstringdefault "text"
"text" or "base64" for downloaded body output.
output_keystringdefault "s3"
Prefix for context output keys.

Context Output

  • {output_key}_bucket — Bucket name used.
  • {output_key}_key — Object key used.
  • {output_key}_content — Object body (text or base64 depending on encoding).
  • {output_key}_encoding — Body encoding used (text or base64).
  • {output_key}_size — Byte size of the downloaded content.
  • {output_key}_content_type — Optional Content-Type response header.
  • {output_key}_content_length — Optional content length.
  • {output_key}_etag — Optional object ETag.
  • {output_key}_last_modified — Optional last modified timestamp.
  • {output_key}_successtrue on success.

Example

local flow = Flow.new("s3_download")

flow:step("fetch", nodes.s3_get_object({
    bucket = env("S3_BUCKET"),
    key = "raw/temp/notes/sample.txt",
    output_key = "download"
}))

flow:step("log", nodes.log({
    message = "Fetched ${ctx.download_size} bytes from ${ctx.download_bucket}/${ctx.download_key}"
})):depends_on("fetch")

return flow

IronFlow documentation

Find the next step

Type a keyword to search the documentation.

to move · Enter to open · Esc to close