Skip to main content
Version: 3.0 (next)

Google Cloud Storage Nodes

Google Cloud Storage nodes let pipelines read and write objects in GCS buckets. Use them to ingest exports, archive pipeline output, share files via signed URLs, and assemble sharded uploads. All six node types connect through your configured Google Cloud Storage connections.

Configuration Quick Reference​

FieldWhat you chooseDetails
ParametersConnection, Function, Function Parameters, Timeout OverrideSelect the connection profile, function, configure function parameters with expression support, and optionally override timeout.
SettingsDescription, Timeout (seconds), Retry on Timeout, Retry on Fail, On ErrorNode description, maximum execution time, retry behavior on timeout or failure, and error handling strategy. All execution settings default to pipeline-level values.

Object Operations​

GCS Get Node​

GCS Get node configuration

GCS Get Node

Retrieve one object from a GCS bucket: the object at an exact key, or the one a pattern selects. When a pattern matches several objects, the function's When Several Objects Match setting picks one: the most recently modified (the default) or the one whose key sorts last. If the listing under the pattern's prefix holds more objects than the discovery limit, the node fails rather than choosing among part of them. Returns the object bytes (base64‑encoded) and metadata.

Supported Function Types:

Function NamePurposeCommon Use Cases
Get ObjectDownload object content by key or patternData imports, configuration retrieval, report processing

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesGoogle Cloud Storage connection profile to use
FunctionSelectionYesGet function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (e.g. objectKey). See your Google Cloud Storage connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

All function parameters support expression syntax ({{ expression }}) for dynamic values from the pipeline context.

Output Structure​

{
"result": {
"data": "SGVsbG8sIHdvcmxkIQ==",
"metadata": {
"objectKey": "data/reports/sales.csv",
"fileName": "sales.csv",
"fileType": "csv",
"sizeBytes": 4096,
"contentType": "text/csv",
"generation": 1710230400000000,
"etag": "CJnh...",
"lastModified": "2026-03-12T08:00:00Z",
"updated": "2026-03-12T08:00:00Z",
"storageClass": "STANDARD"
}
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 178, "timestamp": "2026-03-12T10:30:00Z" }
}
FieldTypeDescription
result.datastringObject content, base64‑encoded
result.metadata.objectKeystringResolved object key (after pattern discovery)
result.metadata.fileNamestringFile name extracted from the key
result.metadata.fileTypestringFile extension without the dot
result.metadata.sizeBytesnumberObject size in bytes
result.metadata.contentTypestringMIME content type
result.metadata.generationnumberObject generation
result.metadata.etagstringObject ETag (when present)
result.metadata.lastModifiedstringWhen the object's content was written, RFC 3339 UTC (when present). This is the time Most recently modified compares
result.metadata.updatedstringWhen the object or its metadata last changed, RFC 3339 UTC (when present). Later than lastModified after a metadata or storage‑class change
result.metadata.storageClassstringStorage class (when present)
result.metadata.kmsKeyNamestringCMEK key name (when the object is CMEK‑encrypted)
result.metadata.discoveryPatternstringThe pattern used, when the key was resolved via wildcard/regex
result.metadata.selectedBystringThe rule that picked the object among the matches: lastModified or name (only when the key was a pattern)
result.metadata.matchCountnumberHow many objects the pattern matched (only when the key was a pattern)

GCS Put Node​

GCS Put node configuration

GCS Put Node

Write an object to a GCS bucket, with optional content type, storage class, CMEK, and signed‑URL generation.

Supported Function Types:

Function NamePurposeCommon Use Cases
Put ObjectUpload data to an object keyData exports, artifact storage, archival

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesGoogle Cloud Storage connection profile to use
FunctionSelectionYesPut function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (e.g. objectKey, data). See your Google Cloud Storage connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

Output Structure​

{
"result": {
"objectKey": "output/report.csv",
"bytesWritten": 2048,
"contentType": "text/csv",
"generation": 1710230400000000,
"etag": "CJnh...",
"storageClass": "NEARLINE",
"signedUrl": "https://storage.googleapis.com/...",
"signedUrlExpiry": 3600
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 245, "timestamp": "2026-03-12T10:30:00Z" }
}
FieldTypeDescription
result.objectKeystringKey the object was written to (timestamped if overwrite was disabled)
result.bytesWrittennumberNumber of bytes written
result.contentTypestringMIME content type of the written object
result.generationnumberObject generation assigned by GCS
result.etagstringObject ETag (when present)
result.storageClassstringStorage class applied (when set)
result.kmsKeyNamestringCMEK key name (when CMEK was applied)
result.signedUrlstringV4 signed GET URL (only when Generate Signed URL is enabled)
result.signedUrlExpirynumberSigned URL expiry in seconds (only when a signed URL was generated)
result.signedUrlErrorstringPresent instead of signedUrl if signing failed
Store-and-forward eligible

The Put node is a durable sink with keyed idempotency — the object key is the idempotency handle, so retries converge to the same end state.


GCS List Node​

GCS List node configuration

GCS List Node

List objects under a prefix, optionally using a delimiter for folder‑style listing.

Supported Function Types:

Function NamePurposeCommon Use Cases
List ObjectsEnumerate objects under a prefixDiscover files, build inventories, batch processing

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesGoogle Cloud Storage connection profile to use
FunctionSelectionYesList function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (e.g. prefix, delimiter). See your Google Cloud Storage connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

Output Structure​

{
"result": {
"objects": [
{
"name": "logs/2026-03-12.json",
"sizeBytes": 2048,
"contentType": "application/json",
"generation": 1710230400000000,
"etag": "CJnh...",
"updated": "2026-03-12T06:00:00Z",
"storageClass": "STANDARD"
}
],
"prefixes": ["logs/2026/"],
"count": 1,
"truncated": false
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 134, "timestamp": "2026-03-12T10:30:00Z" }
}
FieldTypeDescription
result.objectsarrayObject entries (see below)
result.prefixesarrayCommon prefixes returned when a delimiter is used (folder‑style listing)
result.countnumberNumber of objects returned
_metadata.truncatedbooleantrue if the discovery limit was reached and more objects exist — a fact about the call, so it rides with the execution facts
_metadata.method, _metadata.bucketstring, stringThe call's other facts, on every node: the operation, and the bucket it ran against

Object Entry Fields — each item of result.objects:

FieldTypeDescription
namestringFull object name/key
sizeBytesnumberObject size in bytes
contentTypestringMIME content type
generationnumberObject generation
etagstringObject ETag (when present)
updatedstringLast update timestamp, ISO 8601 (when present)
storageClassstringStorage class (when present)

GCS Delete Node​

GCS Delete node configuration

GCS Delete Node

Delete an object by key, optionally guarded by a generation precondition.

Supported Function Types:

Function NamePurposeCommon Use Cases
Delete ObjectPermanently delete an objectClean up processed files, enforce retention

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesGoogle Cloud Storage connection profile to use
FunctionSelectionYesDelete function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (e.g. objectKey, generation). See your Google Cloud Storage connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

Output Structure​

{
"result": {
"objectKey": "staging/inbound/file.csv"
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 92, "timestamp": "2026-03-12T10:30:00Z" }
}
FieldTypeDescription
result.objectKeystringKey of the deleted object (normalized against the connection prefix)
Destructive Operation

Object deletion is permanent and cannot be undone. Set the Generation parameter for optimistic concurrency, or use a Condition node to verify before deleting.


GCS Generate Signed URL Node​

GCS Generate Signed URL node configuration

GCS Generate Signed URL Node

Generate a time‑limited V4 signed URL for GET (download) or PUT (upload) access to an object.

Supported Function Types:

Function NamePurposeCommon Use Cases
Generate Signed URLIssue a temporary access URLShare reports, issue one‑time upload targets

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesGoogle Cloud Storage connection profile to use
FunctionSelectionYesSigned URL function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (e.g. objectKey, method, expirySeconds). See your Google Cloud Storage connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

Output Structure​

{
"result": {
"signedUrl": "https://storage.googleapis.com/...",
"method": "GET",
"objectKey": "exports/report.pdf",
"expiresAt": "2026-03-12T11:30:00Z"
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 12, "timestamp": "2026-03-12T10:30:00Z" }
}
FieldTypeDescription
result.signedUrlstringThe generated V4 signed URL
result.methodstringHTTP method the URL authorizes (GET or PUT)
result.objectKeystringKey the URL grants access to
result.expiresAtstringExpiry timestamp, ISO 8601
Signing requirements

Signing needs a service account key on the connection, or iam.serviceAccounts.signBlob permission on the connection's identity. Pure‑ADC connections without signBlob return a clear error.


GCS Compose Node​

GCS Compose node configuration

GCS Compose Node

Concatenate up to 32 source objects into a single destination object, server‑side.

Supported Function Types:

Function NamePurposeCommon Use Cases
Compose ObjectsMerge objects without downloadingStitch sharded uploads, assemble multi‑part payloads

Node Configuration​

ParameterTypeRequiredDescription
ConnectionSelectionYesGoogle Cloud Storage connection profile to use
FunctionSelectionYesCompose function from the selected connection
Function ParametersDynamicVariesAuto-populated from the function schema (e.g. sources, destination). See your Google Cloud Storage connection functions for full parameter details.
Timeout OverrideNumber (seconds)NoOverride the default function timeout

Output Structure​

{
"result": {
"destination": "combined/output.bin",
"sourceCount": 3,
"sizeBytes": 6144,
"generation": 1710230400000000,
"etag": "CJnh..."
},
"_metadata": { "success": true, "functionId": "<function-id>", "durationMs": 210, "timestamp": "2026-03-12T10:30:00Z" }
}
FieldTypeDescription
result.destinationstringDestination object key for the composed result
result.sourceCountnumberNumber of source objects composed
result.sizeBytesnumberSize of the composed object in bytes
result.generationnumberGeneration assigned to the composed object
result.etagstringETag of the composed object (when present)

Settings Tab​

All Google Cloud Storage node types share the same Settings tab:

SettingTypeDefaultDescription
DescriptionText—Optional description displayed on the node
Timeout (seconds)NumberPipeline defaultMaximum time the node may run before timing out
Retry on TimeoutTogglePipeline defaultAutomatically retry the node if it times out
Retry on FailTogglePipeline defaultAutomatically retry the node if it fails
On ErrorSelectionPipeline defaultError strategy: Pipeline Default (the pipeline's Error Handling setting), Stop Pipeline or Continue Execution

When left at their defaults, these settings inherit from the pipeline-level execution configuration.