Description:
Puts flow files to a Google Cloud Bucket.

Tags:
google, google cloud, gcs, archive, put

Properties:
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, whether a property supports the Expression Language Guide, and whether a property is considered “sensitive”, meaning that its value will be encrypted. Before entering a value in a sensitive property, ensure that the nifi.propertiesfile has an entry for the property nifi.sensitive.props.key.

Name

Default Value

Allowable Values

Description

GCP Credentials Provider Service

Controller Service API:


GCPCredentialsService

Implementation:

GCPCredentialsControllerService


The Controller Service used to obtain Google Cloud Platform credentials.

Project ID

Google Cloud Project ID

Number of retries

6 How many retry attempts should be made before routing to the failure relationship.

Bucket

${gcs.bucket} Bucket of the object.

Supports Expression Language: true


Key

${filename} Name of the object.

Supports Expression Language: true


Content Type ${mime.type} Content Type for the file, i.e. text/plain

Supports Expression Language: true


MD5 Hash MD5 Hash (encoded in Base64) of the file for server-side validation.

Supports Expression Language: true


CRC32C Checksum CRC32C Checksum (encoded in Base64, big-Endian order) of the file for server-side validation.

Supports Expression Language: true


Object ACL
  • All Authenticated Users Gives the bucket or object owner OWNER permission, and gives all authenticated Google account holders READER and WRITER permissions. All other permissions are removed.
  • Authenticated Read Gives the bucket or object owner OWNER permission, and gives all authenticated Google account holders READER permission. All other permissions are removed.
  • Bucket Owner Full Control Gives the object and bucket owners OWNER permission. All other permissions are removed.
  • Bucket Owner Read Only Gives the object owner OWNER permission, and gives the bucket owner READER permission. All other permissions are removed.
  • Private
  • Project Private Gives permission to the project team based on their roles. Anyone who is part of the team has READER permission. Project owners and project editors have OWNER permission. This is the default ACL for newly created buckets. This is also the default ACL for newly created objects unless the default object ACL for that bucket has been changed.
  • Public Read Only Gives the bucket or object owner OWNER permission, and gives all users, both authenticated and anonymous, READER permission. When you apply this to an object, anyone on the Internet can read the object without authenticating.
Access Control to be attached to the object uploaded. Not providing this will revert to bucket defaults.
Server Side Encryption Key An AES256 Encryption Key (encoded in base64) for server-side encryption of the object.

Sensitive Property: true


Supports Expression Language: true


Overwrite Object

true
  • true
  • false
If false, the upload to GCS will succeed only if the object does not exist.
Content Disposition Type
  • Inline Indicates that the object should be loaded and rendered within the browser.
  • Attachment Indicates that the object should be saved (using a Save As... dialog) rather than opened directly within the browser
Type of RFC-6266 Content Disposition to be attached to the object

Dynamic Properties:

Dynamic Properties allow the user to specify both the name and value of a property.

Name

Value

Description

The name of a User-Defined Metadata field to add to the GCS Object The value of a User-Defined Metadata field to add to the GCS Object Allows user-defined metadata to be added to the GCS object as key/value pairs

Supports Expression Language: true


Relationships:

Name

Description

success FlowFiles are routed to this relationship after a successful Google Cloud Storage operation.
failure FlowFiles are routed to this relationship if the Google Cloud Storage operation fails.

Reads Attributes:

Name

Description

filename Uses the FlowFile's filename as the filename for the GCS object
mime.type Uses the FlowFile's MIME type as the content-type for the GCS object

Writes Attributes:

Name

Description

gcs.bucket Bucket of the object.
gcs.key Name of the object.
gcs.size Size of the object.
gcs.cache.control Data cache control of the object.
gcs.component.count The number of components which make up the object.
gcs.content.disposition The data content disposition of the object.
gcs.content.encoding The content encoding of the object.
gcs.content.language The content language of the object.
mime.type The MIME/Content-Type of the object
gcs.crc32c The CRC32C checksum of object's data, encoded in base64 in big-endian order.
gcs.create.time The creation time of the object (milliseconds)
gcs.update.time The last modification time of the object (milliseconds)
gcs.encryption.algorithm The algorithm used to encrypt the object.
gcs.encryption.sha256 The SHA256 hash of the key used to encrypt the object
gcs.etag The HTTP 1.1 Entity tag for the object.
gcs.generated.id The service-generated for the object
gcs.generation The data generation of the object.
gcs.md5 The MD5 hash of the object's data encoded in base64.
gcs.media.link The media download link to the object.
gcs.metageneration The metageneration of the object.
gcs.owner The owner (uploader) of the object.
gcs.owner.type The ACL entity type of the uploader of the object.
gcs.uri The URI of the object as a string.

State management:
This component does not store state.

Restricted:
This component is not restricted.

Input requirement:
This component requires an incoming relationship.