google_drive_download
Downloads files from Google Drive that contain matching file IDs.
Try out the example pipeline on this page, which downloads all files from your Google Drive.
Introduced in version 4.53.0.
-
Common
-
Advanced
processors:
label: ""
google_drive_download:
credentials_json: "" # No default (optional)
file_id: "" # No default (required)
mime_type: "" # No default (required)
shared_drives: false
processors:
label: ""
google_drive_download:
credentials_json: "" # No default (optional)
file_id: "" # No default (required)
mime_type: "" # No default (required)
export_mime_types:
application/vnd.google-apps.document: "text/markdown"
application/vnd.google-apps.drawing: "image/png"
application/vnd.google-apps.presentation: "application/pdf"
application/vnd.google-apps.script: "application/vnd.google-apps.script+json"
application/vnd.google-apps.spreadsheet: "text/csv"
shared_drives: false
Authentication
By default, this processor uses Google Application Default Credentials (ADC) to authenticate with Google APIs.
To set up local ADC authentication, use the following gcloud commands:
-
Authenticate using Application Default Credentials and grant read-only access to your Google Drive.
gcloud auth application-default login --scopes='openid,https://www.googleapis.com/auth/userinfo.email,https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/drive.readonly' -
Assign a quota project to the Application Default Credentials when using a user account.
gcloud auth application-default set-quota-project <project-id>Replace the
<project-id>placeholder with your Google Cloud project ID
To use a service account instead, create a JSON key for the account and add it to the credentials_json field. To access Google Drive files using a service account, either:
-
Explicitly share files with the service account’s email account
-
Use domain-wide delegation to share all files within a Google Workspace
Fields
credentials_json
The JSON key for your service account (optional). If left empty, Application Default Credentials are used. For more details, see Authentication.
|
This field contains sensitive information that usually shouldn’t be added to a configuration directly. For more information, see Secrets. |
Type: string
export_mime_types
Maps Google Drive MIME types to supported file export formats. The MIME type is the key, and the export format is the value.
Type: string
Default:
application/vnd.google-apps.document: "text/markdown"
application/vnd.google-apps.drawing: "image/png"
application/vnd.google-apps.presentation: "application/pdf"
application/vnd.google-apps.script: "application/vnd.google-apps.script+json"
application/vnd.google-apps.spreadsheet: "text/csv"
# Examples:
export_mime_types:
application/vnd.google-apps.document: application/pdf
application/vnd.google-apps.drawing: application/pdf
application/vnd.google-apps.presentation: application/pdf
application/vnd.google-apps.spreadsheet: application/pdf
# ---
export_mime_types:
application/vnd.google-apps.document: application/vnd.openxmlformats-officedocument.wordprocessingml.document
application/vnd.google-apps.drawing: image/svg+xml
application/vnd.google-apps.presentation: application/vnd.openxmlformats-officedocument.presentationml.presentation
application/vnd.google-apps.spreadsheet: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
file_id
The ID of the file to download from Google Drive. This field supports interpolation functions.
Type: string
mime_type
The MIME type of the file for download. This field supports interpolation functions.
Type: string
Example
This example downloads all files from a Google Drive.
input:
stdin: {}
pipeline:
processors:
- google_drive_search:
query: "${!content().string()}"
- mutation: 'meta path = this.name'
- google_drive_download:
file_id: "${!this.id}"
mime_type: "${!this.mimeType}"
output:
file:
path: "${!@path}"
codec: all-bytes