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

In order to use Google Cloud Storage with Make, 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 Make scenario, not in this documentation article) are mandatory!

Connecting Google Cloud Storage to Make

To connect your Google Cloud Storage account to Make, 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 Make.

    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

    You will not be charged when selecting this option! For more details, please refer to Google's Exceptions to verification requirements.

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

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

    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 Make, 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

    The app = your OAuth client you have created above.

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

    61f26f6aba915.gif
  18. Click Allow twice to grant Make 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

    To use Google Cloud Storage modules, the billing must be enabled for your project. You can enable a free trial via Storage > Storage > Sign Up For a Free Trial.

    61f26f6f77708.png

Buckets

Creates a new bucket.

Connection

Establish a connection to your Google Cloud Storage.

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.

Retrieves bucket details.

Connection

Establish a connection to your Google Cloud Storage.

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.

Retrieves a list of buckets for a specified project.

Connection

Establish a connection to your Google Cloud Storage.

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 Make will return during one execution cycle.

Prefix

Enter the name prefix used to filter returned buckets.

Updates an existing bucket.

Connection

Establish a connection to your Google Cloud Storage.

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.

Permanently deletes an empty bucket.

Connection

Establish a connection to your Google Cloud Storage.

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

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

Connection

Establish a connection to your Google Cloud Storage.

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.

Stores a new object.

Note

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

Connection

Establish a connection to your Google Cloud Storage.

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.

Composes a new object from a list of existing objects.

Connection

Establish a connection to your Google Cloud Storage.

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.

Retrieves object details.

Connection

Establish a connection to your Google Cloud Storage.

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

Retrieves objects matching specified criteria.

Connection

Establish a connection to your Google Cloud Storage.

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 Make will return during one execution cycle.

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

Copies a source object to a destination object.

Connection

Establish a connection to your Google Cloud Storage.

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.

Updates metadata of the existing object.

Connection

Establish a connection to your Google Cloud Storage.

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.

Permanently deletes an object.

Connection

Establish a connection to your Google Cloud Storage.

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

Creates a new ACL entry on the specified bucket.

Connection

Establish a connection to your Google Cloud Storage.

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:

  • The user liz@example.com would be user-liz@example.com.

  • The group example@googlegroups.com would be group-example@googlegroups.com.

  • To refer to all members of the G Suite for Business domain example.com, the entity would be domain-example.com.

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.

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

Connection

Establish a connection to your Google Cloud Storage.

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:

  • The user liz@example.com would be user-liz@example.com.

  • The group example@googlegroups.com would be group-example@googlegroups.com.

  • To refer to all members of the G Suite for Business domain example.com, the entity would be domain-example.com.

User Project

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

Retrieves ACL entries on a specified bucket.

Connection

Establish a connection to your Google Cloud Storage.

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

Updates an ACL entry on the specified bucket.

Connection

Establish a connection to your Google Cloud Storage.

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.

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

Connection

Establish a connection to your Google Cloud Storage.

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

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

Connection

Establish a connection to your Google Cloud Storage.

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:

  • The user liz@example.com would be user-liz@example.com.

  • The group example@googlegroups.com would be group-example@googlegroups.com.

  • To refer to all members of the G Suite for Business domain example.com, the entity would be domain-example.com.

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.

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

Connection

Establish a connection to your Google Cloud Storage.

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.

Retrieves default object ACL entries on the specified bucket.

Connection

Establish a connection to your Google Cloud Storage.

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 Make will return during one execution cycle.

Updates a default object ACL entry on the specified bucket.

Connection

Establish a connection to your Google Cloud Storage.

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.

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

Connection

Establish a connection to your Google Cloud Storage.

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

Creates a new ACL entry on the specified object.

Connection

Establish a connection to your Google Cloud Storage.

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:

  • The user liz@example.com would be user-liz@example.com.

  • The group example@googlegroups.com would be group-example@googlegroups.com.

  • To refer to all members of the G Suite for Business domain example.com, the entity would be domain-example.com.

Role

Select the access permission for the entity.

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

Connection

Establish a connection to your Google Cloud Storage.

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.

Retrieves ACL entries on the specified object.

Connection

Establish a connection to your Google Cloud Storage.

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

Updates an ACL entry on the specified object.

Connection

Establish a connection to your Google Cloud Storage.

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.

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

Connection

Establish a connection to your Google Cloud Storage.

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

Allows you to perform a custom API call.

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

Note

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.

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.