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.
-
Sign in to Google Cloud console using your Google credentials.
-
Click Select a project > NEW PROJECT. Enter the desired project name, and click the CREATE button.
-
Select the project you have created.
-
Go to APIs & Services > Library.
-
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.
-
Click the ENABLE button to enable the selected API.
-
Navigate to APIs & Services > OAuth consent screen.
-
Choose the External option, and click the CREATE button.
Note
-
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
-
You don't have to set anything in the Scopes and Optional info sections. Click Save and Continue.
-
Navigate to Credentials. Click on the +CREATE CREDENTIALS, and select the OAuth Client ID option.
-
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
-
A dialog containing the app's Client ID and Client Secret is displayed. Save them in a safe place for later use.
-
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.
-
Sign in with your Google account.
-
The This app isn't verified window may appear.
Note
-
Click on the Advanced link and then on the Go to Ibexa Connect (unsafe) link to allow access using your custom OAuth client.
-
Click Allow twice to grant Ibexa Connect permission.
-
Click the Allow button to confirm your choices.
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 |
Predefined ACL |
Select a predefined set of access controls for this bucket.
|
Predefined Default Object ACL |
Select a predefined set of default object access controls for this bucket.
|
Projection |
Select the properties you want to return.
|
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:
|
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:
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:
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:
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:
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 | 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}
The result can be found in the module's Output under Bundle > Body. old"> Connection
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}
The result can be found in the module's Output under Bundle > Body.