AWS S3

Overview

The AWS S3 component provides a TO route allowing you to send a file, string or data to a specified S3 bucket.

General Note

The current functionality is very simplified but there is scope for more customization in the future.

Routes

FROM

TO

TO

Setup Headers

Header Description Optional Default
Host S3 bucket name NO EMPTY
Target The path within the bucket YES EMPTY
FileName THe target file name within the bucket YES EMPTY

If you only use the setup headers then the assumed file type is text/plain and the content of the message body is string.

Example
To("s3://kyameru-component-s3/test&FileName=banana.txt")

Message Headers

The large majority of options for the S3 object upload are set through message headers.

Header Description Optional Default
S3StorageClass Valid storage class for the object YES Assumes S3STANDARD
S3Path Path of the file (not including file name) to upload in the target bucket Partial Needs to be done either Setup header or here
S3FileName File name Partial Needs to be done either Setup header or here
S3ContentType Content type of target file YES text/plain
FullSource Full source of physical file to upload YES Only applicable if data type is set to File
S3DataType Data type to upload (String, Byte, File) NO  

Setting Content For Upload

The message body serves as the source for both the File and Byte options for upload. If you wish to upload a file from disk then you need to set the FullSource header to the full path of the file.

Outbound Messages

TO

The routable message outbound from the component is as follows:

Body

No modifications made from inbound message.

Headers

Header Description Immutable
S3VersionId Version ID tag from uploaded file Yes
S3ETag ETag from uploaded file Yes
S3Key Key of uploaded file Yes
S3Bucket Bucket name of uploaded file Yes

Future Works

Although the mechanism is very simplified currently and relies on a lot of the correct permissions being setup at source, there will be more work done on the component to allow things like encryption etc. This has been skipped so an MVP can be reached and this functionality will be revisited in the near future.