FetchGoogleDrive

Description:

Fetches files from a Google Drive Folder. Designed to be used in tandem with ListGoogleDrive. Please see Additional Details to set up access to Google Drive.

Additional Details...

Tags:

google, drive, storage, fetch

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, and whether a property supports the NiFi Expression Language.

Display NameAPI NameDefault ValueAllowable ValuesDescription
GCP Credentials Provider Servicegcp-credentials-provider-serviceController Service API:
GCPCredentialsService
Implementation: GCPCredentialsControllerService
The Controller Service used to obtain Google Cloud Platform credentials.
File IDdrive-file-id${drive.id}The Drive ID of the File to fetch. Please see Additional Details for information on how to obtain the Drive ID.
Supports Expression Language: true (will be evaluated using flow file attributes and Environment variables)
Proxy Configuration Serviceproxy-configuration-serviceController Service API:
ProxyConfigurationService
Implementation: StandardProxyConfigurationService
Specifies the Proxy Configuration Controller Service to proxy network requests. Supported proxies: HTTP + AuthN
Google Doc Export TypeGoogle Doc Export TypePDF
  • PDF
  • Plain Text
  • Microsoft Word
  • OpenDocument
  • Rich Text
  • Web Page (HTML)
  • EPUB
Google Documents cannot be downloaded directly from Google Drive but instead must be exported to a specified MIME Type. In the event that the incoming FlowFile's MIME Type indicates that the file is a Google Document, this property specifies the MIME Type to export the document to.
Google Spreadsheet Export TypeGoogle Spreadsheet Export TypeCSV (first sheet only)
  • CSV (first sheet only) Comma-separated values. Only the first sheet will be exported.
  • Microsoft Excel
  • PDF
  • TSV (first sheet only) Tab-separate values. Only the first sheet will be exported.
  • Web Page (HTML)
  • OpenDocument Spreadsheet
Google Spreadsheets cannot be downloaded directly from Google Drive but instead must be exported to a specified MIME Type. In the event that the incoming FlowFile's MIME Type indicates that the file is a Google Spreadsheet, this property specifies the MIME Type to export the spreadsheet to.
Google Presentation Export TypeGoogle Presentation Export TypePDF
  • PDF
  • Microsoft PowerPoint
  • Plain Text
  • OpenDocument Presentation
  • PNG (first slide only)
  • JPEG (first slide only)
  • SVG (first slide only) Scalable Vector Graphics. Only the first slide will be exported.
Google Presentations cannot be downloaded directly from Google Drive but instead must be exported to a specified MIME Type. In the event that the incoming FlowFile's MIME Type indicates that the file is a Google Presentation, this property specifies the MIME Type to export the presentation to.
Google Drawing Export TypeGoogle Drawing Export TypePDF
  • PDF
  • PNG
  • JPEG
  • SVG
Google Drawings cannot be downloaded directly from Google Drive but instead must be exported to a specified MIME Type. In the event that the incoming FlowFile's MIME Type indicates that the file is a Google Drawing, this property specifies the MIME Type to export the drawing to.

Relationships:

NameDescription
failureA FlowFile will be routed here for each File for which fetch was attempted but failed.
successA FlowFile will be routed here for each successfully fetched File.

Reads Attributes:

NameDescription
drive.idThe id of the file

Writes Attributes:

NameDescription
drive.idThe id of the file
filenameThe name of the file
mime.typeThe MIME type of the file
drive.sizeThe size of the file
drive.timestampThe last modified time or created time (whichever is greater) of the file. The reason for this is that the original modified date of a file is preserved when uploaded to Google Drive. 'Created time' takes the time when the upload occurs. However uploaded files can still be modified later.
error.codeThe error code returned by Google Drive
error.messageThe error message returned by Google Drive

State management:

This component does not store state.

Restricted:

This component is not restricted.

Input requirement:

This component requires an incoming relationship.

Example Use Cases Involving Other Components:

Use Case:

Retrieve all files in a Google Drive folder

Keywords:

google, drive, google cloud, state, retrieve, fetch, all, stream

Components involved:

Component Type: org.apache.nifi.processors.gcp.drive.ListGoogleDrive

Configuration:

The "Folder ID" property should be set to the ID of the Google Drive folder that files reside in. See processor documentation / additional details for more information on how to determine a Google Drive folder's ID.

If the flow being built is to be reused elsewhere, it's a good idea to parameterize this property by setting it to something like #{GOOGLE_DRIVE_FOLDER_ID}.

The "GCP Credentials Provider Service" property should specify an instance of the GCPCredentialsService in order to provide credentials for accessing the folder.

The 'success' Relationship of this Processor is then connected to FetchGoogleDrive.



Component Type: org.apache.nifi.processors.gcp.drive.FetchGoogleDrive

Configuration:

"File ID" = "${drive.id}"

The "GCP Credentials Provider Service" property should specify an instance of the GCPCredentialsService in order to provide credentials for accessing the bucket.





System Resource Considerations:

None specified.

See Also:

ListGoogleDrive, PutGoogleDrive