Skip to end of banner
Go to start of banner

S3 Upload

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Current »

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

  • Min: 1

  • Max: 1

  • CSV Formatter

  • JSON Formatter

  • XML Formatter

  • File Reader

Output

Document

  • Min: 0

  • Max: 1

  • Mapper

  • File Reader

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:

  • Stop Pipeline Execution: Stops the current Pipeline execution when the Snap encounters an error.

  • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the remaining records.

  • Route Error Data to Error View: Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap Settings

  • Asterisk (*): Indicates a mandatory field.

  • Suggestion icon ((blue star)): Indicates a list that is dynamically populated based on the configuration.

  • Expression icon ( (blue star) ): Indicates the value is an expression (if enabled) or a static value (if disabled). Learn more about Using Expressions in SnapLogic.

  • Add icon ( (blue star) ): Indicates that you can add fields in the fieldset.

  • Remove icon ((blue star)): Indicates that you can remove fields from the fieldset.

Field Name

Type

Field Dependency

Description

Label*

Default ValueS3 Upload
ExampleS3 Upload

String

N/A

Specify a unique name for the Snap.

Bucket*

Default Value: N/A
Examples

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:

<S3_bucket_name>@<region_name>

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.

  • You can access an S3 bucket in an S3 Virtual Private Cloud (VPC) endpoint by specifying the bucket name with the following syntax:

    • <S3_bucket_name>@<VPC_S3_endpoint>

  • You can access an S3 Express One Zone bucket with the following syntax:

    • <bucket-name>--<region>-<available-zone>--x-s3

  • S3 Express One Zone does not support the following bucket name pattern:

    • <bucket>@<region_info>.

  • S3 Express One Zone does not support VPC.

Object Key

Default Value: N/A
Examples

  • test.csv

  • abc/test.json

  • abc/xyz/test.xml

String/Expression/Suggestion

N/A

Specify or select the S3 object key name, which may include one or more forward-slash '/' characters.

  • 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.

Show Advanced Properties

Default Value: Deselected 

Checkbox

Select this checkbox to display the advanced properties.
Deselect this checkbox to hide the advanced properties.

Thread Pool Size

Default Value: 10
Example: 5

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
Example: 5

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
Example: Selected

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
Example: 10

Integer/Expression

Appears when you select Show Advanced Properties checkbox.

Specify the multipart size in MB:

  • The minimum multipart size is 5 MB.

  • The maximum multipart size is 5 GB.

  • The maximum number of parts in an S3 object is 10,000, and the maximum size of an S3 object is 5 TB.

  • To upload S3 objects that are more than 100 GB, you must increase the Multipart Size to at least the possible S3 object size divided by 10,000.

  • The larger the Multipart Size is, the larger the memory size that the Snap uses. For example, if the Multipart Size is 10 MB and the Thread Pool Size is 10, the memory size the Snap uses is 100 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.

  • The account that you use for the Snap must have the required permissions to set the ACLs for the S3 object it is uploading to.

  • S3 Express One Zone does not support ACL.

Grantee

Default Value: N/A
Examples:      

  • "Everyone"

  • "Authenticated user"

  •  a canonical AWS ID: 1700891f3927e316dc4c9e18c789b32131880f48d3e03ac110aaf695b212573e

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:

  • US East (N. Virginia)

  • US West (N. California)

  • US West (Oregon

  • Asia Pacific (Singapore)

  • Asia Pacific (Sydney)

  • Asia Pacific (Tokyo)

  • EU (Ireland)

  • South America (São Paulo)

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
Example: PublicRead

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:

  • None

  • Private

  • PublicRead

  • PublicReadWrite

  • AuthenticatedRead

  • LogDeliveryWrite

  • BucketOwnerRead

  • BucketOwnerFullControl

  • AwsExecRead

Watch the video for more information about AWS Canned ACL.
Learn more about AWS Canned ACLs.

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 x-amz-meta- when displayed in the AWS S3 web console.

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 ValueExecute only
Example: Validate & Execute

Dropdown list

N/A

Select one of the three modes in which the Snap executes. Available options are:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Example

Managing Data in S3.

Downloads

  1. Download and import the Pipeline into SnapLogic.

  2. Configure Snap accounts as applicable.

  3. Provide Pipeline parameters as applicable.

Snap Pack History

Release

Snap Pack Version

Date

Type

Updates

May 2024

main26341

Stable

Enhanced the S3 Select Snap to capture metadata and lineage information from the input document.

February 2024

436patches25360

Latest

Fixed an issue with the Amazon S3 Snaps that displayed a null pointer exception when the Access Key ID or Secret Key field was empty while utilizing the S3 Express Bucket in the S3 Account. The Snaps now throw the configuration exception if either field is empty.

February 2024

main25112

Stable

Updated and certified against the current Snaplogic Platform release.

November 2023

435patches24238

Latest

Added support for Amazon S3 Express One Zone in the Amazon S3 Snap Pack.

November 2023

main23721

Stable

Updated and certified against the current Snaplogic Platform release.

August 2023

main22460

Stable

Updated and certified against the current SnapLogic Platform release.

May 2023

433patches21816

Latest

The Amazon S3 Snaps automatically detect the Maximum session duration value for the Cross-Account IAM role (1 through 12 hours). The Snaps round down the value to the nearest hour. So, if the Snap administrator sets the Maximum session duration at 3 hours and 45 minutes, the Snaps read it as 3 hours. The Snaps also refresh the session before it expires. However, the automatic session refresh does not support the case of very large file upload or download that takes longer than the maximum session duration.

May 2023

main21015

Stable

Upgraded with the latest SnapLogic Platform release.

February 2023

432patches20385

Latest

Added support for Ultra Task Pipelines.

February 2023

main19844

Stable

Upgraded with the latest SnapLogic Platform release.

November 2022

main18944

Stable

  • The S3 Browser Snap output now includes the Storage Class field, which indicates the archived status of the S3 object.

  • The S3 Download Snap no longer fails even when the pipeline has multiple Snaps after 430patches18348.

October 2022

430patches18674

Latest

  • Introduced the following Snaps:

    • S3 Archive enables you to archive an S3 object and change its storage class.

    • S3 Restore enables you to restore an archived S3 object.

    • S3 Select enables you to retrieve a subset of data from an S3 object.

  • The S3 Download, S3 Archive, S3 Copy, S3 Delete, S3 Restore, and S3 Upload Snaps do not have the increased number of active threads accumulated, as they are now released immediately after the execution.

  • The S3 Download Snap now does not fail even when the pipeline has multiple Snaps after 430patches18348.

  • The S3 Browser Snap output now includes the Storage Class field, which indicates the archived status of the S3 object.

August 2022

430patches17354

Latest

The KMS Region field in the S3 Account now suggests the regions when you click the suggestion (blue star) icon.

August 2022

main17386

Stable

Introduced the Amazon S3 Snap Pack, which enables you to browse, copy, delete, download, or upload objects in S3. This Snap Pack contains the following Snaps:

  • S3 Browser: Lists the attributes of Amazon S3 objects in a specific bucket matching the prefix.

  • S3 Copy: Sends a copy request to the AWS S3 service to copy an Amazon S3 object from a source bucket to a target bucket.

  • S3 Delete: Removes an object from the specified bucket.

  • S3 Download: Downloads Amazon S3 objects from the S3 bucket.

  • S3 Upload: Uploads binary data to Amazon S3 objects.

  • S3 Presigned: Generates a presigned URL in the output document to access an Amazon S3 object.


Amazon S3 Snap Pack

https://docs-snaplogic.atlassian.net/wiki/spaces/SD/pages/1439233/Glossary

https://docs-snaplogic.atlassian.net/wiki/spaces/SD/pages/1438341/Getting+Started

https://docs-snaplogic.atlassian.net/wiki/spaces/SD/pages/1439233/Glossary

  • No labels