Skip to main content
Technical Preview

Overview

A client-mode connector for a curated IIoT object-storage slice of the Google Cloud Storage JSON API under https://storage.googleapis.com: BASE_ADDRESS defaults to https://storage.googleapis.com (no trailing slash). JSON API paths use /storage/v1/...; media upload uses /upload/storage/v1/... on the same host. Topics use storage/google-cloud-storage/<object>/<verb>.
Object names: path segments with / must be URL-encoded as %2F (e.g. line-a%2Fsnapshot.json).
Signed URL: set BASE_ADDRESS to the signed URL origin only, put path+query in signed_path, and omit Bearer — the query string carries the signature. Typical GCS V4 upload signed URLs use PUT (PutSignedurl); use PostSignedurl only when the signer issued POST.
Pub/Sub / bucket notifications are not inbound HTTP on this client connector. Receiving notification POSTs needs a separate ENABLE_SERVER REST_API template (not packaged).
Prefer Hub secrets for GCS_ACCESS_TOKEN (or GOOGLE_CLOUD_STORAGE_ACCESS_TOKEN / GOOGLE_ACCESS_TOKEN). Service-account JWT → access-token exchange is out of band. This template has not been verified against a live GCP project. Status remains blocked until an authenticated live smoke (or working signed URL smoke) succeeds.

Basic Syntax

Configuration

Authentication

OAuth 2.0 Bearer

Pass a short-lived access token on each MQTT payload: Prefer Hub secrets / GET SECRET "GCS_ACCESS_TOKEN" (aliases GOOGLE_CLOUD_STORAGE_ACCESS_TOKEN, GOOGLE_ACCESS_TOKEN). Scope: https://www.googleapis.com/auth/devstorage.read_write (or .full_control / .read_only). Service-account JWT assertion exchange is out of band — use gcloud, ADC, or your IdP, then place only the access token in the Hub secret / MQTT payload. Never commit real credentials. Generate a time-limited V4 signed URL with gsutil / gcloud / client libraries. For PutSignedurl:
  1. Point BASE_ADDRESS at the URL origin.
  2. Put path + query into signed_path.
  3. Omit Authorization — do not re-sign on the broker.

MQTT topics

Example payloads

ListBuckets smoke:
Media upload (CSV rollup):
Get object metadata:
PutSignedurl:

References

Package status

Blocked on the factory until GCS_ACCESS_TOKEN (or alias) + a GCP project id (and preferably a lab bucket) or a valid signed URL enables a live authenticated smoke recorded in TEST.md.
Last modified on October 21, 2026