Upload a file to a MinIO bucket.

yaml
type: "io.kestra.plugin.minio.Upload"
yaml
id: minio_upload
namespace: company.team

inputs:
  id: file
  type: FILE

tasks:
  - id: upload_to_storage
    type: io.kestra.plugin.minio.Upload
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    region: "eu-central-1"
    from: "{{ inputs.file }}"
    bucket: "my-bucket"
    key: "path/to/file"

Upload file to an S3-compatible storage — here, Spaces Object Storage from Digital Ocean.

yaml
id: s3_compatible_upload
namespace: company.team

tasks:
  - id: http_download
    type: io.kestra.plugin.core.http.Download
    uri: https://huggingface.co/datasets/kestra/datasets/raw/main/csv/orders.csv
  - id: upload_to_storage
    type: io.kestra.plugin.minio.Upload
    accessKeyId: "<access-key>"
    secretKeyId: "<secret-key>"
    endpoint: https://<region>.digitaloceanspaces.com  #example regions: nyc3, tor1
    bucket: "kestra-test-bucket"
    from: "{{ outputs.http_download.uri }}"
    key: "data/orders.csv"
Properties

Access Key Id for authentication.

The bucket name.

CA PEM certificate content

CA certificate as text, used to verify SSL/TLS connections to custom MinIO endpoints.

Client PEM certificate content

PEM client certificate as text, used to authenticate the connection to MinIO (mTLS).

A standard MIME type describing the format of the contents.

URL to the MinIO endpoint.

The file(s) to upload.

Can be a single file, a list of files or json array.

The key where to upload the file.

a full key (with filename) or the directory path if from is multiple files.

SubType string

A map of metadata to store with the object.

MinIO region with which the SDK should communicate.

Secret Key Id for authentication.

SSL/TLS configuration options

The version of the object.

Whether to disable checking of the remote SSL certificate.

Only applies if no trust store is configured. Note: This makes the SSL connection insecure and should only be used for testing. If you are using a self-signed certificate, set up a trust store instead.

Access Key Id for authentication.

The bucket name.

CA PEM certificate content

CA certificate as text, used to verify SSL/TLS connections to custom MinIO endpoints.

Client PEM certificate content

PEM client certificate as text, used to authenticate the connection to MinIO (mTLS).

A delimiter is a character you use to group keys.

URL to the MinIO endpoint.

Default BOTH
Possible Values
FILESDIRECTORYBOTH

The type of objects to filter: files, directory, or both.

Default true

Indicates whether task should include versions in output.

Marker is where you want to start listing from.

Start listing after this specified key. Marker can be any key in the bucket.

Default 1000

Sets the maximum number of keys returned in the response.

By default, the action returns up to 1,000 key names. The response might contain fewer keys but will never contain more.

Limits the response to keys that begin with the specified prefix.

Default true

Indicates whether it should look into subfolders.

A regexp to filter on full key.

ex: regExp: .* to match all files regExp: .*2020-01-0.\\.csv to match files between 01 and 09 of january ending with .csv

MinIO region with which the SDK should communicate.

Secret Key Id for authentication.

SSL/TLS configuration options

Limits the response to keys that ends with the specified string.