An OutSystems 11 extension for Google Cloud Storage: buckets, objects and signed URLs, built on the official Google Cloud .NET SDK. It authenticates with Workload Identity Federation (no Google key) or with a service account key.
Every action has one mandatory input, Authentication, of type GCS_Authentication. AuthenticationMethod selects the method:
Build the record in one server action or function that reads your Site Properties, and pass it to every call. To change method, you only change that record. Store PrivateKey and ClientSecret encrypted.
The OutSystems server must be able to reach your provider's token endpoint, sts.googleapis.com and iamcredentials.googleapis.com.
Leave AuthenticationMethod empty and set ProjectId, ClientEmail and PrivateKey from the JSON key. The service account needs Storage Object Admin for objects and Storage Admin for buckets. Signed URLs are signed locally and need no extra role.
Source, tests and changelog: github.com/promonteiro89/google-cloud-storage-connector-o11
A robust, enterprise-grade OutSystems extension that wraps the official Google Cloud Storage .NET SDK. This component allows for seamless management of buckets and objects (files) within Google Cloud Storage directly from your OutSystems applications.
This connector is designed to be secure. Instead of storing a JSON key file on the server, you map the values from your Service Account JSON to OutSystems Site Properties.
project_id
client_email
private_key
PrivateKey
uploads/
MaxResults
PageToken
NextPageToken
Delimiter
/
PrefixList
CustomMetadata
Exists = False
Metadata
Operation
Download
Upload
Delete
ContentType
Object_List
images/2026/
Object_Upload
Object_UpdateMetadata
Object_GetMetadata
Object_GetSignedUrl
Prefix
Delimiter = "/"
ObjectList
Object_DeleteByPrefix
Object_Copy
Object_Move
Implementation Details (Internal)Language: C# (.NET Framework 4.8) · Extension Tool: OutSystems Integration Studio · Dependencies: Google.Cloud.Storage.V1, Google.Apis.Auth
Features
Prerequisites
Authentication Setup
Action Reference
Best Practices
Full Object Lifecycle: Upload, Download, Delete, and List objects.
Bucket Management: Programmatically create, delete, and list buckets.
Secure Authentication: No JSON files needed on the server; uses individual credentials for environment-specific configuration.
Signed URLs: Generate temporary, secure access links for private objects (V4 Signing).
High Performance: Built on the official Google Cloud .NET SDK with optimized memory handling.
An active Google Cloud Project.
A Service Account with the following roles:
Storage Object Admin (for file operations)
Storage Object Admin
Storage Admin (if managing buckets)
Storage Admin
Service Account Token Creator (required for generating Signed URLs)
Service Account Token Creator
Parameter
Source in JSON
Description
ProjectId
Your unique Google Cloud Project ID.
ClientEmail
The service account email address.
The full private key string (including BEGIN and END headers).
BEGIN
END
Security Tip: Always use Site Properties or an encrypted database table to store the PrivateKey.
Object_Upload: Uploads binary data. Handles content-type metadata for proper browser rendering.
Object_Download: Retrieves object content and metadata.
Object_Download
Object_List: Lists objects in a bucket. Supports prefix filtering (e.g., uploads/).
Object_Exists: Efficiently checks for an object's existence via metadata.
Object_Exists
Object_GetSignedUrl: Generates a temporary GET URL for direct-to-browser downloads.
Bucket_List: Lists all buckets in the current Project.
Bucket_List
Bucket_Create: Creates a new bucket in a specific location (e.g., US, EU).
Bucket_Create
US
EU
Bucket_Delete: Deletes an empty bucket.
Bucket_Delete
Large Files: For files over 100MB, use the Object_GetSignedUrl action to allow users to download directly from Google, reducing load on your OutSystems server.
Language: C# (.NET 4.8)
Extension Tool: OutSystems Integration Studio
Dependencies: Google.Cloud.Storage.V1, Google.Apis.Auth
Google.Cloud.Storage.V1
Google.Apis.Auth