Skip to end of banner
Go to start of banner

S3 Presigned

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 28 Current »

In this article

Overview

You can use this Snap to generate a presigned URL in the output document to access an S3 object. You can use the presigned URL in external applications to read or write S3 objects, for example, Postman, REST Get Snap, and REST Put Snap.

The Snap may produce a presigned URL without any error if Snap properties contain invalid values, and this may cause the external application to fail.

s3-presigned-overview.png

Snap Type

The S3 Presigned Snap is a Read-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 

Document

  • Min: 0

  • Max: 1

  • Mapper

  • Copy

Output

Document

  • Min: 1

  • Max: 1

  • REST Get

  • REST Put

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

Field Type

Description

Label*

Default ValueS3 Presigned
ExampleGET presigned URL

String

Specify a unique name for the Snap.

Bucket*

 

Default Value: None
Examples

  • mybucket

  • mybucket@eu-west-1

  • Example of S3 Bucket in S3 region:

    • mybucket@s3.eu-west-1.amazonaws.com

  • Example of S3 VPC endpoint:

    • my-bucket@bucket.vpce-028b7814794578709-vu0vvauy.s3.us-west-2.vpce.amazonaws.com

    • testBucket@bucket.vpce-028b7814794578709-vu0vvauy.s3.us-west-2.vpce.amazonaws.com

String/Expression/Suggestion

Specify the S3 bucket name, from where you need to fetch or post the presigned URL.

Do not add S3:/// before bucket name, because the Snap can fail.

  • Bucket names are unique globally and can be accessed without its region name in most cases. If you cannot access a bucket name without its region name, you can specify the region information in the following syntax

    • <S3_bucket_name>@<region_name>

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

    • <S3_bucket_name>@<VPC_S3_endpoint>

Note: When you enter an incorrect region name, but the bucket name is valid, the AWS S3 service may successfully access the bucket without any error.

Object Key

Default Value: [None]
Examples

  • test.csv

  • abc/test.json

  • abc/xyz/test.xml

String/Expression/Suggestion

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.

Expire in (seconds)

Default Value: 3600
Example: 2000

Integer/Expression

Specify the time in seconds at which the generated presigned URL will expire.

Min: 1
Max: 604800 (7 days)

HTTP Method

Default Value: GET
Example: PUT

String/Expression

Specify the HTTP method verb to use for the presigned URL. The supported methods are GET and PUT.

Snap Execution

Default Value
Example: Validate & Execute

Dropdown list

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.

Examples

Generating a Presigned URL using GET Method

This example Pipeline demonstrates how to generate a presigned URL to get an S3 object.

Prerequisites: A valid AWS S3 Account

  1. Configure the S3 Download Snap to download the tmp/hello.json object from the mrtest Bucket.

  2. Validate the Pipeline. The output displays the details of the downloaded object from S3 in binary format.

  3. Next, configure the Mapper Snap to transform the binary content message to a string value.

  4. Configure an S3 Presigned Snap to generate a presigned URL to access the tmp/hello.json object using the GET HTTP Method. The validated output displays the generated pre-signed URL.

  5. Configure the REST Get Snap to send the HTTP Get request (the presigned URL).

  6. Validate the REST GET Snap. The output verifies the creation of the S3 object.

Download this pipeline.


Generating a Presigned URL Using PUT Method

This example demonstrates how to generate a presigned URL using HTTP PUT and GET methods.

  1. Configure an S3 Presigned Snap as follows with the PUT HTTP Method.

  2. Validate the Snap—it generates a presignedUrl as highlighted in the following image:

  3. Next, configure the Mapper Snap to pass the message and presignedUrl as inputs to the file that is to be written.

  4. Validate the Maper Snap—it generates the message and the presignedUrl.

  5. Configure the REST Put Snap with $presignedUrl as the Service URL, $content as HTTP Entity, and TEXT as Response entity type. The REST Put Snap creates an S3 object if it does not exist.

  6. Validate the REST Put Snap—it generates the response with the following status and the headers as shown below:

  7. Next, configure the second S3 Presigned Snap with the GET HTTP Method to generate the presigned URL.

  8. Validate the Presigned Snap. The Snap generates the presigned URL with the original input.

  9. Configure the REST Get Snap to verify the creation of the S3 object.

  10. Validate the Snap—it gets the response from the REST API service endpoint and generates the output as shown below:

Download this pipeline.


Downloads

  1. Download and import the Pipeline into SnapLogic.

  2. Configure Snap accounts as applicable.

  3. Provide Pipeline parameters as applicable.

  File Modified
No files shared here yet.

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.


  • No labels