google-cloud-storage-connector
Service icon

Google Cloud Storage Connector

Stable version 1.5.2 (Compatible with OutSystems 11)
Uploaded
 on 1 Sep (2 weeks ago)
 by 
5.0
 (3 ratings)
google-cloud-storage-connector

Google Cloud Storage Connector

Documentation
1.5.2

Google Cloud Storage Connector v1.5.2

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
  • Structures
  • Best Practices

Features

  • Full Object Lifecycle: Upload, Download, Delete, List, Copy, and Move objects — plus recursive "folder" deletion.
  • Pagination & Folder Navigation: List huge buckets page by page, or browse them like a directory tree using delimiter-based "folders".
  • Object Metadata: Inspect a file's size, hashes, versioning, and timestamps without downloading it — and store, read, and update your own custom key-value metadata (e.g. user id, tenant, document type).
  • Bucket Management: Programmatically create, delete, list, and check the existence of 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), optionally locked to a specific Content-Type.
  • Actionable Errors: Clear, developer-friendly error messages (missing bucket vs missing object, required IAM role hints, credential guidance) instead of raw API errors.
  • High Performance: Built on the official Google Cloud .NET SDK, with connection reuse across requests.
  • Fully Tested: Every action is covered by an automated test suite that runs on every change to the connector.

Prerequisites

  • An active Google Cloud Project.
  • A Service Account with the following roles:
    • Storage Object Admin (for file operations)
    • Storage Admin (if managing buckets)
Note: Signed URLs are generated locally with the service account's private key, so the Service Account Token Creator role is not required.

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.

ParameterSource in JSONDescription
ProjectIdproject_idYour unique Google Cloud Project ID.
ClientEmailclient_emailThe service account email address.
PrivateKeyprivate_keyThe full private key string (including BEGIN and END headers). JSON-escaped newlines are handled automatically.
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, and optionally stores custom key-value metadata with the object (e.g. user id, tenant, document type). Metadata new in v1.5.0.
  • Object_Download: Retrieves object content and metadata.
  • Object_List: Lists objects in a bucket. Supports prefix filtering (e.g., uploads/), pagination via MaxResults / PageToken / NextPageToken, and folder-style navigation: set Delimiter to / to get the "folders" under the prefix in PrefixList instead of every nested object. New in v1.4.0.
  • Object_Delete: Permanently deletes an object from a bucket.
  • Object_DeleteByPrefix: Permanently deletes all objects under a prefix (a "folder" and everything inside it) in a single server-side action, returning the number of objects deleted. The prefix is mandatory and cannot be empty — a safety guard against accidentally wiping an entire bucket. New in v1.5.0.
  • Object_Copy: Copies an object to another location, within the same bucket or across buckets, without downloading its content. Overwrites the destination if it exists.
  • Object_Move: Moves an object (copy + delete of the source). Use the same source and destination bucket to rename. Overwrites the destination if it exists.
  • Object_Exists: Efficiently checks for an object's existence via metadata.
  • Object_GetMetadata: Retrieves an object's full metadata (size, content type, hashes, generation, storage class, timestamps) without downloading its content, including the object's custom key-value metadata in the CustomMetadata output. Returns Exists = False if the object is not found, leaving the Metadata record empty. CustomMetadata new in v1.5.0.
  • Object_UpdateMetadata: Updates an object's metadata without re-uploading its content: ContentType, ContentEncoding, ContentDisposition, CacheControl, and custom key-value metadata. Only the provided fields change — empty inputs leave fields untouched, and a metadata entry with an empty Value removes that key. Concurrent updates are detected and fail cleanly instead of overwriting each other. New in v1.5.0.
  • Object_GetSignedUrl: Generates a temporary signed URL (V4) for direct-to-browser access. The Operation input selects what the URL permits: Download (GET), Upload (PUT), or Delete (DELETE). For uploads, the optional ContentType input locks the URL to an exact Content-Type (part of the signature). Expiration accepts 1 minute to 7 days (the V4 signing maximum). ContentType new in v1.4.0.

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_Exists: Checks whether a bucket exists and is accessible to the service account, without listing its contents. New in v1.4.0.
  • Bucket_Delete: Deletes an empty bucket.

Structures

StructureDescription
GCS_ObjectRepresents a file in a list result (Name, Size, ContentType, Updated).
GCS_PrefixA folder-style entry returned by Object_List when Delimiter is set — a common prefix (e.g., images/2026/) shared by the objects grouped under it. New in v1.4.0.
GCS_MetadataEntryA single custom metadata key-value pair (Key, Value) stored with an object. Used by Object_Upload and Object_UpdateMetadata, and returned by Object_GetMetadata. In updates, an empty Value removes the key. New in v1.5.0.
GCS_BucketRepresents a bucket (Name, Location, StorageClass, Created).
GCS_ObjectMetadataThe complete metadata for a single object, returned by Object_GetMetadata: Name, Bucket, Size, ContentType, ContentEncoding, ContentDisposition, CacheControl, MD5Hash, Crc32c, ETag, Generation, Metageneration, StorageClass, MediaLink, TimeCreated, Updated.

Best Practices

  • Large Files: For files over 100 MB, use the Object_GetSignedUrl action to allow users to download directly from Google, reducing load on your OutSystems server.
  • Large Buckets: When listing buckets with many objects, set MaxResults and page through results with NextPageToken instead of fetching everything at once.
  • Folder Browsing: Combine Prefix with Delimiter = "/" to build a file-explorer UI: PrefixList gives the subfolders, ObjectList the files at that level.
  • Tag your uploads: Pass Metadata on Object_Upload (user id, tenant, document type) so files stay traceable without a database lookup — and use Object_UpdateMetadata to retag or fix content types later without re-uploading.
  • Folder cleanup: Use Object_DeleteByPrefix to remove a whole "folder" in one action instead of listing and deleting object by object in application logic.
  • Secure Uploads: When generating an Upload signed URL, pass the expected ContentType so the URL only accepts that file type.
  • Pre-flight checks: Use Object_GetMetadata before a download to read an object's size and content type up front (e.g., to enforce size limits or set the right MIME handling) without transferring the file.
  • Server-side moves: Use Object_Copy / Object_Move to relocate or rename files without downloading and re-uploading them — the data never passes through your OutSystems server.

1.5.1

Google Cloud Storage Connector v1.5.1

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
  • Structures
  • Best Practices

Features

  • Full Object Lifecycle: Upload, Download, Delete, List, Copy, and Move objects — plus recursive "folder" deletion.
  • Pagination & Folder Navigation: List huge buckets page by page, or browse them like a directory tree using delimiter-based "folders".
  • Object Metadata: Inspect a file's size, hashes, versioning, and timestamps without downloading it — and store, read, and update your own custom key-value metadata (e.g. user id, tenant, document type).
  • Bucket Management: Programmatically create, delete, list, and check the existence of 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), optionally locked to a specific Content-Type.
  • Actionable Errors: Clear, developer-friendly error messages (missing bucket vs missing object, required IAM role hints, credential guidance) instead of raw API errors.
  • High Performance: Built on the official Google Cloud .NET SDK, with connection reuse across requests.
  • Fully Tested: Every action is covered by an automated test suite that runs on every change to the connector.

Prerequisites

  • An active Google Cloud Project.
  • A Service Account with the following roles:
    • Storage Object Admin (for file operations)
    • Storage Admin (if managing buckets)
Note: Signed URLs are generated locally with the service account's private key, so the Service Account Token Creator role is not required.

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.

ParameterSource in JSONDescription
ProjectIdproject_idYour unique Google Cloud Project ID.
ClientEmailclient_emailThe service account email address.
PrivateKeyprivate_keyThe full private key string (including BEGIN and END headers). JSON-escaped newlines are handled automatically.
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, and optionally stores custom key-value metadata with the object (e.g. user id, tenant, document type). Metadata new in v1.5.0.
  • Object_Download: Retrieves object content and metadata.
  • Object_List: Lists objects in a bucket. Supports prefix filtering (e.g., uploads/), pagination via MaxResults / PageToken / NextPageToken, and folder-style navigation: set Delimiter to / to get the "folders" under the prefix in PrefixList instead of every nested object. New in v1.4.0.
  • Object_Delete: Permanently deletes an object from a bucket.
  • Object_DeleteByPrefix: Permanently deletes all objects under a prefix (a "folder" and everything inside it) in a single server-side action, returning the number of objects deleted. The prefix is mandatory and cannot be empty — a safety guard against accidentally wiping an entire bucket. New in v1.5.0.
  • Object_Copy: Copies an object to another location, within the same bucket or across buckets, without downloading its content. Overwrites the destination if it exists.
  • Object_Move: Moves an object (copy + delete of the source). Use the same source and destination bucket to rename. Overwrites the destination if it exists.
  • Object_Exists: Efficiently checks for an object's existence via metadata.
  • Object_GetMetadata: Retrieves an object's full metadata (size, content type, hashes, generation, storage class, timestamps) without downloading its content, including the object's custom key-value metadata in the CustomMetadata output. Returns Exists = False if the object is not found, leaving the Metadata record empty. CustomMetadata new in v1.5.0.
  • Object_UpdateMetadata: Updates an object's metadata without re-uploading its content: ContentType, ContentEncoding, ContentDisposition, CacheControl, and custom key-value metadata. Only the provided fields change — empty inputs leave fields untouched, and a metadata entry with an empty Value removes that key. Concurrent updates are detected and fail cleanly instead of overwriting each other. New in v1.5.0.
  • Object_GetSignedUrl: Generates a temporary signed URL (V4) for direct-to-browser access. The Operation input selects what the URL permits: Download (GET), Upload (PUT), or Delete (DELETE). For uploads, the optional ContentType input locks the URL to an exact Content-Type (part of the signature). Expiration accepts 1 minute to 7 days (the V4 signing maximum). ContentType new in v1.4.0.

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_Exists: Checks whether a bucket exists and is accessible to the service account, without listing its contents. New in v1.4.0.
  • Bucket_Delete: Deletes an empty bucket.

Structures

StructureDescription
GCS_ObjectRepresents a file in a list result (Name, Size, ContentType, Updated).
GCS_PrefixA folder-style entry returned by Object_List when Delimiter is set — a common prefix (e.g., images/2026/) shared by the objects grouped under it. New in v1.4.0.
GCS_MetadataEntryA single custom metadata key-value pair (Key, Value) stored with an object. Used by Object_Upload and Object_UpdateMetadata, and returned by Object_GetMetadata. In updates, an empty Value removes the key. New in v1.5.0.
GCS_BucketRepresents a bucket (Name, Location, StorageClass, Created).
GCS_ObjectMetadataThe complete metadata for a single object, returned by Object_GetMetadata: Name, Bucket, Size, ContentType, ContentEncoding, ContentDisposition, CacheControl, MD5Hash, Crc32c, ETag, Generation, Metageneration, StorageClass, MediaLink, TimeCreated, Updated.

Best Practices

  • Large Files: For files over 100 MB, use the Object_GetSignedUrl action to allow users to download directly from Google, reducing load on your OutSystems server.
  • Large Buckets: When listing buckets with many objects, set MaxResults and page through results with NextPageToken instead of fetching everything at once.
  • Folder Browsing: Combine Prefix with Delimiter = "/" to build a file-explorer UI: PrefixList gives the subfolders, ObjectList the files at that level.
  • Tag your uploads: Pass Metadata on Object_Upload (user id, tenant, document type) so files stay traceable without a database lookup — and use Object_UpdateMetadata to retag or fix content types later without re-uploading.
  • Folder cleanup: Use Object_DeleteByPrefix to remove a whole "folder" in one action instead of listing and deleting object by object in application logic.
  • Secure Uploads: When generating an Upload signed URL, pass the expected ContentType so the URL only accepts that file type.
  • Pre-flight checks: Use Object_GetMetadata before a download to read an object's size and content type up front (e.g., to enforce size limits or set the right MIME handling) without transferring the file.
  • Server-side moves: Use Object_Copy / Object_Move to relocate or rename files without downloading and re-uploading them — the data never passes through your OutSystems server.

1.5.0

Google Cloud Storage Connector v1.5.0

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
  • Structures
  • Best Practices

Features

  • Full Object Lifecycle: Upload, Download, Delete, List, Copy, and Move objects — plus recursive "folder" deletion.
  • Pagination & Folder Navigation: List huge buckets page by page, or browse them like a directory tree using delimiter-based "folders".
  • Object Metadata: Inspect a file's size, hashes, versioning, and timestamps without downloading it — and store, read, and update your own custom key-value metadata (e.g. user id, tenant, document type).
  • Bucket Management: Programmatically create, delete, list, and check the existence of 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), optionally locked to a specific Content-Type.
  • Actionable Errors: Clear, developer-friendly error messages (missing bucket vs missing object, required IAM role hints, credential guidance) instead of raw API errors.
  • High Performance: Built on the official Google Cloud .NET SDK, with connection reuse across requests.
  • Fully Tested: Every action is covered by an automated test suite that runs on every change to the connector.

Prerequisites

  • An active Google Cloud Project.
  • A Service Account with the following roles:
    • Storage Object Admin (for file operations)
    • Storage Admin (if managing buckets)
Note: Signed URLs are generated locally with the service account's private key, so the Service Account Token Creator role is not required.

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.

ParameterSource in JSONDescription
ProjectIdproject_idYour unique Google Cloud Project ID.
ClientEmailclient_emailThe service account email address.
PrivateKeyprivate_keyThe full private key string (including BEGIN and END headers). JSON-escaped newlines are handled automatically.
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, and optionally stores custom key-value metadata with the object (e.g. user id, tenant, document type). Metadata new in v1.5.0.
  • Object_Download: Retrieves object content and metadata.
  • Object_List: Lists objects in a bucket. Supports prefix filtering (e.g., uploads/), pagination via MaxResults / PageToken / NextPageToken, and folder-style navigation: set Delimiter to / to get the "folders" under the prefix in PrefixList instead of every nested object. New in v1.4.0.
  • Object_Delete: Permanently deletes an object from a bucket.
  • Object_DeleteByPrefix: Permanently deletes all objects under a prefix (a "folder" and everything inside it) in a single server-side action, returning the number of objects deleted. The prefix is mandatory and cannot be empty — a safety guard against accidentally wiping an entire bucket. New in v1.5.0.
  • Object_Copy: Copies an object to another location, within the same bucket or across buckets, without downloading its content. Overwrites the destination if it exists.
  • Object_Move: Moves an object (copy + delete of the source). Use the same source and destination bucket to rename. Overwrites the destination if it exists.
  • Object_Exists: Efficiently checks for an object's existence via metadata.
  • Object_GetMetadata: Retrieves an object's full metadata (size, content type, hashes, generation, storage class, timestamps) without downloading its content, including the object's custom key-value metadata in the CustomMetadata output. Returns Exists = False if the object is not found, leaving the Metadata record empty. CustomMetadata new in v1.5.0.
  • Object_UpdateMetadata: Updates an object's metadata without re-uploading its content: ContentType, ContentEncoding, ContentDisposition, CacheControl, and custom key-value metadata. Only the provided fields change — empty inputs leave fields untouched, and a metadata entry with an empty Value removes that key. Concurrent updates are detected and fail cleanly instead of overwriting each other. New in v1.5.0.
  • Object_GetSignedUrl: Generates a temporary signed URL (V4) for direct-to-browser access. The Operation input selects what the URL permits: Download (GET), Upload (PUT), or Delete (DELETE). For uploads, the optional ContentType input locks the URL to an exact Content-Type (part of the signature). Expiration accepts 1 minute to 7 days (the V4 signing maximum). ContentType new in v1.4.0.

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_Exists: Checks whether a bucket exists and is accessible to the service account, without listing its contents. New in v1.4.0.
  • Bucket_Delete: Deletes an empty bucket.

Structures

StructureDescription
GCS_ObjectRepresents a file in a list result (Name, Size, ContentType, Updated).
GCS_PrefixA folder-style entry returned by Object_List when Delimiter is set — a common prefix (e.g., images/2026/) shared by the objects grouped under it. New in v1.4.0.
GCS_MetadataEntryA single custom metadata key-value pair (Key, Value) stored with an object. Used by Object_Upload and Object_UpdateMetadata, and returned by Object_GetMetadata. In updates, an empty Value removes the key. New in v1.5.0.
GCS_BucketRepresents a bucket (Name, Location, StorageClass, Created).
GCS_ObjectMetadataThe complete metadata for a single object, returned by Object_GetMetadata: Name, Bucket, Size, ContentType, ContentEncoding, ContentDisposition, CacheControl, MD5Hash, Crc32c, ETag, Generation, Metageneration, StorageClass, MediaLink, TimeCreated, Updated.

Best Practices

  • Large Files: For files over 100 MB, use the Object_GetSignedUrl action to allow users to download directly from Google, reducing load on your OutSystems server.
  • Large Buckets: When listing buckets with many objects, set MaxResults and page through results with NextPageToken instead of fetching everything at once.
  • Folder Browsing: Combine Prefix with Delimiter = "/" to build a file-explorer UI: PrefixList gives the subfolders, ObjectList the files at that level.
  • Tag your uploads: Pass Metadata on Object_Upload (user id, tenant, document type) so files stay traceable without a database lookup — and use Object_UpdateMetadata to retag or fix content types later without re-uploading.
  • Folder cleanup: Use Object_DeleteByPrefix to remove a whole "folder" in one action instead of listing and deleting object by object in application logic.
  • Secure Uploads: When generating an Upload signed URL, pass the expected ContentType so the URL only accepts that file type.
  • Pre-flight checks: Use Object_GetMetadata before a download to read an object's size and content type up front (e.g., to enforce size limits or set the right MIME handling) without transferring the file.
  • Server-side moves: Use Object_Copy / Object_Move to relocate or rename files without downloading and re-uploading them — the data never passes through your OutSystems server.

1.4.0

Google Cloud Storage Connector v1.4.0

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
  • Structures
  • Best Practices

Features

  • Full Object Lifecycle: Upload, Download, Delete, List, Copy, and Move objects.
  • Pagination & Folder Navigation: List huge buckets page by page, or browse them like a directory tree using delimiter-based "folders".
  • Object Metadata: Inspect a file's size, hashes, versioning, and timestamps without downloading it.
  • Bucket Management: Programmatically create, delete, list, and check the existence of 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), optionally locked to a specific Content-Type.
  • Actionable Errors: Clear, developer-friendly error messages (missing bucket vs missing object, required IAM role hints, credential guidance) instead of raw API errors.
  • High Performance: Built on the official Google Cloud .NET SDK, with connection reuse across requests.
  • Fully Tested: Every action is covered by an automated test suite that runs on every change to the connector.

Prerequisites

  • An active Google Cloud Project.
  • A Service Account with the following roles:
    • Storage Object Admin (for file operations)
    • Storage Admin (if managing buckets)
Note: Signed URLs are generated locally with the service account's private key, so the Service Account Token Creator role is not required.

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.

ParameterSource in JSONDescription
ProjectIdproject_idYour unique Google Cloud Project ID.
ClientEmailclient_emailThe service account email address.
PrivateKeyprivate_keyThe full private key string (including BEGIN and END headers). JSON-escaped newlines are handled automatically.
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/), pagination via MaxResults / PageToken / NextPageToken, and folder-style navigation: set Delimiter to / to get the "folders" under the prefix in PrefixList instead of every nested object. New in v1.4.0.
  • Object_Delete: Permanently deletes an object from a bucket.
  • Object_Copy: Copies an object to another location, within the same bucket or across buckets, without downloading its content. Overwrites the destination if it exists.
  • Object_Move: Moves an object (copy + delete of the source). Use the same source and destination bucket to rename. Overwrites the destination if it exists.
  • Object_Exists: Efficiently checks for an object's existence via metadata.
  • Object_GetMetadata: Retrieves an object's full metadata (size, content type, hashes, generation, storage class, timestamps) without downloading its content. Returns Exists = False if the object is not found, leaving the Metadata record empty.
  • Object_GetSignedUrl: Generates a temporary signed URL (V4) for direct-to-browser access. The Operation input selects what the URL permits: Download (GET), Upload (PUT), or Delete (DELETE). For uploads, the optional ContentType input locks the URL to an exact Content-Type (part of the signature). Expiration accepts 1 minute to 7 days (the V4 signing maximum). ContentType new in v1.4.0.

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_Exists: Checks whether a bucket exists and is accessible to the service account, without listing its contents. New in v1.4.0.
  • Bucket_Delete: Deletes an empty bucket.

Structures

StructureDescription
GCS_ObjectRepresents a file in a list result (Name, Size, ContentType, Updated).
GCS_PrefixA folder-style entry returned by Object_List when Delimiter is set — a common prefix (e.g., images/2026/) shared by the objects grouped under it. New in v1.4.0.
GCS_BucketRepresents a bucket (Name, Location, StorageClass, Created).
GCS_ObjectMetadataThe complete metadata for a single object, returned by Object_GetMetadata: Name, Bucket, Size, ContentType, ContentEncoding, ContentDisposition, CacheControl, MD5Hash, Crc32c, ETag, Generation, Metageneration, StorageClass, MediaLink, TimeCreated, Updated.

Best Practices

  • Large Files: For files over 100 MB, use the Object_GetSignedUrl action to allow users to download directly from Google, reducing load on your OutSystems server.
  • Large Buckets: When listing buckets with many objects, set MaxResults and page through results with NextPageToken instead of fetching everything at once.
  • Folder Browsing: Combine Prefix with Delimiter = "/" to build a file-explorer UI: PrefixList gives the subfolders, ObjectList the files at that level.
  • Secure Uploads: When generating an Upload signed URL, pass the expected ContentType so the URL only accepts that file type.
  • Pre-flight checks: Use Object_GetMetadata before a download to read an object's size and content type up front (e.g., to enforce size limits or set the right MIME handling) without transferring the file.
  • Server-side moves: Use Object_Copy / Object_Move to relocate or rename files without downloading and re-uploading them — the data never passes through your OutSystems server.

1.3.2

Google Cloud Storage Connector v1.4.0

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
  • Structures
  • Best Practices

Features

  • Full Object Lifecycle: Upload, Download, Delete, List, Copy, and Move objects.
  • Pagination & Folder Navigation: List huge buckets page by page, or browse them like a directory tree using delimiter-based "folders".
  • Object Metadata: Inspect a file's size, hashes, versioning, and timestamps without downloading it.
  • Bucket Management: Programmatically create, delete, list, and check the existence of 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), optionally locked to a specific Content-Type.
  • Actionable Errors: Clear, developer-friendly error messages (missing bucket vs missing object, required IAM role hints, credential guidance) instead of raw API errors.
  • High Performance: Built on the official Google Cloud .NET SDK, with connection reuse across requests.
  • Fully Tested: Every action is covered by an automated test suite that runs on every change to the connector.

Prerequisites

  • An active Google Cloud Project.
  • A Service Account with the following roles:
    • Storage Object Admin (for file operations)
    • Storage Admin (if managing buckets)
Note: Signed URLs are generated locally with the service account's private key, so the Service Account Token Creator role is not required.

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.

ParameterSource in JSONDescription
ProjectIdproject_idYour unique Google Cloud Project ID.
ClientEmailclient_emailThe service account email address.
PrivateKeyprivate_keyThe full private key string (including BEGIN and END headers). JSON-escaped newlines are handled automatically.
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/), pagination via MaxResults / PageToken / NextPageToken, and folder-style navigation: set Delimiter to / to get the "folders" under the prefix in PrefixList instead of every nested object. New in v1.4.0.
  • Object_Delete: Permanently deletes an object from a bucket.
  • Object_Copy: Copies an object to another location, within the same bucket or across buckets, without downloading its content. Overwrites the destination if it exists.
  • Object_Move: Moves an object (copy + delete of the source). Use the same source and destination bucket to rename. Overwrites the destination if it exists.
  • Object_Exists: Efficiently checks for an object's existence via metadata.
  • Object_GetMetadata: Retrieves an object's full metadata (size, content type, hashes, generation, storage class, timestamps) without downloading its content. Returns Exists = False if the object is not found, leaving the Metadata record empty.
  • Object_GetSignedUrl: Generates a temporary signed URL (V4) for direct-to-browser access. The Operation input selects what the URL permits: Download (GET), Upload (PUT), or Delete (DELETE). For uploads, the optional ContentType input locks the URL to an exact Content-Type (part of the signature). Expiration accepts 1 minute to 7 days (the V4 signing maximum). ContentType new in v1.4.0.

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_Exists: Checks whether a bucket exists and is accessible to the service account, without listing its contents. New in v1.4.0.
  • Bucket_Delete: Deletes an empty bucket.

Structures

StructureDescription
GCS_ObjectRepresents a file in a list result (Name, Size, ContentType, Updated).
GCS_PrefixA folder-style entry returned by Object_List when Delimiter is set — a common prefix (e.g., images/2026/) shared by the objects grouped under it. New in v1.4.0.
GCS_BucketRepresents a bucket (Name, Location, StorageClass, Created).
GCS_ObjectMetadataThe complete metadata for a single object, returned by Object_GetMetadata: Name, Bucket, Size, ContentType, ContentEncoding, ContentDisposition, CacheControl, MD5Hash, Crc32c, ETag, Generation, Metageneration, StorageClass, MediaLink, TimeCreated, Updated.

Best Practices

  • Large Files: For files over 100 MB, use the Object_GetSignedUrl action to allow users to download directly from Google, reducing load on your OutSystems server.
  • Large Buckets: When listing buckets with many objects, set MaxResults and page through results with NextPageToken instead of fetching everything at once.
  • Folder Browsing: Combine Prefix with Delimiter = "/" to build a file-explorer UI: PrefixList gives the subfolders, ObjectList the files at that level.
  • Secure Uploads: When generating an Upload signed URL, pass the expected ContentType so the URL only accepts that file type.
  • Pre-flight checks: Use Object_GetMetadata before a download to read an object's size and content type up front (e.g., to enforce size limits or set the right MIME handling) without transferring the file.
  • Server-side moves: Use Object_Copy / Object_Move to relocate or rename files without downloading and re-uploading them — the data never passes through your OutSystems server.

1.3.1

Google Cloud Storage Connector v1.3.1

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
  • Structures
  • Best Practices

Features

  • Full Object Lifecycle: Upload, Download, Delete, List, Copy, and Move objects.
  • Object Metadata: Inspect a file's size, hashes, versioning, and timestamps without downloading it.
  • 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.

Prerequisites

  • An active Google Cloud Project.
  • 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.

ParameterSource in JSONDescription
ProjectIdproject_idYour unique Google Cloud Project ID.
ClientEmailclient_emailThe service account email address.
PrivateKeyprivate_keyThe 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_Delete: Permanently deletes an object from a bucket.
  • Object_Copy: Copies an object to another location, within the same bucket or across buckets, without downloading its content. Overwrites the destination if it exists.
  • Object_Move: Moves an object (copy + delete of the source). Use the same source and destination bucket to rename. Overwrites the destination if it exists.
  • Object_Exists: Efficiently checks for an object's existence via metadata.
  • Object_GetMetadata: Retrieves an object's full metadata (size, content type, hashes, generation, storage class, timestamps) without downloading its content. Returns Exists = False if the object is not found, leaving the Metadata record empty.
  • Object_GetSignedUrl: Generates a temporary signed URL (V4) for direct-to-browser access. The Operation input selects what the URL permits: Download (GET), Upload (PUT), or Delete (DELETE).

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.

Structures

StructureDescription
GCS_ObjectRepresents a file in a list result (Name, Size, ContentType, Updated).
GCS_BucketRepresents a bucket (Name, Location, StorageClass, Created).
GCS_ObjectMetadataThe complete metadata for a single object, returned by Object_GetMetadata: Name, Bucket, Size, ContentType, ContentEncoding, ContentDisposition, CacheControl, MD5Hash, Crc32c, ETag, Generation, Metageneration, StorageClass, MediaLink, TimeCreated, Updated.

Best Practices

  • Large Files: For files over 100 MB, use the Object_GetSignedUrl action to allow users to download directly from Google, reducing load on your OutSystems server.
  • Pre-flight checks: Use Object_GetMetadata before a download to read an object's size and content type up front (e.g., to enforce size limits or set the right MIME handling) without transferring the file.
  • Server-side moves: Use Object_Copy / Object_Move to relocate or rename files without downloading and re-uploading them — the data never passes through your OutSystems server.

1.2.1

Google Cloud Storage Connector v1.2.1

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
  • Structures
  • Best Practices

Features

  • Full Object Lifecycle: Upload, Download, Delete, List, Copy, and Move objects.
  • Object Metadata: Inspect a file's size, hashes, versioning, and timestamps without downloading it.
  • 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.

Prerequisites

  • An active Google Cloud Project.
  • 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.

ParameterSource in JSONDescription
ProjectIdproject_idYour unique Google Cloud Project ID.
ClientEmailclient_emailThe service account email address.
PrivateKeyprivate_keyThe 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_Delete: Permanently deletes an object from a bucket.
  • Object_Copy: Copies an object to another location, within the same bucket or across buckets, without downloading its content. Overwrites the destination if it exists.
  • Object_Move: Moves an object (copy + delete of the source). Use the same source and destination bucket to rename. Overwrites the destination if it exists.
  • Object_Exists: Efficiently checks for an object's existence via metadata.
  • Object_GetMetadata: Retrieves an object's full metadata (size, content type, hashes, generation, storage class, timestamps) without downloading its content. Returns Exists = False if the object is not found, leaving the Metadata record empty.
  • Object_GetSignedUrl: Generates a temporary signed URL (V4) for direct-to-browser access. The Operation input selects what the URL permits: Download (GET), Upload (PUT), or Delete (DELETE).

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.

Structures

StructureDescription
GCS_ObjectRepresents a file in a list result (Name, Size, ContentType, Updated).
GCS_BucketRepresents a bucket (Name, Location, StorageClass, Created).
GCS_ObjectMetadataThe complete metadata for a single object, returned by Object_GetMetadata: Name, Bucket, Size, ContentType, ContentEncoding, ContentDisposition, CacheControl, MD5Hash, Crc32c, ETag, Generation, Metageneration, StorageClass, MediaLink, TimeCreated, Updated.

Best Practices

  • Large Files: For files over 100 MB, use the Object_GetSignedUrl action to allow users to download directly from Google, reducing load on your OutSystems server.
  • Pre-flight checks: Use Object_GetMetadata before a download to read an object's size and content type up front (e.g., to enforce size limits or set the right MIME handling) without transferring the file.
  • Server-side moves: Use Object_Copy / Object_Move to relocate or rename files without downloading and re-uploading them — the data never passes through your OutSystems server.

1.2.0

Google Cloud Storage Connector v1.2.0

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
  • Structures
  • Best Practices

Features

  • Full Object Lifecycle: Upload, Download, Delete, List, Copy, and Move objects.
  • Object Metadata: Inspect a file's size, hashes, versioning, and timestamps without downloading it.
  • 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.

Prerequisites

  • An active Google Cloud Project.
  • 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.

ParameterSource in JSONDescription
ProjectIdproject_idYour unique Google Cloud Project ID.
ClientEmailclient_emailThe service account email address.
PrivateKeyprivate_keyThe 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_Delete: Permanently deletes an object from a bucket.
  • Object_Copy: Copies an object to another location, within the same bucket or across buckets, without downloading its content. Overwrites the destination if it exists.
  • Object_Move: Moves an object (copy + delete of the source). Use the same source and destination bucket to rename. Overwrites the destination if it exists.
  • Object_Exists: Efficiently checks for an object's existence via metadata.
  • Object_GetMetadata: Retrieves an object's full metadata (size, content type, hashes, generation, storage class, timestamps) without downloading its content. Returns Exists = False if the object is not found, leaving the Metadata record empty.
  • Object_GetSignedUrl: Generates a temporary signed URL (V4) for direct-to-browser access. The Operation input selects what the URL permits: Download (GET), Upload (PUT), or Delete (DELETE).

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.

Structures

StructureDescription
GCS_ObjectRepresents a file in a list result (Name, Size, ContentType, Updated).
GCS_BucketRepresents a bucket (Name, Location, StorageClass, Created).
GCS_ObjectMetadataThe complete metadata for a single object, returned by Object_GetMetadata: Name, Bucket, Size, ContentType, ContentEncoding, ContentDisposition, CacheControl, MD5Hash, Crc32c, ETag, Generation, Metageneration, StorageClass, MediaLink, TimeCreated, Updated.

Best Practices

  • Large Files: For files over 100 MB, use the Object_GetSignedUrl action to allow users to download directly from Google, reducing load on your OutSystems server.
  • Pre-flight checks: Use Object_GetMetadata before a download to read an object's size and content type up front (e.g., to enforce size limits or set the right MIME handling) without transferring the file.
  • Server-side moves: Use Object_Copy / Object_Move to relocate or rename files without downloading and re-uploading them — the data never passes through your OutSystems server.

1.1.1

Google Cloud Storage Connector v1.1.1

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
  • Structures
  • Best Practices

Features

  • Full Object Lifecycle: Upload, Download, Delete, and List objects.
  • Object Metadata: Inspect a file's size, hashes, versioning, and timestamps without downloading it.
  • 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.

Prerequisites

  • An active Google Cloud Project.
  • 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.

ParameterSource in JSONDescription
ProjectIdproject_idYour unique Google Cloud Project ID.
ClientEmailclient_emailThe service account email address.
PrivateKeyprivate_keyThe 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_Delete: Permanently deletes an object from a bucket.
  • Object_Exists: Efficiently checks for an object's existence via metadata.
  • Object_GetMetadata: Retrieves an object's full metadata (size, content type, hashes, generation, storage class, timestamps) without downloading its content. Returns Exists = False if the object is not found, leaving the Metadata record empty.
  • Object_GetSignedUrl: Generates a temporary GET/PUT/DELETE 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.

Structures

StructureDescription
GCS_ObjectRepresents a file in a list result (Name, Size, ContentType, Updated).
GCS_BucketRepresents a bucket (Name, Location, StorageClass, Created).
GCS_ObjectMetadataThe complete metadata for a single object, returned by Object_GetMetadata: Name, Bucket, Size, ContentType, ContentEncoding, ContentDisposition, CacheControl, MD5Hash, Crc32c, ETag, Generation, Metageneration, StorageClass, MediaLink, TimeCreated, Updated.

Best Practices

  • Large Files: For files over 100 MB, use the Object_GetSignedUrl action to allow users to download directly from Google, reducing load on your OutSystems server.
  • Pre-flight checks: Use Object_GetMetadata before a download to read an object's size and content type up front (e.g., to enforce size limits or set the right MIME handling) without transferring the file.

Implementation Details (Internal)
Language: C# (.NET Framework 4.8) · Extension Tool: OutSystems Integration Studio · Dependencies: Google.Cloud.Storage.V1, Google.Apis.Auth


1.1.0

Google Cloud Storage Connector v1.1.0

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
  • Structures
  • Best Practices

Features

  • Full Object Lifecycle: Upload, Download, Delete, and List objects.
  • Object Metadata: Inspect a file's size, hashes, versioning, and timestamps without downloading it.
  • 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.

Prerequisites

  • An active Google Cloud Project.
  • 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.

ParameterSource in JSONDescription
ProjectIdproject_idYour unique Google Cloud Project ID.
ClientEmailclient_emailThe service account email address.
PrivateKeyprivate_keyThe 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_Delete: Permanently deletes an object from a bucket.
  • Object_Exists: Efficiently checks for an object's existence via metadata.
  • Object_GetMetadata: Retrieves an object's full metadata (size, content type, hashes, generation, storage class, timestamps) without downloading its content. Returns Exists = False if the object is not found, leaving the Metadata record empty.
  • 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.

Structures

StructureDescription
GCS_ObjectRepresents a file in a list result (Name, Size, ContentType, Updated).
GCS_BucketRepresents a bucket (Name, Location, StorageClass, Created).
GCS_ObjectMetadataThe complete metadata for a single object, returned by Object_GetMetadata: Name, Bucket, Size, ContentType, ContentEncoding, ContentDisposition, CacheControl, MD5Hash, Crc32c, ETag, Generation, Metageneration, StorageClass, MediaLink, TimeCreated, Updated.

Best Practices

  • Large Files: For files over 100 MB, use the Object_GetSignedUrl action to allow users to download directly from Google, reducing load on your OutSystems server.
  • Pre-flight checks: Use Object_GetMetadata before a download to read an object's size and content type up front (e.g., to enforce size limits or set the right MIME handling) without transferring the file.

Implementation Details (Internal)
Language: C# (.NET Framework 4.8) · Extension Tool: OutSystems Integration Studio · Dependencies: Google.Cloud.Storage.V1, Google.Apis.Auth


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

  • 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