Invoke GCS Bucket Request Activity

Use this activity to execute Bucket related operations like READ, UPSERT(Combination of INSERT and UPDATE) and DELETE within your Google Cloud Storage project on Google Cloud Storage Platform.

Note:
  • Read is the default operation.

  • There is a default 2 seconds delay between deleting or upserting two buckets.

Operation Activity Icon (Changes with the operation selected)
Read
Upsert
Delete

General

The General tab contains the following fields.

Field Module Property? Visual Diff? Description
Name No Yes The name to be displayed as the label for the activity in the process.
Google CS Connection Yes Yes Shared configuration resource containing the information about the GoogleCS Connection.
Operation No Yes Type of operation for the Invoke GCS Bucket Request activity.

Description

On the Description tab, provide a short description for the activity.

Input

The Input tab displays the input schema of the activity as a tree structure. You must enter information as required for any mandatory fields.

Read Operation

Note: For the Read operation, when working with a large data, specify the VM argument (-Dbw.engine.activity.async.waitTime=600000 <in miliseconds>) for time out to avoid encountering a fault. The activity is timed out after the default time if the VM argument is not specified.
Field Description
Bucket.Name Name of the bucket
metaGenerationMatch An option for bucket metageneration match. If this option is used the request fails if metageneration does not match.
metaGenerationNotMatch An option for bucket metageneration match. If this option is used the request fails if metageneration matches.
userProject An option to define the billing user project. This option is required by buckets with `requester_pays` flag enabled to assign operation costs.

Upsert Operation

Field Description
name Name of the bucket
acl Access controls on the bucket, containing one or more bucketAccessControls Resources. If iamConfiguration.uniformBucketLevelAccess.enabled is set to true, this field is omitted in responses, and requests that specify this field fail with a 400 Bad Request response.
acl.entity

The entity that has the permission for the following fields:

user - email
group - email
domain - domain
project - projectId
allUsers
allAuthenticatedUsers
Note: If entity is user or group then email is mandatory. If entity is domain then domain is mandatory. If entity is project then projectRole and projectId is mandatory. For any other values, it takes default value as 'allAuthenticatedUsers'.
acl.entity.type The type of entity.
acl.entity.domain The domain associated with the entity.
acl.entity.email The email address associated with the entity.
acl.entity.projectRole The projectRole associated with the entity.
acl.entity.projectId

The projectId associated with the entity.

acl.role

The access permission for the entity. Acceptable values are:

OWNER
READER
WRITER
billing The bucket billing configuration.
billing.requesterPays To enable or disable requester pays.
ismetaGenerationMatch An option for bucket metageneration match. If this option is used the request fails if metageneration does not match.
ismetaGenerationNotMatch An option for bucket metageneration match. If this option is used the request fails if metageneration matches.
predefinedAcl An option for specifying the predefined ACL configuration for a bucket.
predefinedDefaultObjectAcl An option for specifying the default ACL configuration for blobs of a bucket.
projection

Set of properties to return. This value has a default of noAcl if the bucket resource does not specify acl or defaultObjectAcl properties when it defaults to full. Acceptable values are:

full: Include all properties
noAcl: Do not include owner, acl, and defaultObjectAcl properties

This option is valid only if the bucket has fine grained(ACL) permissions associated with it. Not to be used with uniform permissions.

userProject An option to define the billing user project. This option is required by buckets with `requester_pays` flag enabled to assign operation costs.
cors The Cross-Origin Resource Sharing (CORS) configuration of the bucket.
cors.maxAgeSeconds The value (in seconds) to return in the Access-Control-Max-Age header used in preflight responses.
cors.method

The list of HTTP methods on which the CORS response headers like "GET", "OPTIONS", "POST", and so on can be included.

Note: "*" is permitted in the list of methods. This means "any method".
cors.responseHeader The list of HTTP headers to give permission for the user-agent to share across domains (other than the simple response headers ).
defaultEventBasedHold To decide whether or not to automatically apply an eventBasedHold to new objects added to the bucket.
iamConfiguration The IAM configuration of the bucket.
iamConfiguration.isUniformBucketLevelAccessEnabled Sets whether uniform bucket-level access is enabled for this bucket. When this is enabled, access to the bucket is configured through IAM, and legacy ACL policies do not work. When this is first enabled, uniformBucketLevelAccess.lockedTime is set by the API automatically. This field can then be disabled until the time specified, after which it becomes immutable and calls to change it fail. If this is enabled, calls to access legacy ACL information fail.
label The bucket labels provided by the user in key or value pairs.
label.key Key for label.
label.value Value for label.
lifecycle The lifecycle configuration of the bucket.
lifecycle.action The action to take.
lifecycle.action.type Type of the action. Currently, "Delete" and "SetStorageClass" are supported. For the type "delete" of lifecycle rules - storage class field is not required to be set.
lifecycle.action.storageClass StorageClass of lifecycle. The valid values are STANDARD, NEARLINE, COLDLINE, ARCHIVE.
lifecycle.condition The condition/s under which the action is taken.
lifecycle.condition.age Age of an object (in days). This condition is fulfilled when an object reaches the specified age.
lifecycle.condition.createdBefore A date in the YYYY-MM-DD format. This condition is fulfilled when an object is created before midnight of the specified date in UTC.
lifecycle.condition.customTimeBefore A date in the YYYY-MM-DD format. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.
lifecycle.condition.daysSinceCustomTime Days since the date set in the customTime metadata for the object. This condition is satisfied when the current date and time is at least the specified number of days after the customTime.
lifecycle.condition.daysSinceNonCurrentTime Relevant only for versioned objects. This condition is fulfilled when an object has been noncurrent for more than the specified number of days.
lifecycle.condition.isLive Relevant only for versioned objects. If the value is true, this condition matches the live version of objects; if the value is false, it matches noncurrent versions of objects.
lifecycle.condition.matchesStorageClass Objects having any of the storage classes specified by this condition are matched. Values include "STANDARD", "NEARLINE", "COLDLINE", "ARCHIVE", "MULTI_REGIONAL", "REGIONAL", and "DURABLE_REDUCED_AVAILABILITY".
lifecycle.condition.nonCurrentTimesBefore Relevant only for versioned objects. A date in the YYYY-MM-DD format. This condition is satisfied for objects that became noncurrent on a date prior to the one specified in this condition.
lifecycle.condition.numberOfNewerVersions Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
location The location of the bucket.
logging The logging configuration of the bucket that defines the destination bucket and a name prefix for the current bucket logs.
logging.logBucket The destination of the bucket where the logs of the current bucket must be placed.
logging.logObjectPrefix A prefix for the log object names. The default prefix is the bucket name.
retentionPolicy The policy that defines the minimum age an object in the bucket must reach before it can be deleted or replaced.
retentionPolicy.retentionPeriod The period of time (in seconds) for which the objects in the bucket must be retained and cannot be deleted, replaced, or made noncurrent. The value must be greater than 0 seconds and less than 3,155,760,000 seconds.
storageClass The default storage class of a bucket.
versioning The versioning configuration of the bucket.
versioning.isVersioningEnabled Sets whether versioning be enabled for the bucket. Versioning is fully enabled when set to true.
website The website configuration of the bucket, decides the behavior of the bucket contents when accessed as website.
website.mainPageSuffix If the requested object path is missing, the service ensures the path has a trailing '/'. Append this suffix to retrieve the resulting object. This creates index.html objects to represent directory pages.
website.notFoundPage If the requested object path is missing, and any mainPageSuffix object is missing, if applicable, the service returns the named object from this bucket as the content for a 404 Not Found result.

Delete Operation

Field Description
Name Name of the bucket
metaGenerationMatch An option for bucket metageneration match. If this option is used the request fails if metageneration does not match.
metaGenerationNotMatch An option for bucket metageneration match. If this option is used the request fails if metageneration matches.
userProject An option for billing user project of the bucket. This option is only used by the buckets with 'requester_pays' flag.
requestedPolicyVersion Policy version for IAM policy.

Output

The Output tab shows the response of the invoked service. The Output tab displays the output schema of the activity as a tree structure. The output is read-only.

Read Operation

Field Description
name Name of the bucket.
acl Access controls on the bucket, containing one or more bucketAccessControls Resources. If iamConfiguration.uniformBucketLevelAccess.enabled is set to true, this field is omitted in responses, and requests that specify this field fail with a 400 Bad Request response.
acl.entity The type of entity.
acl.entity.type The type of entity.
acl.role

The access permission for the entity. Acceptable values are:

OWNER
READER
WRITER
acl.etag Entity tag for the bucket.
acl.id The id of the bucket.
billing The billing configuration of the bucket.
requesterPays To enable or disable requester pays.
cors The Cross-Origin Resource Sharing (CORS) configuration of the bucket.
cors.maxAgeSeconds The value (in seconds) to return in the Access-Control-Max-Age header used in preflight responses.
cors.method

The list of HTTP methods on which the CORS response headers like "GET", "OPTIONS", "POST", and so on can be included.

Note: "*" is permitted in the list of methods. This means "any method".
cors.responseHeader The list of HTTP headers to give permission for the user-agent to share across domains (other than the simple response headers ).
cors.origin

The list of Origins that can receive CORS response headers.

Note: "*" is permitted in the list of origins. This means "any Origin".
defaultAcl Access controls on the bucket, containing one or more bucketAccessControls Resources. If iamConfiguration.uniformBucketLevelAccess.enabled is set to true, this field is omitted in responses, and requests that specify this field fail with a 400 Bad Request response.
defaultAcl.entity

The entity that has the permission for the following fields:

user - email
group - groupId
group - email
domain - domain
project - projectId
allUsers
allAuthenticatedUsers
Note: If entity is user or group then email is mandatory. If entity is domain then domain is mandatory. If entity is project then projectRole and projectId is mandatory. For any other values, it takes default value as 'allAuthenticatedUsers'.
defaultAcl.entity.type The type of entity.
defaultAcl.role

The access permission for the entity. Acceptable values are:

OWNER
READER
WRITER
defaultAcl.etag Entity tag for the bucket.
defaultAcl.id The ID of the bucket.
defaultEventBasedHold To automatically apply or not to apply an eventBasedHold to new objects added to the bucket.
generateId Service-generated ID for the bucket.
iamConfiguration The IAM configuration of the bucket.
iamConfiguration.isUniformBucketLevelAccessEnabled Specifies whether uniformBucketLevelAccessEnabled or not.
iamConfiguration.isUniformBucketLevelAccessLockedTime Locked time for uniformBucketLevelAccess.
label The bucket labels provided by the user in key or value pairs.
label.key Key for label.
label.value Value for label.
lifecycle The lifecycle configuration of the bucket.
lifecycle.action The action to take.
lifecycle.action.type Type of the action. Currently, "Delete" and "SetStorageClass" are supported. For the type "delete" of lifecycle rules - storage class field is not required to be set.
lifecycle.condition The condition/s under which the action is taken.
lifecycle.condition.age Age of an object (in days). This condition is fulfilled when an object reaches the specified age.
lifecycle.condition.createdBefore Date in the format YYYY-MM-DD. The date of object creation before midnight of the specified date in UTC.
lifecycle.condition.customTimeBefore Date in the format YYYY-MM-DD. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.
lifecycle.condition.daysSinceCustomTime Days since the date set in the customTime metadata for the object. This condition is satisfied when the current date and time is at least the specified number of days after the customTime.
lifecycle.condition.daysSinceNonCurrentTime Relevant only for versioned objects. This condition is satisfied when an object has been noncurrent for more than the specified number of days.
lifecycle.condition.isLive Relevant only for versioned objects. If the value is true, this condition matches the live version of objects; if the value is false, it matches noncurrent versions of objects.
lifecycle.condition.matchesStorageClass Objects having any of the storage classes specified by this condition will be matched. Values include "STANDARD", "NEARLINE", "COLDLINE", "ARCHIVE", "MULTI_REGIONAL", "REGIONAL", and "DURABLE_REDUCED_AVAILABILITY".
lifecycle.condition.nonCurrentTimeBefore Relevant only for versioned objects. A date in the format YYYY-MM-DD. This condition is satisfied for objects that became noncurrent on a date prior to the one specified in this condition.
lifecycle.condition.numberOfNewerVersions Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
location The location of the bucket.
locationType The type of the location that the bucket is in. This is determined by the location property.
logging The logging configuration of the bucket that defines the destination bucket and a name prefix for the current bucket logs.
logBucket The destination bucket where the logs of the current bucket must be placed.
logObjectPrefix A prefix for log object names. The default prefix is the bucket name.
metageneration The metadata generation of the bucket.
objectName The name of the object.
objectID Generated ID for the bucket.
retentionPolicy The policy that defines the minimum age an object in the bucket must reach before it can be deleted or replaced.
retentionPolicy.retentionPeriod The period of time (in seconds) for which the objects in the bucket must be retained and cannot be deleted, replaced, or made noncurrent. The value must be greater than 0 seconds and less than 3,155,760,000 seconds.
retentionPolicy.retentionEffectiveTime The retention effective time a policy took effect if a retention policy is defined as a Long.
retentionPolicy.isRetentionPolicyLocked Returns Boolean showing whether retention policy is locked or not.
selfLink The URL of the bucket.
storageClass The default storage class of a bucket.
timeCreated The creation time of the bucket.
timeUpdated Returns the last modification time of the metadata of the bucket expressed as the number of milliseconds since the Unix epoch.
versioning The versioning configuration of the bucket.
versioning.isversioningEnabled Specifies whether versioning is enabled or not.
website The website configuration of the bucket, decides the behavior of the bucket contents when accessed as website.
website.mainPageSuffix If the requested object path is missing, the service ensures the path has a trailing '/'. Append this suffix to retrieve the resulting object. This creates index.html objects to represent directory pages.
website.notFoundpage If the requested object path is missing, and any mainPageSuffix object is missing, if applicable, the service returns the named object from this bucket as the content for a 404 Not Found result.

Upsert Operation

Field Description
name Name of the bucket.
acl Access controls on the bucket, containing one or more bucketAccessControls Resources. If iamConfiguration.uniformBucketLevelAccess.enabled is set to true, this field is omitted in responses, and requests that specify this field fail with a 400 Bad Request response.
acl.entity The type of entity.
acl.entity.type The type of entity.
acl.role

The access permission for the entity. Acceptable values are:

OWNER
READER
WRITER
acl.etag Entity tag for the bucket.
acl.id The id of the bucket.
billing The billing configuration of the bucket.
billing.requesterPays To enable or disable requester pays.
cors The Cross-Origin Resource Sharing (CORS) configuration of the bucket.
cors.maxAgeSeconds The value (in seconds) to return in the Access-Control-Max-Age header used in preflight responses.
cors.method

The list of HTTP methods on which the CORS response headers like "GET", "OPTIONS", "POST", and so on can be included.

Note: "*" is permitted in the list of methods. This means "any method".
responseHeader The list of HTTP headers to give permission for the user-agent to share across domains (other than the simple response headers ).
cors.origin

The list of Origins that can receive CORS response headers.

Note: "*" is permitted in the list of origins. This means "any Origin".
defaultEventBasedHold To automatically apply or not to apply an eventBasedHold to new objects added to the bucket.
generateId Service-generated ID for the bucket.
iamConfiguration The IAM configuration of the bucket.
iamConfiguration.isUniformBucketLevelAccessEnabled Specifies whether uniformBucketLevelAccessEnabled or not.
iamConfiguration.isUniformBucketLevelAccessLockedTime Locked time for uniformBucketLevelAccess.
label The bucket labels provided by the user in key or value pairs.
label.key Key for label.
label.value Value for label.
lifecycle The lifecycle configuration of the bucket.
lifecycle.action he lifecycle action to take.
lifecycle.action.type Type of the action.
lifecycle.condition The condition/s under which the action is taken.
lifecycle.condition.age Age of an object, in days.
lifecycle.condition.createdBefore Date in the format YYYY-MM-DD. The date of object creation before midnight of the specified date in UTC.
lifecycle.condition.customTimeBefore Date in the format YYYY-MM-DD. This condition is satisfied when the customTime metadata for the object is set to an earlier date than the date used in this lifecycle condition.
lifecycle.condition.daysSinceCustomTime Days since the date set in the customTime metadata for the object. This condition is satisfied when the current date and time is at least the specified number of days after the customTime.
lifecycle.condition.daysSinceNonCurrentTime Relevant only for versioned objects. This condition is satisfied when an object has been noncurrent for more than the specified number of days.
lifecycle.condition.isLive Relevant only for versioned objects. If the value is true, this condition matches the live version of objects; if the value is false, it matches noncurrent versions of objects.
lifecycle.condition.matchesStorageClass Objects having any of the storage classes specified by this condition will be matched. Values include "STANDARD", "NEARLINE", "COLDLINE", "ARCHIVE", "MULTI_REGIONAL", "REGIONAL", and "DURABLE_REDUCED_AVAILABILITY".
lifecycle.condition.nonCurrentTimeBefore Relevant only for versioned objects. A date in the format YYYY-MM-DD. This condition is satisfied for objects that became noncurrent on a date prior to the one specified in this condition.
lifecycle.condition.numberOfNewerVersions Relevant only for versioned objects. If the value is N, this condition is satisfied when there are at least N versions (including the live version) newer than this version of the object.
Bucket.location The location of the bucket.
locationType The type of the location that the bucket is in. This is determined by the location property.
logging The logging configuration of the bucket that defines the destination bucket and a name prefix for the current bucket logs.
logging.logBucket The destination bucket where the logs of the current bucket must be placed.
logging.logObjectPrefix A prefix for log object names. The default prefix is the bucket name.
metageneration The metadata generation of the bucket.
retentionPolicy The policy that defines the minimum age an object in the bucket must reach before it can be deleted or replaced.
retentionPolicy.retentionPeriod The period of time (in seconds) for which the objects in the bucket must be retained and cannot be deleted, replaced, or made noncurrent. The value must be greater than 0 seconds and less than 3,155,760,000 seconds.
retentionPolicy.retentionEffectiveTime The retention effective time a policy took effect if a retention policy is defined as a Long.
retentionPolicy.isRetentionPolicyLocked Returns Boolean showing whether retention policy is locked or not.
selfLink The URL of the bucket.
storageClass The default storage class of a bucket.
timeCreated The creation time of the bucket.
timeUpdated Returns the last modification time of the metadata of the bucket expressed as the number of milliseconds since the Unix epoch.
versioning The versioning configuration of the bucket.
versioning.isversioningEnabled Specifies whether versioning is enabled or not.
website The website configuration of the bucket, decides the behavior of the bucket contents when accessed as website.
website.mainPageSuffix If the requested object path is missing, the service ensures the path has a trailing '/'. Append this suffix to retrieve the resulting object. This creates index.html objects to represent directory pages.
website.notFoundpage If the requested object path is missing, and any mainPageSuffix object is missing, if applicable, the service returns the named object from this bucket as the content for a 404 Not Found result.

Delete Operation

Field Description
name The name of the bucket.
status Status of the operation.

Fault

The Fault tab lists exceptions that are thrown by this activity. The following table lists the types of exceptions thrown by the Invoke GCS Bucket Request activity:

Error Schema Element Datatype Description
GCSException String It has a msg and msgCode field for the exception.
GCSValidationException String

It has a msg and msgCode field for the exception.

msg String The error message returned by the plug-in.
msgCode String The error code returned by the plug-in.