S3 Upload
Overview
You can use this Snap to upload binary data to S3 objects.
You can upload multiple S3 objects in multi-threads by using expression enabler for the Bucket and Object Key. If the input binary data is larger than Multipart Size (MB), it performs the write operation by using the Multipart Upload API in multiple threads.

Write-type Snap
Works in Ultra Tasks
Snap views
| View | Description | Examples of upstream and downstream Snaps |
|---|---|---|
| Input | The Input view receives binary data containing the formatted JSON content from the upstream JSON Formatter transformation, providing the file content that needs to be uploaded to the S3 bucket. | |
| Output | The Output view produces document data containing the upload operation status and metadata, confirming successful storage of the file in the specified S3 bucket location. | |
| Error |
Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter when running the pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:
Learn more about Error handling in Pipelines. |
|
Snap settings
- Expression icon (
): Allows using pipeline parameters to set field values dynamically (if enabled). SnapLogic Expressions are not supported. If disabled, you can provide a static value.
- SnapGPT (
): Generates SnapLogic Expressions based on natural language using SnapGPT. Learn more.
- Suggestion icon (
): Populates a list of values dynamically based on your Snap configuration. You can select only one attribute at a time using the icon. Type into the field if it supports a comma-separated list of values.
- Upload
: Uploads files. Learn more.
| Field / Field set | Type | Description |
|---|---|---|
| Label | String | Required. Specify a unique name for the Snap. Modify this to be more appropriate, especially if more than one of the same Snaps is in the pipeline. Default value: S3 Upload Example: S3 Upload |
| Bucket | String/Expression/ Suggestion | Required. Specify the S3 bucket name where the S3 object to be downloaded. Warning: Do not add S3:/// before bucket
name, because the Snap can fail. Bucket names are unique globally and can be accessed without the region name in most cases. If you cannot access a bucket name without its region name, you can specify the region information with the following syntax:
Note:
If you enter an incorrect region name, but the bucket name is valid, the AWS S3 service might successfully access the bucket without errors.
Default value: N/A Examples:
|
| Object Key | String/Expression/ Suggestion | Required. Specify the S3 object key name, which may include one or more forward-slash ('/') characters. Note:
The forward-slash character is part of the S3 object key name, and there is no folder object defined in AWS S3. The Snap uses the existing Object Key value as a prefix to produce the suggested list. The maximum length of the suggested list is 1,000. Default value: N/A Examples:
|
| Show Advanced Properties | Checkbox |
Select this checkbox to display the advanced properties. Deselect this checkbox to hide the advanced properties. Default status: Deselected |
| Thread Pool Size | Integer/Expression |
Appears when you select Show Advanced Properties checkbox. Specify the maximum number of threads to use to download multiple S3 objects simultaneously. Default value: 10 Example: 5 |
| Maximum Retries | Integer/Expression | Appears when you select Show Advanced Propertiescheckbox. Required. Specify the maximum number of retry attempts to make in case of a temporary network failure.Default value: 3 Example: 5 |
| Write Empty File | Checkbox | Appears when you select Show Advanced Properties
checkbox. Select this checkbox to write an empty S3 object when the incoming binary document has empty data. If there is no incoming document at the input view of the Snap, no S3 object is written regardless of the value in this field. Default status: Deselected |
| Multipart Size (MB) | Integer/Expression | Appears when you select Show Advanced Properties checkbox.
Learn more about uploading multipart files to S3. Default value: 10 Example: 10 |
| Access Control List | Use this fieldset to define the Access Control
List (ACL) to the specified S3 object. Note:
|
|
| Grantee | String/Expression/ Suggestion |
Appears when you select Show Advanced Properties checkbox. Select a grantee from the suggested list or enter a valid email address or a canonical ID associated to an AWS account. A canonical AWS ID can be obtained in the Security Credentials page of the AWS console. Note: A grantee can be an AWS account or one of the predefined Amazon S3 groups.
Warning:
You can use email addresses to specify a grantee in only the following regions:
Default value: N/A
Example:
|
| Read | Checkbox | Appears when you select the Show Advanced Properties
checkbox. Select this checkbox to grant permission to read the file. Default status: Deselected |
| View Permissions | Checkbox | Appears when you select Show Advanced Properties
checkbox. Select this checkbox to grant permission to read the ACL. Default status: Deselected |
| Full Control | Checkbox | Appears when you select Show Advanced Properties
checkbox. Select this checkbox to grant full control to the file. Default status: Deselected |
| Canned ACL | String/Expression | Appears when you select Show Advanced Properties checkbox. The predefined ACL grants (from AWS) to use when writing a file to S3. Note: S3
Express One Zone does not support ACL. Choose a Canned ACL from the available options:
Watch the video for more information about AWS Canned ACL.Learn more about AWS Canned ACLs. Default value: None. Example: PublicRead |
| User-defined Object Metadata | Use this field set to define key-value pairs for
user-defined object metadata of an S3 object. Learn more about Using Metadata. Note: This field set is not supported in S3 Express One Zone.
|
|
| Key | String/Expression | Appears when you select Show Advanced Properties
checkbox. Specify the key name of the object metadata. Note:
The key names of the object metadata are case-insensitive. AWS S3 converts them
to lowercase and prefixes them with When the S3 File Reader Snap reads an S3 file, this metadata is shown in the header of the output binary data, and the key names are displayed in lowercase without the prefix “x-amz-meta-”. Default value: N/A |
| Value | String/Expression | Appears when you select Show Advanced Properties
checkbox. Specify the value for the key entered above. Default value: N/A |
| Object Tags | Use this field set to define key-value pairs for
object tags of an S3 object. Object tags enable you to categorize existing and new
objects using key-value combinations. Learn more about Object Tagging. Note: This field set is not
supported in S3 Express One Zone. |
|
| Key | String/Expression | Appears on selecting Show Advanced Properties checkbox Note: The
key names of object tags are case-sensitive. When the S3 Download Snap reads an S3
object, these object tags are displayed in the header of the output binary data.
If a key name of an object tag is similar to another tag in the header, then it is
prefixed with “tag_”. Default value: N/A |
| Value | String/Expression | Appears on selecting Show Advanced Properties checkbox. Specify the value for the key entered above. Default value: N/A |
| Pass Through | Checkbox | Appears on selecting Show Advanced Properties checkbox. Select this checkbox to pass the input header as a value of the ‘original’ key in the output document. Default status: Deselected |
| Snap execution | Dropdown list |
Choose one of the three modes in
which the Snap executes. Available options are:
Default value: Execute only Example: Validate & Execute |