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.
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
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.
Parameter
Source in JSON
Description
ProjectId
project_id
Your unique Google Cloud Project ID.
ClientEmail
client_email
The service account email address.
PrivateKey
private_key
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_Upload
Object_Download: Retrieves object content and metadata.
Object_Download
Object_List: Lists objects in a bucket. Supports prefix filtering (e.g., uploads/).
Object_List
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.
Object_GetSignedUrl
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