google-cloud-storage-connector
Service icon

Google Cloud Storage Connector

Stable version 1.0.0 (Compatible with OutSystems 11)
Uploaded
 on 23 Apr (14 hours ago)
 by 
5.0
 (2 ratings)
google-cloud-storage-connector

Google Cloud Storage Connector

Documentation
1.0.0

Google Cloud Storage Connector

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.

Table of Contents

  • Features

  • Prerequisites

  • Authentication Setup

  • Action Reference

  • Best Practices


Features

  • 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.


Prerequisites

  1. An active Google Cloud Project.

  2. A Service Account with the following roles:

    • Storage Object Admin (for file operations)

    • Storage Admin (if managing buckets)

    • Service Account Token Creator (required for generating Signed URLs)


Authentication Setup

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).

Security Tip: Always use Site Properties or an encrypted database table to store the PrivateKey.


Action Reference

Object Actions

  • Object_Upload: Uploads binary data. Handles content-type metadata for proper browser rendering.

  • Object_Download: Retrieves object content and metadata.

  • 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_GetSignedUrl: Generates a temporary GET URL for direct-to-browser downloads.

Bucket Actions

  • Bucket_List: Lists all buckets in the current Project.

  • Bucket_Create: Creates a new bucket in a specific location (e.g., US, EU).

  • Bucket_Delete: Deletes an empty bucket.


Best Practices

  • Region Selection: For the "Always Free" tier, use us-east1, us-west1, or us-central1.

  • 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.


Implementation Details (Internal)

  • Language: C# (.NET 4.8)

  • Extension Tool: OutSystems Integration Studio

  • Dependencies: Google.Cloud.Storage.V1, Google.Apis.Auth