Downloads
type: "io.kestra.plugin.gcp.gcs.Downloads"
Download multiple files from a GCS bucket.
# Examples
Download a list of files and move it to an archive folders
id: "downloads"
type: "io.kestra.plugin.gcp.gcs.Downloads"
from: gs://my-bucket/kestra/files/
action: MOVE
moveDirectory: gs://my-bucket/kestra/archive/
# Properties
# action
Type: string
Dynamic: ✔️
Required: ❌
Possible Values:
MOVE
DELETE
The action to do on find files
# allVersions
- Type: boolean
- Dynamic: ✔️
- Required: ❌
If set to
true
, lists all versions of a blob. The default isfalse
.
# from
- Type: string
- Dynamic: ✔️
- Required: ❌
The directory to list
# listingType
Type: string
Dynamic: ❌
Required: ❌
Default:
DIRECTORY
Possible Values:
RECURSIVE
DIRECTORY
The listing type you want (like directory or recursive)
if DIRECTORY, will only list objects in the specified directory
if RECURSIVE, will list objects in the specified directory recursively
Default value is DIRECTORY
When using RECURSIVE value, be carefull to move your files to a location not in the from
scope
# moveDirectory
- Type: string
- Dynamic: ✔️
- Required: ❌
The destination directory in case off
MOVE
# projectId
- Type: string
- Dynamic: ✔️
- Required: ❌
The GCP project id
# regExp
- Type: string
- Dynamic: ✔️
- Required: ❌
A regexp to filter on full path
ex:
regExp: .*
to match all files
regExp: .*2020-01-0.\\.csv
to match files between 01 and 09 of january ending with .csv
# scopes
- Type: array
- SubType: string
- Dynamic: ✔️
- Required: ❌
- Default:
[https://www.googleapis.com/auth/cloud-platform]
The GCP scopes to used
# serviceAccount
- Type: string
- Dynamic: ✔️
- Required: ❌
The GCP service account key
# Outputs
# blobs
- Type: array
- SubType: Blob
- SubType: ====
The bucket of the downloaded file
# Definitions
# Blob
# bucket
- Type: string
- Dynamic: ❓
- Required: ❌
# cacheControl
- Type: string
- Dynamic: ❓
- Required: ❌
# componentCount
- Type: integer
- Dynamic: ❓
- Required: ❌
# contentDisposition
- Type: string
- Dynamic: ❓
- Required: ❌
# contentEncoding
- Type: string
- Dynamic: ❓
- Required: ❌
# contentLanguage
- Type: string
- Dynamic: ❓
- Required: ❌
# contentType
- Type: string
- Dynamic: ❓
- Required: ❌
# crc32c
- Type: string
- Dynamic: ❓
- Required: ❌
# createTime
- Type: string
- Dynamic: ❓
- Required: ❌
# customTime
- Type: string
- Dynamic: ❓
- Required: ❌
# deleteTime
- Type: string
- Dynamic: ❓
- Required: ❌
# etag
- Type: string
- Dynamic: ❓
- Required: ❌
# eventBasedHold
- Type: boolean
- Dynamic: ❓
- Required: ❌
# generatedId
- Type: string
- Dynamic: ❓
- Required: ❌
# isDirectory
- Type: boolean
- Dynamic: ❓
- Required: ❌
# kmsKeyName
- Type: string
- Dynamic: ❓
- Required: ❌
# md5
- Type: string
- Dynamic: ❓
- Required: ❌
# mediaLink
- Type: string
- Dynamic: ❓
- Required: ❌
# metaGeneration
- Type: integer
- Dynamic: ❓
- Required: ❌
# metadata
- Type: object
- SubType: string
- Dynamic: ❓
- Required: ❌
# name
- Type: string
- Dynamic: ❓
- Required: ❌
# retentionExpirationTime
- Type: integer
- Dynamic: ❓
- Required: ❌
# selfLink
- Type: string
- Dynamic: ❓
- Required: ❌
# size
- Type: integer
- Dynamic: ❓
- Required: ❌
# temporaryHold
- Type: boolean
- Dynamic: ❓
- Required: ❌
# timeStorageClassUpdated
- Type: string
- Dynamic: ❓
- Required: ❌
# updateTime
- Type: string
- Dynamic: ❓
- Required: ❌
# uri
- Type: string
- Dynamic: ❓
- Required: ❌