Compose
|
|||||
|
|
Concatenates a list of existing objects into a new object in the same bucket
Authorization
To use this building block you will have to grant access to at least one of the following scopes:
- View and manage your data across Google Cloud Platform services
- Manage your data and permissions in Google Cloud Storage
- Manage your data in Google Cloud Storage
Input
This building block consumes 66 input parameters
Name | Format | Description |
---|---|---|
destinationBucket Required |
STRING |
Name of the bucket containing the source objects. The destination object is stored in this bucket |
destinationObject Required |
STRING |
Name of the new object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts |
destinationPredefinedAcl |
ENUMERATION |
Apply a predefined set of access controls to the destination object |
ifGenerationMatch |
INTEGER |
Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object |
ifMetagenerationMatch |
INTEGER |
Makes the operation conditional on whether the object's current metageneration matches the given value |
kmsKeyName |
STRING |
Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any |
provisionalUserProject |
STRING |
The project to be billed for this request if the target bucket is requester-pays bucket |
userProject |
STRING |
The project to be billed for this request. Required for Requester Pays buckets |
destination |
OBJECT |
An object |
destination.acl[] |
OBJECT |
An access-control entry |
destination.acl[].bucket |
STRING |
The name of the bucket |
destination.acl[].domain |
STRING |
The domain associated with the entity, if any |
destination.acl[].email |
STRING |
The email address associated with the entity, if any |
destination.acl[].entity |
STRING |
The entity holding the permission, in one of the following forms:
|
destination.acl[].entityId |
STRING |
The ID for the entity, if any |
destination.acl[].etag |
STRING |
HTTP 1.1 Entity tag for the access-control entry |
destination.acl[].generation |
INTEGER |
The content generation of the object, if applied to an object |
destination.acl[].id |
STRING |
The ID of the access-control entry |
destination.acl[].kind |
STRING |
The kind of item this is. For object access control entries, this is always storage#objectAccessControl |
destination.acl[].object |
STRING |
The name of the object, if applied to an object |
destination.acl[].projectTeam |
OBJECT |
The project team associated with the entity, if any |
destination.acl[].projectTeam.projectNumber |
STRING |
The project number |
destination.acl[].projectTeam.team |
STRING |
The team |
destination.acl[].role |
STRING |
The access permission for the entity |
destination.acl[].selfLink |
STRING |
The link to this access-control entry |
destination.bucket |
STRING |
The name of the bucket containing this object |
destination.cacheControl |
STRING |
Cache-Control directive for the object data. If omitted, and the object is accessible to all anonymous users, the default will be public, max-age=3600 |
destination.componentCount |
INTEGER |
Number of underlying components that make up this object. Components are accumulated by compose operations |
destination.contentDisposition |
STRING |
Content-Disposition of the object data |
destination.contentEncoding |
STRING |
Content-Encoding of the object data |
destination.contentLanguage |
STRING |
Content-Language of the object data |
destination.contentType |
STRING |
Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream |
destination.crc32c |
STRING |
CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see Hashes and ETags: Best Practices |
destination.customerEncryption |
OBJECT |
Metadata of customer-supplied encryption key, if the object is encrypted by such a key |
destination.customerEncryption.encryptionAlgorithm |
STRING |
The encryption algorithm |
destination.customerEncryption.keySha256 |
STRING |
SHA256 hash value of the encryption key |
destination.etag |
STRING |
HTTP 1.1 Entity tag for the object |
destination.eventBasedHold |
BOOLEAN |
Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is the loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false |
destination.generation |
INTEGER |
The content generation of this object. Used for object versioning |
destination.id |
STRING |
The ID of the object, including the bucket name, object name, and generation number |
destination.kind |
STRING |
The kind of item this is. For objects, this is always storage#object |
destination.kmsKeyName |
STRING |
Cloud KMS Key used to encrypt this object, if the object is encrypted by such a key |
destination.md5Hash |
STRING |
MD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see Hashes and ETags: Best Practices |
destination.mediaLink |
STRING |
Media download link |
destination.metadata |
OBJECT |
User-provided metadata, in key/value pairs |
destination.metadata.customKey.value Required |
STRING |
User-provided metadata, in key/value pairs |
destination.metageneration |
INTEGER |
The version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object |
destination.name |
STRING |
The name of the object. Required if not specified by URL parameter |
destination.owner |
OBJECT |
The owner of the object. This will always be the uploader of the object |
destination.owner.entity |
STRING |
The entity, in the form user-userId |
destination.owner.entityId |
STRING |
The ID for the entity |
destination.retentionExpirationTime |
DATE_TIME |
A server-determined value that specifies the earliest time that the object's retention period expires. This value is in RFC 3339 format. Note 1: This field is not provided for objects with an active event-based hold, since retention expiration is unknown until the hold is removed. Note 2: This value can be provided even when temporary hold is set (so that the user can reason about policy without having to first unset the temporary hold) |
destination.selfLink |
STRING |
The link to this object |
destination.size |
INTEGER |
Content-Length of the data in bytes |
destination.storageClass |
STRING |
Storage class of the object |
destination.temporaryHold |
BOOLEAN |
Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and overwrites. A common use case of this flag is regulatory investigations where objects need to be retained while the investigation is ongoing. Note that unlike event-based hold, temporary hold does not impact retention expiration time of an object |
destination.timeCreated |
DATE_TIME |
The creation time of the object in RFC 3339 format |
destination.timeDeleted |
DATE_TIME |
The deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted |
destination.timeStorageClassUpdated |
DATE_TIME |
The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated |
destination.updated |
DATE_TIME |
The modification time of the object metadata in RFC 3339 format |
kind |
STRING |
The kind of item this is |
sourceObjects[] |
OBJECT |
|
sourceObjects[].generation |
INTEGER |
The generation of this object to use as the source |
sourceObjects[].name |
STRING |
The source object's name. All source objects must reside in the same bucket |
sourceObjects[].objectPreconditions |
OBJECT |
Conditions that must be met for this operation to execute |
sourceObjects[].objectPreconditions.ifGenerationMatch |
INTEGER |
Only perform the composition if the generation of the source object that would be used matches this value. If this value and a generation are both specified, they must be the same value or the call will fail |
= Parameter name
= Format
destinationBucket STRING Required Name of the bucket containing the source objects. The destination object is stored in this bucket |
destinationObject STRING Required Name of the new object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts |
destinationPredefinedAcl ENUMERATION Apply a predefined set of access controls to the destination object |
ifGenerationMatch INTEGER Makes the operation conditional on whether the object's current generation matches the given value. Setting to 0 makes the operation succeed only if there are no live versions of the object |
ifMetagenerationMatch INTEGER Makes the operation conditional on whether the object's current metageneration matches the given value |
kmsKeyName STRING Resource name of the Cloud KMS key, of the form projects/my-project/locations/global/keyRings/my-kr/cryptoKeys/my-key, that will be used to encrypt the object. Overrides the object metadata's kms_key_name value, if any |
provisionalUserProject STRING The project to be billed for this request if the target bucket is requester-pays bucket |
userProject STRING The project to be billed for this request. Required for Requester Pays buckets |
destination OBJECT An object |
destination.acl[] OBJECT An access-control entry |
destination.acl[].bucket STRING The name of the bucket |
destination.acl[].domain STRING The domain associated with the entity, if any |
destination.acl[].email STRING The email address associated with the entity, if any |
destination.acl[].entity STRING The entity holding the permission, in one of the following forms:
|
destination.acl[].entityId STRING The ID for the entity, if any |
destination.acl[].etag STRING HTTP 1.1 Entity tag for the access-control entry |
destination.acl[].generation INTEGER The content generation of the object, if applied to an object |
destination.acl[].id STRING The ID of the access-control entry |
destination.acl[].kind STRING The kind of item this is. For object access control entries, this is always storage#objectAccessControl |
destination.acl[].object STRING The name of the object, if applied to an object |
destination.acl[].projectTeam OBJECT The project team associated with the entity, if any |
destination.acl[].projectTeam.projectNumber STRING The project number |
destination.acl[].projectTeam.team STRING The team |
destination.acl[].role STRING The access permission for the entity |
destination.acl[].selfLink STRING The link to this access-control entry |
destination.bucket STRING The name of the bucket containing this object |
destination.cacheControl STRING Cache-Control directive for the object data. If omitted, and the object is accessible to all anonymous users, the default will be public, max-age=3600 |
destination.componentCount INTEGER Number of underlying components that make up this object. Components are accumulated by compose operations |
destination.contentDisposition STRING Content-Disposition of the object data |
destination.contentEncoding STRING Content-Encoding of the object data |
destination.contentLanguage STRING Content-Language of the object data |
destination.contentType STRING Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream |
destination.crc32c STRING CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see Hashes and ETags: Best Practices |
destination.customerEncryption OBJECT Metadata of customer-supplied encryption key, if the object is encrypted by such a key |
destination.customerEncryption.encryptionAlgorithm STRING The encryption algorithm |
destination.customerEncryption.keySha256 STRING SHA256 hash value of the encryption key |
destination.etag STRING HTTP 1.1 Entity tag for the object |
destination.eventBasedHold BOOLEAN Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is the loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false |
destination.generation INTEGER The content generation of this object. Used for object versioning |
destination.id STRING The ID of the object, including the bucket name, object name, and generation number |
destination.kind STRING The kind of item this is. For objects, this is always storage#object |
destination.kmsKeyName STRING Cloud KMS Key used to encrypt this object, if the object is encrypted by such a key |
destination.md5Hash STRING MD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see Hashes and ETags: Best Practices |
destination.mediaLink STRING Media download link |
destination.metadata OBJECT User-provided metadata, in key/value pairs |
destination.metadata.customKey.value STRING Required User-provided metadata, in key/value pairs |
destination.metageneration INTEGER The version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object |
destination.name STRING The name of the object. Required if not specified by URL parameter |
destination.owner OBJECT The owner of the object. This will always be the uploader of the object |
destination.owner.entity STRING The entity, in the form user-userId |
destination.owner.entityId STRING The ID for the entity |
destination.retentionExpirationTime DATE_TIME A server-determined value that specifies the earliest time that the object's retention period expires. This value is in RFC 3339 format. Note 1: This field is not provided for objects with an active event-based hold, since retention expiration is unknown until the hold is removed. Note 2: This value can be provided even when temporary hold is set (so that the user can reason about policy without having to first unset the temporary hold) |
destination.selfLink STRING The link to this object |
destination.size INTEGER Content-Length of the data in bytes |
destination.storageClass STRING Storage class of the object |
destination.temporaryHold BOOLEAN Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and overwrites. A common use case of this flag is regulatory investigations where objects need to be retained while the investigation is ongoing. Note that unlike event-based hold, temporary hold does not impact retention expiration time of an object |
destination.timeCreated DATE_TIME The creation time of the object in RFC 3339 format |
destination.timeDeleted DATE_TIME The deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted |
destination.timeStorageClassUpdated DATE_TIME The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated |
destination.updated DATE_TIME The modification time of the object metadata in RFC 3339 format |
kind STRING The kind of item this is |
sourceObjects[] OBJECT |
sourceObjects[].generation INTEGER The generation of this object to use as the source |
sourceObjects[].name STRING The source object's name. All source objects must reside in the same bucket |
sourceObjects[].objectPreconditions OBJECT Conditions that must be met for this operation to execute |
sourceObjects[].objectPreconditions.ifGenerationMatch INTEGER Only perform the composition if the generation of the source object that would be used matches this value. If this value and a generation are both specified, they must be the same value or the call will fail |
Output
This building block provides 51 output parameters
Name | Format | Description |
---|---|---|
acl[] |
OBJECT |
An access-control entry |
acl[].bucket |
STRING |
The name of the bucket |
acl[].domain |
STRING |
The domain associated with the entity, if any |
acl[].email |
STRING |
The email address associated with the entity, if any |
acl[].entity |
STRING |
The entity holding the permission, in one of the following forms:
|
acl[].entityId |
STRING |
The ID for the entity, if any |
acl[].etag |
STRING |
HTTP 1.1 Entity tag for the access-control entry |
acl[].generation |
INTEGER |
The content generation of the object, if applied to an object |
acl[].id |
STRING |
The ID of the access-control entry |
acl[].kind |
STRING |
The kind of item this is. For object access control entries, this is always storage#objectAccessControl |
acl[].object |
STRING |
The name of the object, if applied to an object |
acl[].projectTeam |
OBJECT |
The project team associated with the entity, if any |
acl[].projectTeam.projectNumber |
STRING |
The project number |
acl[].projectTeam.team |
STRING |
The team |
acl[].role |
STRING |
The access permission for the entity |
acl[].selfLink |
STRING |
The link to this access-control entry |
bucket |
STRING |
The name of the bucket containing this object |
cacheControl |
STRING |
Cache-Control directive for the object data. If omitted, and the object is accessible to all anonymous users, the default will be public, max-age=3600 |
componentCount |
INTEGER |
Number of underlying components that make up this object. Components are accumulated by compose operations |
contentDisposition |
STRING |
Content-Disposition of the object data |
contentEncoding |
STRING |
Content-Encoding of the object data |
contentLanguage |
STRING |
Content-Language of the object data |
contentType |
STRING |
Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream |
crc32c |
STRING |
CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see Hashes and ETags: Best Practices |
customerEncryption |
OBJECT |
Metadata of customer-supplied encryption key, if the object is encrypted by such a key |
customerEncryption.encryptionAlgorithm |
STRING |
The encryption algorithm |
customerEncryption.keySha256 |
STRING |
SHA256 hash value of the encryption key |
etag |
STRING |
HTTP 1.1 Entity tag for the object |
eventBasedHold |
BOOLEAN |
Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is the loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false |
generation |
INTEGER |
The content generation of this object. Used for object versioning |
id |
STRING |
The ID of the object, including the bucket name, object name, and generation number |
kind |
STRING |
The kind of item this is. For objects, this is always storage#object |
kmsKeyName |
STRING |
Cloud KMS Key used to encrypt this object, if the object is encrypted by such a key |
md5Hash |
STRING |
MD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see Hashes and ETags: Best Practices |
mediaLink |
STRING |
Media download link |
metadata |
OBJECT |
User-provided metadata, in key/value pairs |
metadata.customKey.value |
STRING |
User-provided metadata, in key/value pairs |
metageneration |
INTEGER |
The version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object |
name |
STRING |
The name of the object. Required if not specified by URL parameter |
owner |
OBJECT |
The owner of the object. This will always be the uploader of the object |
owner.entity |
STRING |
The entity, in the form user-userId |
owner.entityId |
STRING |
The ID for the entity |
retentionExpirationTime |
DATE_TIME |
A server-determined value that specifies the earliest time that the object's retention period expires. This value is in RFC 3339 format. Note 1: This field is not provided for objects with an active event-based hold, since retention expiration is unknown until the hold is removed. Note 2: This value can be provided even when temporary hold is set (so that the user can reason about policy without having to first unset the temporary hold) |
selfLink |
STRING |
The link to this object |
size |
INTEGER |
Content-Length of the data in bytes |
storageClass |
STRING |
Storage class of the object |
temporaryHold |
BOOLEAN |
Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and overwrites. A common use case of this flag is regulatory investigations where objects need to be retained while the investigation is ongoing. Note that unlike event-based hold, temporary hold does not impact retention expiration time of an object |
timeCreated |
DATE_TIME |
The creation time of the object in RFC 3339 format |
timeDeleted |
DATE_TIME |
The deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted |
timeStorageClassUpdated |
DATE_TIME |
The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated |
updated |
DATE_TIME |
The modification time of the object metadata in RFC 3339 format |
= Parameter name
= Format
acl[] OBJECT An access-control entry |
acl[].bucket STRING The name of the bucket |
acl[].domain STRING The domain associated with the entity, if any |
acl[].email STRING The email address associated with the entity, if any |
acl[].entity STRING The entity holding the permission, in one of the following forms:
|
acl[].entityId STRING The ID for the entity, if any |
acl[].etag STRING HTTP 1.1 Entity tag for the access-control entry |
acl[].generation INTEGER The content generation of the object, if applied to an object |
acl[].id STRING The ID of the access-control entry |
acl[].kind STRING The kind of item this is. For object access control entries, this is always storage#objectAccessControl |
acl[].object STRING The name of the object, if applied to an object |
acl[].projectTeam OBJECT The project team associated with the entity, if any |
acl[].projectTeam.projectNumber STRING The project number |
acl[].projectTeam.team STRING The team |
acl[].role STRING The access permission for the entity |
acl[].selfLink STRING The link to this access-control entry |
bucket STRING The name of the bucket containing this object |
cacheControl STRING Cache-Control directive for the object data. If omitted, and the object is accessible to all anonymous users, the default will be public, max-age=3600 |
componentCount INTEGER Number of underlying components that make up this object. Components are accumulated by compose operations |
contentDisposition STRING Content-Disposition of the object data |
contentEncoding STRING Content-Encoding of the object data |
contentLanguage STRING Content-Language of the object data |
contentType STRING Content-Type of the object data. If an object is stored without a Content-Type, it is served as application/octet-stream |
crc32c STRING CRC32c checksum, as described in RFC 4960, Appendix B; encoded using base64 in big-endian byte order. For more information about using the CRC32c checksum, see Hashes and ETags: Best Practices |
customerEncryption OBJECT Metadata of customer-supplied encryption key, if the object is encrypted by such a key |
customerEncryption.encryptionAlgorithm STRING The encryption algorithm |
customerEncryption.keySha256 STRING SHA256 hash value of the encryption key |
etag STRING HTTP 1.1 Entity tag for the object |
eventBasedHold BOOLEAN Whether an object is under event-based hold. Event-based hold is a way to retain objects until an event occurs, which is signified by the hold's release (i.e. this value is set to false). After being released (set to false), such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is the loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false |
generation INTEGER The content generation of this object. Used for object versioning |
id STRING The ID of the object, including the bucket name, object name, and generation number |
kind STRING The kind of item this is. For objects, this is always storage#object |
kmsKeyName STRING Cloud KMS Key used to encrypt this object, if the object is encrypted by such a key |
md5Hash STRING MD5 hash of the data; encoded using base64. For more information about using the MD5 hash, see Hashes and ETags: Best Practices |
mediaLink STRING Media download link |
metadata OBJECT User-provided metadata, in key/value pairs |
metadata.customKey.value STRING User-provided metadata, in key/value pairs |
metageneration INTEGER The version of the metadata for this object at this generation. Used for preconditions and for detecting changes in metadata. A metageneration number is only meaningful in the context of a particular generation of a particular object |
name STRING The name of the object. Required if not specified by URL parameter |
owner OBJECT The owner of the object. This will always be the uploader of the object |
owner.entity STRING The entity, in the form user-userId |
owner.entityId STRING The ID for the entity |
retentionExpirationTime DATE_TIME A server-determined value that specifies the earliest time that the object's retention period expires. This value is in RFC 3339 format. Note 1: This field is not provided for objects with an active event-based hold, since retention expiration is unknown until the hold is removed. Note 2: This value can be provided even when temporary hold is set (so that the user can reason about policy without having to first unset the temporary hold) |
selfLink STRING The link to this object |
size INTEGER Content-Length of the data in bytes |
storageClass STRING Storage class of the object |
temporaryHold BOOLEAN Whether an object is under temporary hold. While this flag is set to true, the object is protected against deletion and overwrites. A common use case of this flag is regulatory investigations where objects need to be retained while the investigation is ongoing. Note that unlike event-based hold, temporary hold does not impact retention expiration time of an object |
timeCreated DATE_TIME The creation time of the object in RFC 3339 format |
timeDeleted DATE_TIME The deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted |
timeStorageClassUpdated DATE_TIME The time at which the object's storage class was last changed. When the object is initially created, it will be set to timeCreated |
updated DATE_TIME The modification time of the object metadata in RFC 3339 format |