Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

storage_presign

Computes a time-limited presigned URL for one object in a storage connector’s bucket. It is pure local computation: no bytes move through the runtime, and the client talks to the object store directly. GET presigns downloads; PUT presigns direct client uploads.

Synopsis

{
  "name": "storage_presign",
  "input": {
    "connector": "media",
    "method": "GET",
    "key": {
      "var": "temp_data.object_key"
    },
    "expires_in": "7d",
    "response_content_type": "…",
    "response_content_disposition": "…",
    "content_type": "…",
    "output": "temp_data.play_url"
  }
}

Description

storage_presign is a connector function. It names a connector for its credentials and endpoint. Orion validates its input when the workflow is saved, and the call runs through the connector’s circuit breaker.

Retry safety: pure. See Retry safety for what the answer costs.

Each method answers to its own connector gate (presign_get / presign_put).

Fields

FieldTypeRequiredDefaultDescription
connectorstringyesName of the storage connector
methodstringno"GET"GET | PUT — an open value set
keystringyesObject key within the connector’s bucket
expires_innumber | stringyesURL lifetime: integer seconds or "<n>s|m|h|d"; at most 7 days (S3’s own ceiling)
response_content_typestringnoGET only: forces the answered Content-Type; signed, so the client cannot alter it
response_content_dispositionstringnoGET only: forces Content-Disposition — the download-filename knob; signed
content_typestringnoPUT only: the Content-Type the uploader must send — a signed header, so any other type is refused by the store
outputstring | JSONLogicno"data"Where the presigned URL (string) is stored

Examples

{
  "name": "storage_presign",
  "input": {
    "connector": "media",
    "key": { "var": "temp_data.object_key" },
    "expires_in": "7d",
    "output": "temp_data.play_url"
  }
}

Last verified 14 September 2026