Import n8n-34269-minimal-workaround.workflow.json, then:
- Select the same Google service-account credential on both GCS nodes.
- Replace the bucket and deterministic object name in
Config. - Replace the sample input with the production item and preserve a stable object name derived from the business key.
- Keep
ifGenerationMatch: 0. A retry after the first successful upload will not overwrite a changed object; it takes the error branch instead. - Keep both Create outputs connected to
Authenticated Object Get.
The run is successful only when the authenticated metadata request returns the
expected object name and a generation or etag. An upload failure with no
object therefore fails closed at the Get node. A successful upload followed by
the known anonymous metadata error recovers through the same authenticated Get
and emits a durable gs:// artifact.
No credential IDs, bucket names, object names, or client data are included.