S3 Presigned
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.
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 |
|
|
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 | Field Type | Description |
---|---|---|
Label* Default Value: S3 Presigned | String | Specify a unique name for the Snap.
|
Bucket*
Default Value: None
| 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. |
Object Key Default Value: [None]
| String/Expression/Suggestion | Specify or select the S3 object key name, which may include one or more forward-slash '/' characters. |
Expire in (seconds) Default Value: 3600 | Integer/Expression | Specify the time in seconds at which the generated presigned URL will expire. Min: 1 |
HTTP Method Default Value: GET | String/Expression | Specify the HTTP method verb to use for the presigned URL. The supported methods are GET and PUT. |
Snap Execution Default Value: | Dropdown list | Select one of the three modes in which the Snap executes. Available options are:
|
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
Configure the S3 Download Snap to download the tmp/hello.json object from the mrtest Bucket.
Validate the Pipeline. The output displays the details of the downloaded object from S3 in binary format.
Next, configure the Mapper Snap to transform the binary content message to a string value.
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.
Configure the REST Get Snap to send the HTTP Get request (the presigned URL).
Validate the REST GET Snap. The output verifies the creation of the S3 object.
Generating a Presigned URL Using PUT Method
This example demonstrates how to generate a presigned URL using HTTP PUT and GET methods.
Configure an S3 Presigned Snap as follows with the PUT HTTP Method.
Validate the Snap—it generates a presignedUrl as highlighted in the following image:
Next, configure the Mapper Snap to pass the message and presignedUrl as inputs to the file that is to be written.
Validate the Maper Snap—it generates the message and the presignedUrl.
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.
Validate the REST Put Snap—it generates the response with the following status and the headers as shown below:
Next, configure the second S3 Presigned Snap with the GET HTTP Method to generate the presigned URL.
Validate the Presigned Snap. The Snap generates the presigned URL with the original input.
Configure the REST Get Snap to verify the creation of the S3 object.
Validate the Snap—it gets the response from the REST API service endpoint and generates the output as shown below:
Downloads
Snap Pack History
Related Links
Have feedback? Email documentation@snaplogic.com | Ask a question in the SnapLogic Community
© 2017-2024 SnapLogic, Inc.