Skip to content

Google Cloud Storage

The Google Cloud Storage modules enable you to monitor and publish messages or create, update, retrieve, and delete topics and subscriptions in your Google Cloud Storage.

Getting Started with Google Cloud Storage

Prerequisites

  • A Google account

  • A project created in the Google Cloud Console

  • Billing enabled for the Google project

In order to use Google Cloud Storage with Ibexa Connect, it is necessary to have a Google account. If you do not have one, you can create a Google Cloud Storage account at accounts.google.com.

Note

The module dialog fields that are displayed in bold (in the Ibexa Connect scenario, not in this documentation article) are mandatory!

Connecting Google Cloud Storage to Ibexa Connect

To connect your Google Cloud Storage account to Ibexa Connect, you will need to obtain the project's Client ID and Client Secret in the Google Cloud Console.

  1. Sign in to Google Cloud console using your Google credentials.

  2. Click Select a project > NEW PROJECT. Enter the desired project name, and click the CREATE button.

    61f26f540fc73.gif

  3. Select the project you have created.

    61f26f58533ba.gif

  4. Go to APIs & Services > Library.

    61f26f5b27f1a.gif

  5. Search and enable the following required APIs:

    • Cloud Resource Manager API

    The desired service option should display as you type. Click on the API/service you want to connect to Ibexa Connect.

    61f26f5e01d32.gif

  6. Click the ENABLE button to enable the selected API.

  7. Navigate to APIs & Services > OAuth consent screen.

    61f26f606a4df.gif

  8. Choose the External option, and click the CREATE button.

    Note

  9. Fill in the required fields as follows, and then click the Save and Continue button:

    App name

    Enter the name of the app asking for consent.

    For example Ibexa Connect.

    Authorized domains

    make.com

    integromat.com

  10. You don't have to set anything in the Scopes and Optional info sections. Click Save and Continue.

  11. Navigate to Credentials. Click on the +CREATE CREDENTIALS, and select the OAuth Client ID option.

    61f26f63118aa.gif

  12. Fill in the required fields as follows, and then click the CREATE button to create the application:

    Application type Web application
    Name e.g. Ibexa Connect
    Authorized redirect URIs https://www.integromat.com/oauth/cb/google-custom

    61f26f65799c3.gif

  13. A dialog containing the app's Client ID and Client Secret is displayed. Save them in a safe place for later use.

    61f26f68840d8.png

  14. Go to Ibexa Connect, open the Create a connection dialog of the desired Google Cloud Storage module, enter the Client ID and Client Secret from step 13 above in the respective fields, and click Continue.

    61f26f698a474.png

  15. Sign in with your Google account.

  16. The This app isn't verified window may appear.

    Note

  17. Click on the Advanced link and then on the Go to Ibexa Connect (unsafe) link to allow access using your custom OAuth client.

    61f26f6aba915.gif

  18. Click Allow twice to grant Ibexa Connect permission.

    61f26f6cea7cf.gif

  19. Click the Allow button to confirm your choices.

    61f26f6e6f98d.png

    The connection to your Google Cloud Storage has been established.

    Note

Buckets

Create a Bucket

Creates a new bucket.

Name

Enter the name of the bucket. The name can only contain lowercase letters (see naming requirements).

ACL

Add access control on the bucket to specify who has access to your data. Please find the description of ACL field resources in the BucketAccessControls documentation.

Labels

Specify key-value metadata pairs that allow you to group your buckets along with other Google Cloud resources such as virtual machine instances and persistent disks. For example, you can use labels to create a team key that has values alpha, beta, and delta, and apply the team:alpha, team:beta, and team:delta labels to different buckets in order to indicate which team is associated with those buckets. You can create a maximum of 64 labels.

Predefined ACL

Select a predefined set of access controls for this bucket.

  • authenticatedRead: Project team owners get OWNER access, and allAuthenticatedUsers get READER access.

  • private: Project team owners get OWNER access.

  • projectPrivate: Project team members get access according to their roles.

  • publicRead: Project team owners get OWNER access, and allUsers get READER access.

  • publicReadWrite: Project team owners get OWNER access, and allUsers get WRITER access.

Predefined Default Object ACL

Select a predefined set of default object access controls for this bucket.

  • authenticatedRead: Object owner gets OWNER access, and allAuthenticatedUsers get READER access.

  • bucketOwnerFullControl: Object owner gets OWNER access, and project team owners get OWNER access.

  • bucketOwnerRead: Object owner gets OWNER access, and project team owners get READER access.

  • private: Object owner gets OWNER access.

  • projectPrivate: Object owner gets OWNER access, and project team members get access according to their roles.

  • publicRead: Object owner gets OWNER access, and allUsers get READER access.

Projection

Select the properties you want to return.

  • full: Include all properties.

  • noAcl: Omit owner, acl, and defaultObjectAcl properties.

User Project

Enter the project ID of the project to be billed for this request if the target bucket is a requester-pays bucket.

Requester Pays

Select the Yes option to enable Requester Pays for this bucket.

CORS

Specify the bucket's Cross-Origin Resource Sharing (CORS) configuration.

Default Event Based Hold

Select the Yes option to automatically apply an eventBasedHold to new objects added to the bucket.

For more information about this module's fields, please refer to the Google Cloud Storage Documentation.

Get a Bucket

Retrieves bucket details.

Project ID Select the project or map the ID of the project that contains the bucket you want to retrieve details for.
Bucket Add access control on the bucket to specify who has access to your data. Please find the description of ACL field resources in the BucketAccessControls documentation.

For more information about this module's fields, please refer to the Google Cloud Storage Documentation.

List Buckets

Retrieves a list of buckets for a specified project.

Project ID Select the project or map the ID of the project you want to list buckets from.
Max Results Set the maximum number of buckets Ibexa Connect will return during one execution cycle.
Prefix Enter the name prefix used to filter returned buckets.

Update a Bucket

Updates an existing bucket.

Project ID Select the project or map the ID of the project you want to update a bucket for.
Bucket Enter the name of the bucket you want to update.

Please find the descriptions of the fields in the Create a Bucket section above.

Delete an Empty Bucket

Permanently deletes an empty bucket.

Project ID Select the project or map the ID of the project you want to delete a bucket from.
Bucket Enter the name of the bucket you want to delete.
If Metageneration Match Fill in these fields to delete the bucket if its metageneration matches the entered value.
If Metageneration Not Match Fill in these fields to delete the bucket if its metageneration does not match the entered value.
User Project Enter the ID of the project to be billed for this request. Required for requester-pays buckets.

Objects

Watch Objects

Triggers when an object is created, updated, copied, rewritten, or archived, or when an object's metadata are updated in the specified bucket.

Webhook name Enter the webhook name. E.g., "Object archived".
Project ID Select the project or map the ID of the project you want to watch the object for.
Bucket Enter the name of the bucket where you want to watch objects.
Topic Fill in these fields to delete the bucket if its metageneration matches the entered value.
Event Types Select events that will trigger the Watch Objects module.

Upload an Object

Stores a new object.

Note

The uploaded object replaces any existing object with the same name.

Project ID

Select the project or map the ID of the project that contains the bucket where you want to store a new object.

Bucket

Enter the name of the bucket where you want to store a new object.

Source File

Map the file you want to upload from the previous module (e.g., HTTP > Get a File or Google Drive > Download a File), or enter the file name and file data manually.

The maximum size is 5 TB.

Content Type

Specify Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream.

Upload Type

Select the type of upload:

  • Simple upload. Upload the object data only, without any metadata.

  • Resumable upload. Upload the object data in a resumable fashion, using a series of at least two requests where the first request includes the metadata.

Merge Objects

Composes a new object from a list of existing objects.

Project ID Select the project or map the ID of the project that contains the bucket with objects you want to merge.
Bucket Enter the name of the bucket that contains objects you want to merge.
Source Objects Select the objects you want to merge into the destination object.
Destination Object Enter the name of the new object. For information about how to URL encode object names to be path safe, see Encoding URI path parts.

Get an Object

Retrieves object details.

Project ID Select the project or map the ID of the project that contains the bucket with the object you want to retrieve details for.
Bucket Enter the name of the bucket that contains the object you want to retrieve details for.
Object Enter the name of the object you want to retrieve details for.
Download the File Enable this option to retrieve the object's data also.
Generation If present, select a specific revision of this object (as opposed to the latest version, which is the default).

Search Objects

Retrieves objects matching specified criteria.

Project ID Select the project or map the ID of the project that contains the bucket where you want to search for objects.
Bucket Enter the name of the bucket you want to search for objects.
Limit Set the maximum number of objects Ibexa Connect will return during one execution cycle.

For more information about this module's fields, please refer to the Google Cloud Storage Documentation.

Clone an Object

Copies a source object to a destination object.

Project ID Select the project or map the ID of the project that contains the bucket with the object you want to clone.
Source Bucket Enter the name of the bucket that contains the object you want to clone.
Source Object Enter the name of the source object you want to clone.
Destination Bucket Enter the name of the bucket in which to store the new object.
Destination Object Enter the name of the new object. This overrides the object metadata's name value, if any.
Metadata Add user-provided metadata as key-value pairs.

Update an Object

Updates metadata of the existing object.

Project ID Select the project or map the ID of the project that contains the bucket with the object you want to update.
Bucket Enter the name of the bucket that contains the object you want to update.
Object Enter the name of the object you want to update.
Acl Set access controls on the object, containing one or more objectAccessControls Resources.
Metadata Add user-provided metadata to update as key-value pairs.

Delete an Object

Permanently deletes an object.

Project ID Select the project or map the ID of the project you want to delete the object from.
Bucket Enter the name of the bucket in which the object you want to delete resides.
Object Enter the name of the object you want to delete.
Generation If specified, permanently delete a specific revision of this object (as opposed to the latest version, which is the default).

Bucket ACLs

Create a Bucket ACL

Creates a new ACL entry on the specified bucket.

Project ID

Select the project or map the ID of the project for which you want to create a bucket ACL.

Bucket

Enter the name of the bucket.

Entity

The entity holding the permission, in one of the following forms:

  • user-email

  • group-groupId

  • group-email

  • domain-domain

  • project-team-projectId

  • allUsers

  • allAuthenticatedUsers

Examples:

Role

Select the access permission for the entity.

User Project

Enter the ID of the project to be billed for this request. Required for requester-pays buckets.

Get a Bucket ACL

Returns the ACL entry for the specified entity on the specified bucket.

Project ID

Select the project or map the ID of the project for which you want to create a bucket ACL.

Bucket

Enter the name of the bucket.

Entity

The entity holding the permission, in one of the following forms:

  • user-email

  • group-groupId

  • group-email

  • domain-domain

  • project-team-projectId

  • allUsers

  • allAuthenticatedUsers

Examples:

User Project

Enter the ID of the project to be billed for this request. Required for requester-pays buckets.

List Bucket ACLs

Retrieves ACL entries on a specified bucket.

Project ID Select the project or map the ID of the project you want to list bucket ACLs from.
Bucket Enter the name of the bucket.
Limit Set the maximum number of ACLs Ibexa Connect will return during one execution cycle.
User Project Enter the ID of the project to be billed for this request to filter results. Required for requester-pays buckets.

Update a Bucket ACL

Updates an ACL entry on the specified bucket.

Project ID Select the project or map the ID of the project you want to update.
Bucket Enter the name of the bucket.
Acl Set access controls on the object, containing one or more objectAccessControls Resources.
Metadata Add user-provided metadata to update as key-value pairs.

Delete a Bucket ACL

Permanently deletes the ACL entry for the specified entity on the specified bucket.

Project ID Select the project or map the ID of the project you want to delete the bucket ACL from.
Bucket Enter the name of the bucket.
Entity The entity holding the permission. Can be user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.
User Project Enter the ID of the project to be billed for this request. Required for requester-pays buckets.

Bucket Default Objects ACLs

Create a Bucket's Default Object ACL

Creates a new default object ACL entry on the specified bucket.

Project ID

Select the project or map the ID of the project where you want to create a default object ACL.

Bucket

Enter the name of the bucket.

Entity

The entity holding the permission, in one of the following forms:

  • user-email

  • group-groupId

  • group-email

  • domain-domain

  • project-team-projectId

  • allUsers

  • allAuthenticatedUsers

Examples:

Role

Select the access permission for the entity.

User Project

Enter the ID of the project to be billed for this request. Required for requester-pays buckets.

Get a Bucket's Default Object ACL

Returns the default object ACL entry for the specified entity on the specified bucket.

Project ID Select the project or map the ID of the project you want to retrieve a default object ACL from.
Bucket Enter the name of the bucket.
Entity The entity holding the permission. Can be user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.
User Project Enter the ID of the project to be billed for this request. Required for requester-pays buckets.

List a Bucket's Default Object ACL

Retrieves default object ACL entries on the specified bucket.

Project ID Select the project or map the ID of the project from which you want to list a default object ACL.
Bucket Enter the name of the bucket.
Limit Set the maximum number of default object ACL entries Ibexa Connect will return during one execution cycle.

Update a Bucket's Default Object ACL

Updates a default object ACL entry on the specified bucket.

Project ID Select the project or map the ID of the project where you want to update a default object ACL.
Bucket Enter the name of the bucket.
Entity The entity holding the permission. Can be user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.
New Role Select the access permission for the entity.
User Project Enter the ID of the project to be billed for this request. Required for requester-pays buckets.

Delete a Bucket's Default Object ACL

Permanently deletes the default object ACL entry for the specified entity on the specified bucket.

Project ID Select the project or map the ID of the project you want to delete the default object ACL from.
Bucket Enter the name of the bucket.
Entity The entity holding the permission. Can be user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.
User Project Enter the ID of the project to be billed for this request. Required for requester-pays buckets.

Object ACLs

Create an Object ACL

Creates a new ACL entry on the specified object.

Project ID

Select the project or map the ID of the project that contains the object you want to create an ACL entry for.

Bucket

Enter the name of the bucket.

Object

Enter the name of the object you want to create an ACL entry for.

Entity

Specify the entity holding the permission, in one of the following forms:

  • user-email

  • group-groupId

  • group-email

  • domain-domain

  • project-team-projectId

  • allUsers

  • allAuthenticatedUsers

Examples:

Role

Select the access permission for the entity.

Get an Object ACL

Retrieves the ACL entry for the specified entity on the specified object.

Project ID Select the project or map the ID of the project that contains the object you want to retrieve an ACL entry for.
Bucket Enter the name of the bucket.
Object Enter the name of the object you want to retrieve an ACL entry for.
Entity The entity holding the permission. Can be user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.
Generation If specified, select a specific revision of this object (as opposed to the latest version, which is the default).
User Project Specify the project to be billed for this request. Required for requester-pays buckets.

List Object ACLs

Retrieves ACL entries on the specified object.

Project ID Select the project or map the ID of the project that contains the object you want to retrieve ACL entries for.
Bucket Enter the name of the bucket.
Object Enter the name of the object you want to retrieve ACL entries for.
Limit Set the maximum number of ACL entries Ibexa Connect will return during one execution cycle.
Generation If specified, select a specific revision of this object (as opposed to the latest version, which is the default).
User Project Specify the project to be billed for this request. Required for requester-pays buckets.

Update an Object ACL

Updates an ACL entry on the specified object.

Project ID Select the project or map the ID of the project that contains the object you want to update an ACL entry for.
Bucket Enter the name of the bucket.
Object Enter the name of the object you want to update an ACL entry for.
Entity Specify the entity holding the permission. Can be user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.
Role Select the access permission for the entity.

Delete an Object ACL

Permanently deletes the ACL entry for the specified entity on the specified object.

Project ID Select the project or map the ID of the project that contains the object you want to delete an ACL entry from.
Bucket Enter the name of the bucket.
Object Enter the name of the object you want to delete an ACL entry from.
Entity Specify the entity holding the permission. Can be user-emailAddress, group-groupId, group-emailAddress, allUsers, or allAuthenticatedUsers.
Generation If specified, select a specific revision of this object (as opposed to the latest version, which is the default).
User Project Specify the project to be billed for this request. Required for requester-pays buckets.

Other

Make an API Call

Allows you to perform a custom API call.

URL

Enter a path relative to https://www.googleapis.com/storage.For example: /v1/b/{bucket_name}.

For the list of available endpoints, refer to the Google Cloud Storage API Reference.

Method

Select the HTTP method you want to use:

GET

to retrieve information for an entry.

POST

to create a new entry.

PUT

to update/replace an existing entry.

PATCH

to make a partial entry update.

DELETE

to delete an entry.

Headers

Enter the desired request headers. You don't have to add authorization headers; we've already added those for you.

Query String

Enter the request query string.

Body

Enter the body content for your API call.

Example of Use - List Buckets

The following API call returns all dashboards in your Cloud Storage:

URL:

/v1/b

Method:

GET

Query String:

Key:

project

Value:

{project_id}

61f26f70a4d89.png

The result can be found in the module's Output under Bundle > Body. old"> Connection

Establish a connection to your Google Cloud Storage.

URL

Enter a path relative to https://www.googleapis.com/storage.For example: /v1/b/{bucket_name}.

For the list of available endpoints, refer to the Google Cloud Storage API Reference.

Method

Select the HTTP method you want to use:

GET

to retrieve information for an entry.

POST

to create a new entry.

PUT

to update/replace an existing entry.

PATCH

to make a partial entry update.

DELETE

to delete an entry.

Headers

Enter the desired request headers. You don't have to add authorization headers; we've already added those for you.

Query String

Enter the request query string.

Body

Enter the body content for your API call.

Example of Use - List Buckets

The following API call returns all dashboards in your Cloud Storage:

URL:

/v1/b

Method:

GET

Query String:

Key:

project

Value:

{project_id}

61f26f70a4d89.png

The result can be found in the module's Output under Bundle > Body.