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:

Access Key Id in order to connect to AWS. If no connection is defined, we will use the DefaultCredentialsProvider to fetch the value.

acl

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

The canned ACL to apply to the object.

bucket

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

The S3 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/response 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 used 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 AWS S3 DefaultAsyncClient instead of the S3CrtAsyncClient, which maximizes compatibility with S3-compatible services but restricts 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:

The 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. This property 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 after which the object is no longer cacheable.

from

The file(s) to upload. Can be a single file, a list of files or json array.

key

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

The key where to upload the file. a full key (with filename) or the directory path if from is multiple files.

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:

AWS 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:

Secret Key Id in order to connect to AWS. If no connection is defined, we will use the DefaultCredentialsProvider to fetch 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:

AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource. If no connection is defined, we will use the DefaultCredentialsProvider to fetch 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
    • EXPRESS_ONEZONE
    • UNKNOWN_TO_SDK_VERSION

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

stsEndpointOverride

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

The AWS STS endpoint with which the SDKClient should communicate.

stsRoleArn

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

AWS STS Role. The Amazon Resource Name (ARN) of the role to assume. If set the task will use the StsAssumeRoleCredentialsProvider. Otherwise, the StaticCredentialsProvider will be used with the provided Access Key Id and Secret Key.

stsRoleExternalId

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

AWS STS External Id. A unique identifier that might be required when you assume a role in another account. This property is only used when an stsRoleArn is defined.

stsRoleSessionDuration

  • Type: string
  • Dynamic:
  • Required:
  • Default: 900.000000000
  • Format: duration

AWS STS Session duration. The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an stsRoleArn is defined.

stsRoleSessionName

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

AWS STS Session name. This property is only used when an stsRoleArn is defined.

tagging

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

The tag-set for the object.

Outputs

bucket

  • Type: string
  • Dynamic:
  • Required:

key

  • Type: string
  • Dynamic:
  • Required:

versionId

  • Type: string
  • Dynamic:
  • Required:

The version of the object.

Definitions

io.kestra.plugin.aws.s3.List

Properties

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

The S3 bucket where to download the file.

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

Access Key Id in order to connect to AWS. If no connection is defined, we will use the DefaultCredentialsProvider to fetch the value.

compatibilityMode
  • Type: boolean
  • Dynamic:
  • Required:
delimiter
  • Type: string
  • Dynamic: ✔️
  • Required:

A delimiter is a character you use to group keys.

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

The EncodingType property for this object.

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

The endpoint with which the SDK should communicate. This property 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).

filter
  • Type: string
  • Dynamic:
  • Required:
  • Default: BOTH
  • Possible Values:
    • FILES
    • DIRECTORY
    • BOTH

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

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

Marker is where you want Amazon S3 to start listing from. Amazon S3 starts listing after this specified key. Marker can be any key in the bucket.

maxKeys
  • Type: integer
  • Dynamic: ✔️
  • Required:
  • 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.

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

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

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

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

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

AWS 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:

Secret Key Id in order to connect to AWS. If no connection is defined, we will use the DefaultCredentialsProvider to fetch the value.

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

AWS session token, retrieved from an AWS token service, used for authenticating that this user has received temporary permissions to access a given resource. If no connection is defined, we will use the DefaultCredentialsProvider to fetch the value.

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

The AWS STS endpoint with which the SDKClient should communicate.

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

AWS STS Role. The Amazon Resource Name (ARN) of the role to assume. If set the task will use the StsAssumeRoleCredentialsProvider. Otherwise, the StaticCredentialsProvider will be used with the provided Access Key Id and Secret Key.

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

AWS STS External Id. A unique identifier that might be required when you assume a role in another account. This property is only used when an stsRoleArn is defined.

stsRoleSessionDuration
  • Type: string
  • Dynamic:
  • Required:
  • Default: 900.000000000
  • Format: duration

AWS STS Session duration. The duration of the role session (default: 15 minutes, i.e., PT15M). This property is only used when an stsRoleArn is defined.

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

AWS STS Session name. This property is only used when an stsRoleArn is defined.