Downloads 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 is false.

# 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:
  • 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:
  • 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: