🚀 New! Kestra raises $3 million to grow Learn more

Upload Upload

yaml
type: "io.kestra.plugin.aws.s3.Upload"

Upload a file to a S3 bucket.

Examples

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

Properties

accessKeyId

  • Type: string
  • Dynamic: ✔️
  • Required:

The Access Key Id in order to connect to AWS

If no connection is defined, we will use default DefaultCredentialsProvider that will try to guess the value

acl

  • Type: string
  • Dynamic: ✔️
  • Required:

The canned ACL to apply to the object.

bucket

  • Type: string
  • Dynamic: ✔️
  • Required:

The bucket name

bucketKeyEnabled

  • Type: boolean
  • Dynamic:
  • Required:

Specifies whether Amazon S3 should use an S3 Bucket Key for object encryption with server-side encryption using Key Management Service (KMS) keys (SSE-KMS).

Setting this header to true causes Amazon S3 to use an S3 Bucket Key for object encryption with SSE-KMS.

cacheControl

  • Type: string
  • Dynamic: ✔️
  • Required:

Can be used to specify caching behavior along the request/reply chain.

checksum

  • Type: string
  • Dynamic: ✔️
  • Required:

The checksum data integrity check to verify that the data received is the same data that was originally sent.

Must be use in pair with checksumAlgorithm to defined the expect algorithm of these values

checksumAlgorithm

  • Type: string
  • Dynamic:
  • Required:
  • Possible Values:
    • CRC32
    • CRC32_C
    • SHA1
    • SHA256
    • UNKNOWN_TO_SDK_VERSION

Indicates the algorithm used to create the checksum for the object when using the SDK.

compatibilityMode

  • Type: boolean
  • Dynamic:
  • Required:
  • Default: false

this property will use the AsynS3Client instead of the S3CrtAsynClient which maximize compatibility with S3-compatible services but restrict uploads and downloads to 2GB

contentDisposition

  • Type: string
  • Dynamic: ✔️
  • Required:

Specifies presentational information for the object.

contentEncoding

  • Type: string
  • Dynamic: ✔️
  • Required:

Specifies what content encodings have been applied to the object.

And thus what decoding mechanisms must be applied to obtain the media-type referenced by the Content-Type header field.

contentLanguage

  • Type: string
  • Dynamic: ✔️
  • Required:

The language the content is in.

contentLength

  • Type: integer
  • Dynamic:
  • Required:

Size of the body in bytes.

This parameter is useful when the size of the body cannot be determined automatically.

contentType

  • Type: string
  • Dynamic: ✔️
  • Required:

A standard MIME type describing the format of the contents.

endpointOverride

  • Type: string
  • Dynamic: ✔️
  • Required:

The endpoint with which the SDK should communicate.

Should normally not be used except for local development.

expectedBucketOwner

  • Type: string
  • Dynamic: ✔️
  • Required:

The account ID of the expected bucket owner.

If the bucket is owned by a different account, the request fails with the HTTP status code 403 Forbidden (access denied).

expires

  • Type: string
  • Dynamic: ✔️
  • Required:

The date and time at which the object is no longer cacheable.

from

  • Type: string
  • Dynamic: ✔️
  • Required:

The file to upload

key

  • Type: string
  • Dynamic: ✔️
  • Required:

The key where to upload the file

metadata

  • Type: object
  • SubType: string
  • Dynamic: ✔️
  • Required:

A map of metadata to store with the object in S3.

objectLockLegalHoldStatus

  • Type: string
  • Dynamic:
  • Required:
  • Possible Values:
    • ON
    • OFF
    • UNKNOWN_TO_SDK_VERSION

Specifies whether a legal hold will be applied to this object.

objectLockMode

  • Type: string
  • Dynamic:
  • Required:
  • Possible Values:
    • GOVERNANCE
    • COMPLIANCE
    • UNKNOWN_TO_SDK_VERSION

The Object Lock mode that you want to apply to this object.

objectLockRetainUntilDate

  • Type: string
  • Dynamic: ✔️
  • Required:

The date and time when you want this object's Object Lock to expire.

region

  • Type: string
  • Dynamic: ✔️
  • Required:

The region with which the SDK should communicate.

requestPayer

  • Type: string
  • Dynamic: ✔️
  • Required:

Sets the value of the RequestPayer property for this object.

secretKeyId

  • Type: string
  • Dynamic: ✔️
  • Required:

The Secret Key Id in order to connect to AWS

If no connection is defined, we will use default DefaultCredentialsProvider that will try to guess the value

serverSideEncryption

  • Type: string
  • Dynamic:
  • Required:
  • Possible Values:
    • AES256
    • AWS_KMS
    • AWS_KMS_DSSE
    • UNKNOWN_TO_SDK_VERSION

The server-side encryption algorithm used when storing this object in Amazon S3.

(for example, AES256, aws:kms, aws:kms:dsse).

sessionToken

  • Type: string
  • Dynamic: ✔️
  • Required:

The he AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permission to access some resource.

If no connection is defined, we will use default DefaultCredentialsProvider that will try to guess the value

storageClass

  • Type: string
  • Dynamic:
  • Required:
  • Possible Values:
    • STANDARD
    • REDUCED_REDUNDANCY
    • STANDARD_IA
    • ONEZONE_IA
    • INTELLIGENT_TIERING
    • GLACIER
    • DEEP_ARCHIVE
    • OUTPOSTS
    • GLACIER_IR
    • SNOW
    • UNKNOWN_TO_SDK_VERSION

If you don't specify, S3 Standard is the default storage class. Amazon S3 supports other storage classes.

tagging

  • Type: object
  • SubType: string
  • Dynamic:
  • Required:

The tag-set for the object.

Outputs

bucket

  • Type: string

key

  • Type: string

versionId

  • Type: string

Version of the object.