Upload
type: "io.kestra.plugin.aws.s3.Upload"
Upload a file to a S3 bucket.
Examples
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.