Skip to main content

PutGCSObject

Description

Writes the contents of a FlowFile as an object in a Google Cloud Storage.

Tags

archive, gcs, google, google cloud, put

Properties

In the list below required Properties are shown with an asterisk (*). Other properties are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
GCP Credentials Provider Service *GCP Credentials Provider ServiceController Service:
GCPCredentialsService

Implementations:
GCPCredentialsControllerService
The Controller Service used to obtain Google Cloud Platform credentials.
Project IDgcp-project-idGoogle Cloud Project ID

Supports Expression Language, using Environment variables.
Bucket *gcs-bucket${gcs.bucket}Bucket of the object.

Supports Expression Language, using FlowFile attributes and Environment variables.
Key *gcs-key${filename}Name of the object.

Supports Expression Language, using FlowFile attributes and Environment variables.
Resource Transfer Source *Resource Transfer SourceFlowFile Content
  • FlowFile Content
  • File Resource Service
The source of the content to be transferred
File Resource Service *File Resource ServiceController Service:
FileResourceService

Implementations:
AzureBlobStorageFileResourceService
AzureDataLakeStorageFileResourceService
GCSFileResourceService
S3FileResourceService
StandardFileResourceService
File Resource Service providing access to the local resource to be transferred

This property is only considered if:
  • the property Resource Transfer Source has a value of FILE_RESOURCE_SERVICE
Content Typegcs-content-type${mime.type}Content Type for the file, i.e. text/plain

Supports Expression Language, using FlowFile attributes and Environment variables.
CRC32C Checksumgcs-object-crc32cCRC32C Checksum (encoded in Base64, big-Endian order) of the file for server-side validation.

Supports Expression Language, using FlowFile attributes and Environment variables.
Object ACLgcs-object-acl
  • All Authenticated Users
  • Authenticated Read
  • Bucket Owner Full Control
  • Bucket Owner Read Only
  • Private
  • Project Private
  • Public Read Only
Access Control to be attached to the object uploaded. Not providing this will revert to bucket defaults.
Server Side Encryption Keygcs-server-side-encryption-keyAn AES256 Encryption Key (encoded in base64) for server-side encryption of the object.

Supports Expression Language, using FlowFile attributes and Environment variables.
Overwrite Object *gcs-overwrite-objecttrue
  • true
  • false
If false, the upload to GCS will succeed only if the object does not exist.
Content Disposition Typegcs-content-disposition-type
  • Inline
  • Attachment
Type of RFC-6266 Content Disposition to be attached to the object
GZIP Compression Enabledgzip.content.enabledtrue
  • true
  • false
Signals to the GCS Blob Writer whether GZIP compression during transfer is desired. False means do not gzip and can boost performance in many cases.
Storage API URLstorage-api-urlOverrides the default storage URL. Configuring an alternative Storage API URL also overrides the HTTP Host header on requests as described in the Google documentation for Private Service Connections.

Supports Expression Language, using Environment variables.
Number of retries *gcp-retry-count6How many retry attempts should be made before routing to the failure relationship.
Proxy Configuration Serviceproxy-configuration-serviceController Service:
ProxyConfigurationService

Implementations:
StandardProxyConfigurationService
Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: HTTP + AuthN

Dynamic Properties

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

Supports Expression Language: Yes, evaluated using FlowFile Attributes and Environment variables.

Relationships

NameDescription
failureFlowFiles are routed to this relationship if the Google Cloud Storage operation fails.
successFlowFiles are routed to this relationship after a successful Google Cloud Storage operation.

Reads Attributes

NameDescription
filenameUses the FlowFile's filename as the filename for the GCS object
mime.typeUses the FlowFile's MIME type as the content-type for the GCS object

Writes Attributes

NameDescription
gcs.bucketBucket of the object.
gcs.cache.controlData cache control of the object.
gcs.component.countThe number of components which make up the object.
gcs.content.dispositionThe data content disposition of the object.
gcs.content.encodingThe content encoding of the object.
gcs.content.languageThe content language of the object.
gcs.crc32cThe CRC32C checksum of object's data, encoded in base64 in big-endian order.
gcs.create.timeThe creation time of the object (milliseconds)
gcs.encryption.algorithmThe algorithm used to encrypt the object.
gcs.encryption.sha256The SHA256 hash of the key used to encrypt the object
gcs.etagThe HTTP 1.1 Entity tag for the object.
gcs.generated.idThe service-generated for the object
gcs.generationThe data generation of the object.
gcs.keyName of the object.
gcs.md5The MD5 hash of the object's data encoded in base64.
gcs.media.linkThe media download link to the object.
gcs.metagenerationThe metageneration of the object.
gcs.ownerThe owner (uploader) of the object.
gcs.owner.typeThe ACL entity type of the uploader of the object.
gcs.sizeSize of the object.
gcs.update.timeThe last modification time of the object (milliseconds)
gcs.uriThe URI of the object as a string.
mime.typeThe MIME/Content-Type of the object

State Management

This component does not store state.

Restricted

This component is not restricted.

Input Requirement

This component requires an incoming relationship.

System Resource Considerations

This component does not specify system resource considerations.

See Also

DeleteGCSObject, FetchGCSObject, ListGCSBucket