S3 Upload
In this article
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.
Snap Type
The S3 Upload is a Write type Snap.
Prerequisites
None.
Support for Ultra Pipelines
Works in Ultra Pipelines.
Limitations and Known Issues
None.
Snap Views
Type | Format | Number of Views | Examples of Upstream and Downstream Snaps |
---|---|---|---|
Input | Binary |
|
|
Output | Document |
|
|
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:
Learn more about Error handling in Pipelines. |
Snap Settings
Asterisk (*): Indicates a mandatory field.
Suggestion icon (): Indicates a list that is dynamically populated based on the configuration.
Expression icon ( ): Indicates the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.
Add icon ( ): Indicates that you can add fields in the fieldset.
Remove icon (): Indicates that you can remove fields from the fieldset.
Field Name | Type | Field Dependency | Description | ||
---|---|---|---|---|---|
Label*
Default Value: S3 Upload | String | N/A | Specify a unique name for the Snap.
| ||
Bucket*
Default Value: N/A
| String/Expression/Suggestion | N/A | Specify the S3 bucket name, from where an S3 object is to be downloaded. 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.
| ||
Object Key Default Value: N/A
| String/Expression/Suggestion | N/A | Specify or select the S3 object key name, which may include one or more forward-slash '/' characters.
| ||
Show Advanced Properties Default Value: Deselected | Checkbox |
| Select this checkbox to display the advanced properties. | ||
Thread Pool Size Default Value: 10 | Integer/Expression | Appears when you select Show Advanced Properties checkbox. | Specify the maximum number of threads to use to download multiple S3 objects simultaneously.
| ||
Maximum Retries* Default Value: 3
| Integer/Expression | Appears when you select Show Advanced Properties checkbox. | Specify the maximum number of retry attempts to make in case of a temporary network failure.
| ||
Write Empty File Default Value: Deselected | 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. | ||
Multipart Size (MB) Default Value: 10 | Integer/Expression | Appears when you select Show Advanced Properties checkbox. | Specify the multipart size in MB:
Learn more about uploading multipart files to S3. | ||
Access Control List | Use this fieldset to define the Access Control List (ACL) to the specified S3 object.
| ||||
Grantee Default Value: N/A
| 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. A grantee can be an AWS account or one of the predefined Amazon S3 groups. Email Address Grantee Access You can use email addresses to specify a grantee in only the following regions:
Learn more about Specifying Grantee. | ||
Read | Checkbox | Appears when you select Show Advanced Properties checkbox. | Select this checkbox to grant permission to read the file. | ||
View Permissions | Checkbox | Appears when you select Show Advanced Properties checkbox. | Select this checkbox to grant permission to read the ACL. | ||
Full Control | Checkbox | Appears when you select Show Advanced Properties checkbox. | Select this checkbox to grant full control to the file. | ||
Canned ACL Default Value: None | String/Expression | Appears when you select Show Advanced Properties checkbox. | The predefined ACL grants (from AWS) to use when writing a file to S3. 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. | ||
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. This field set is not supported in S3 Express One Zone. | ||||
Key Default value: N/A
| String/Expression | Appears when you select Show Advanced Properties checkbox. | Specify the key name of the object metadata. 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-”.
| ||
Value Default value: N/A
| String/Expression | Appears when you select Show Advanced Properties checkbox. | Specify the value for the key entered above.
| ||
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. This field set is not supported in S3 Express One Zone. | ||||
Key Default value: N/A
| String/Expression | Appears on selecting Show Advanced Properties checkbox. | Specify the key name of the object tag. 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_”. | ||
Value Default value: N/A
| String/Expression | Appears on selecting Show Advanced Properties checkbox. | Specify the value for the key entered above.
| ||
Pass Through Default Value: Not selected | 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.
| ||
Snap Execution Default Value: Execute only | Dropdown list | N/A | Select one of the three modes in which the Snap executes. Available options are:
|
Example
Downloads
Download and import the Pipeline into SnapLogic.
Configure Snap accounts as applicable.
Provide Pipeline parameters as applicable.
Snap Pack History
Related Links
https://docs-snaplogic.atlassian.net/wiki/spaces/SD/pages/1438341/Getting+Started
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2025 SnapLogic, Inc.