REST AWS SigV4 Account

In this article

Overview

You can use this account type to connect REST Snaps with data sources that use REST AWS SigV4 accounts. Amazon Web Services (AWS) Signature Version 4 is the process of adding authentication information to AWS requests sent by the HTTP client.

Prerequisites

None.

Limitations and Known Issues

None.

Account Settings


ParameterData TypeDescription

Label*


Default Value: N/A
Example
AWS_V4_REST_Account

String

Specify a unique label for the account.


Access-key ID*

Default ValueN/A
Example
:Auikj8647IJKL1MPQ=

String/Expression

Specify the access key ID associated with your AWS authentication.


Secret Key*


Default ValueN/A
Example
aBcdeFGhiJKLM/N1O

String/Expression

Specify the secret key associated with your AWS authentication.


Security Token


Default Value: N/A
Example
FwoGYXdzEGUaDFInugbfG
X8xlGA4ZwNV3uSQBjIre4G7AXvfuGO2F
q41wKGc4TcSknLVYpI2aKf9z21+7oszQ==

String/Expression

Specify the security token to make requests using temporary credentials (for example, AWS STS) for accessing AWS resources. You do not have to specify Security Token if you use permanent credentials.

Learn more about adding signature to the HTTP request - AWS General Reference.


AWS Region

Default Value: N/A
Example: us-west-2

String/Expression

Specify the AWS Region for constructing the authorization header.

Service Name

Default Value: N/A
Example: S3

String/Expression

Specify the Service Name for constructing the authorization header.

If you configure this account for your REST Snaps, you must include the service and region in the Service URL field of the Snap settings. See the example below for more information.

  • If you include query parameters in the Service URL field, ensure that you pass the key-value pairs in the ascending order of the keys. For example, http://coresnapsqa-v4.s3.us-east-2.amazonaws.com/?max-keys=15&prefix=AEP
  • http://coresnapsqa-v4.s3.us-east-2.amazonaws.com/?prefix=AEP&max-keys=15 — this URL denotes an incorrect order as the keys are not in an ascending order.
  • Alternatively, you can provide the query parameters in the Query parameters field set of the Snap in any order. 

Example

Creating a New File in AWS S3 Using REST AWS SigV4 Account

The following example Pipeline demonstrates how we can create a new file in AWS S3 bucket. Broadly, creating a new file in AWS S3 is a three step process:

  1. Create File 
  2. Upload File
  3. Complete File

Prerequisites:

  • Configure a valid REST AWS SigV4 Account to authenticate the REST APIs.
  • Configure Filename as your Pipeline parameter and an S3 account for the bucket.

Create File operation

First, we configure the REST POST Snap to perform the create file operation. To this end, we configure the Snap as follows:

Next, we configure the Mapper Snap to map the response.entity to the XMLOutput column.


Then, we configure another Mapper Snap to extract the uploadId of the entity.


Upon validation, the Snap generates the output with uploadId as follows:

Upload File operation

Next, we configure the REST PUT Snap as follows to perform the upload file operation.

Next, we configure the Mapper Snap to extract the etag and uploadId.


Upon validation, the Snap generates the output with etag and uploadId entities as follows:

Complete File operation

We configure the REST HTTP POST Snap to complete the file operation.

Upon validation, the Snap generates the output preview as follows:

Finally, we configure the REST GET Snap to extract the required details from the uploaded file.

Upon validation, the Snap gets the entity data in the file as follows:


Download this Pipeline.

Downloads

Important steps to successfully reuse Pipelines

  1. Download and import the Pipeline into SnapLogic.
  2. Configure Snap accounts as applicable.
  3. Provide Pipeline parameters as applicable.

  File Modified

File Example_Create_New_File_with_AWSV4Sig.slp

Jun 09, 2021 by Kalpana Malladi


Snap Pack History

 Click to view/expand

Release

Snap Pack Version 

Date

Type

Updates

February 2024main25112 StableUpdated and certified against the current SnapLogic Platform release.
November 2023main23721 StableUpdated and certified against the current SnapLogic Platform release.

August 2023

main22460

 

Stable

Updated and certified against the current SnapLogic Platform release.

February 2023main21015 StableUpgraded with the latest SnapLogic Platform release.
February 2023432patches20054Latest

For Snaps using AWS Signature V4 accounts, DNS canonical names are now supported for S3 buckets. 

February 2023main19844 StableUpgraded with the latest SnapLogic Platform release.
November 2022main18944 StableUpgraded with the latest SnapLogic Platform release.
September 2022430patches17851 LatestThe REST Post Snap now works without displaying any errors when the Show all headers checkbox is selected and the Content-type is text/xml or application/xml.
August 2022430patches17684 Latest

The REST AWS Sig v4 Account is now enhanced with the AWS Region and Service Name fields that enable the Snap to support Virtual Private Cloud (VPC) endpoint.

August 2022main17386 Stable
  • You can set cookie policy specifications using the Cookie Policy dropdown list in REST Snaps .

  • Support for auto-retries where the REST Snaps automatically retry when they encounter 429 HTTP status code - Too Many Requests error.

  • The REST AWS Sig v4 Account supports:

    • Passing AWS Security Token Service (STS) temporary credentials in the Security Token field.

    • Expression values for Access-key ID and Secret Key fields.

  • Improved the performance of REST Snaps when the Snaps encounter Unauthorized (401) or Forbidden (403) errors even when the user credentials are available in the organization and the account type is OAuth2.

4.29  Patch

429patches17084

 Latest
 Learn more

Cookie Policy: The Cookie Policy to select from the following options:

BROWSER COMPATIBILITY: This policy is compatible with different servers even if they are not completely standards-compliant. If you are facing issues while parsing cookies, you should try using this policy.

IGNORE COOKIES: This cookie policy ignores all cookies. You should use this policy to prevent HTTP Client from accepting and sending cookies.

RFC STRICT: All servers that handle version 1 cookies should use this policy.

RFC LAX: The original cookie specification which formed the basis for RFC2109.

  • Added a new field Security Token in the REST AWS Sig v4 Account to support AWS Security Token Service (STS) for using temporary credentials.

  • Enhanced the REST AWS Sig v4 Account to support expression values for Access-key ID and Secret Key fields.

4.29  Patch429patches16076 Latest
  • Enhanced the REST Snaps with support for auto-retry where the Snap retries automatically when the Snap encounters 429 HTTP status code - Too many requests error.
  • Improved the performance of REST Snaps when the Snaps encountered errors due to Unauthorized (401) or Forbidden (403) statuses though the user credentials are available in the organization and the account type is OAuth2.
4.29main15993 Stable

Added the REST In-memory OAuth2 Account type with Client Credentials Grant Type that supports and stores the access token in memory for reuse until it expires. When the Snap encounters 401 or 403 errors, this account generates a new token after refreshing the cache.

4.28  Patch428patches15172 Latest

Fixed an issue that caused REST SSL accounts to fail when the username in the REST SSL Account was null and the Enhanced Encryption level was low, medium, or high.

4.28main14627 Stable
  • Enhanced the REST Post, REST Put, and REST Patch Snaps with the Multipart Type list to support multipart (files and text) upload.

  • Renamed the following fields:

    • Upload File(s) field set to Form Upload

    • Upload-file key to Multipart Key

    • Upload file to Multipart Value

4.27 Patch427patches12750 LatestEnhanced the REST Put Snap with the Upload Transfer Request Type field to support encoding of chunked transfer and calculating content length.
4.27main12989Stable and LatestFixed an issue in the REST OAuth2 account that caused a new feature, OAuth Password Grant Type to be excluded from the GA version. The latest deployed build includes this feature.

4.27

main12833

 

Stable

Enhanced REST OAuth2 accounts with a new option password for Grant Type to obtain an access token through user credentials. On selecting password, the Snap populates the Username and Password fields to enter the credentials.
4.26426patches12749Latest

Fixed an issue with the REST Post Snap, where the Snap delayed the fetching of documents, when the batch size is greater than or equal to one.

4.26426patches11746Latest

Enhanced the REST Post Snap to display all cookies (securedauth cookies and httponly cookies) from the CookieStore along with headers when you select the Show all headers checkbox.

4.26main11181 StableUpgraded with the latest SnapLogic Platform release.
4.25 Patch425patches10419 LatestFixed a memory leak issue in the REST Snap Pack
4.25 Patch425patches9929 LatestEnhanced the REST Snap Pack to support Proxy Authentication.
4.25 Patch425patches9684 Latest
  • Fixed the REST Post Snap that fails to correctly set the Content-Length header when working with multi-file uploads.
  • Added Send Client Data as Basic Auth Header check box to the Create Account settings of the OAuth2 and OAuth2 SSL accounts. This check box enables you to include and pass the client credentials information in the header when connecting to the OAuth endpoint.
  • Added a new account type REST AWS Sig V4 Account that adds the ability to call any AWS API.
4.25main9554 StableUpgraded with the latest SnapLogic Platform release.
4.24main8556 
StableUpgraded with the latest SnapLogic Platform release.
4.23main7430StableImproved the handling of expired access tokens in REST Snaps that use OAuth2 accounts (REST OAuth2 Account and REST OAuth2 SSL Account). The Snaps can refresh expired access tokens on-demand, through a request to the platform. The Snap reloads the account with the updated/fresh access token before attempting the next retry.
4.22 Patch422patches7103 StableEnhances the Snaps in REST Snap Pack by separating the retry logic for OAuth account from that of the Snap.
4.22main6403 Stable
  • Added a new account type, REST OAuth2 SSL, which enables support for the OAuth2 SSL authentication for REST Snaps with endpoints that require client certificates.
  • [Docs Update] Applied the enhanced doc template to the Snap Pack's documentation. Improves usability by enhancing Snap field descriptions, functional examples, and use cases. 
4.21 Patchrest8858-LatestFixed the REST Get and REST Post Snaps that does not parse Content-Encoding and Content-Type headers for gzipped responses.
4.21

snapsmrc542

-StableUpgraded with the latest SnapLogic Platform release.
4.20 Patchrest8798-LatestFixed the REST POST Snap that fails when a single file is uploaded in multi-part form using the Single file upload Snap settings.

4.20

snapsmrc535

-

Stable

  • The new Multipart related option in the Upload body type property in the REST Post Snap enables you to post files to the Google Drive API and retain the original names.
  • The REST Account now has a new Grant Type option called Client Credentials. This enables the Snap to obtain an access token to the client ID and client secret through the token endpoint URL.
4.19 Patchrest8374-Latest
  • Added a drop-down property Retry Policy to the REST Snaps to provide users with different retry options for connection and 4xx and 5xx error responses.
  • Fixed the REST GET Snap that limits the output to five documents, even when more output documents are expected.

Critical fix

If your current or new Pipelines with REST Snaps use the retry functionality, then we recommend you to use this latest patch version as subsequent GA releases may result in Pipeline executions failing. Else, you can continue using your existing Snap Pack version (stable distribution – snapsmrc528).

4.19snapsmrc528-Stable

Fixed a regression issue wherein REST Snaps are unable to handle empty XML responses when Show All Headers is enabled.

4.18

snapsmrc523-StableUpgraded with the latest SnapLogic Platform release.
4.15 Patchrest6310-Latest

Fixed an issue with the NLTM Rest account connection hanging infinitely.

4.15snapsmrc500-StableUpgraded with the latest SnapLogic Platform release.

4.14 Patch

rest6159-LatestFixed an issue wherein the REST GET and POST Snaps were infinitely trying to connect to endpoint even after pipeline execution abortion.
4.14 Patch

rest5782

-Latest

Fixed an issue wherein the REST POST Snap was not accepting any blank values from upstream Mapper Snap.

4.14 Patchrest5719-Latest

Fixed an issue where the Ultra task was not producing a valid response while acknowledging documents.

4.14

snapsmrc490

-StableUpgraded with the latest SnapLogic Platform release.

4.13 Patch

NA-Latest

REST POST Snap: New properties: Multipart Content-Type, and Filename to be used added.

4.13snapsmrc486-StableUpgraded with the latest SnapLogic Platform release.
4.12 Patchrest4917-Latest

Fixed an encoding issue with the REST Get Snap so that it uses the same encoding format (UTF-8) by default on all machines instead of using a different encoding format based on the machine's Operating System.

4.12 Patch rest4816-Latest

Fixed an issue that caused the REST OAuth accounts to fail when running in orgs with Enhanced encryption in Medium or higher level. 

4.12 Patchrest4781-Latest

Enhanced REST Post Snap to prevent it from encoding file names.

4.12snapsmrc480-Stable

Added Upload body type property to the REST Post Snap for processing the specified content type.

4.11 Patchrest4333-Latest

Added support for the Binary File Uploads with the REST POST Snap.

4.11snapsmrc465-Stable

Updated support of NTLM Account Authentication to the REST Snap Pack.

4.10 Patch rest4070-Latest

Resolved an issue with the REST GET Snap that often fails to exit properly. This should reduce or eliminate that problem.

4.10snapsmrc414-StableUpgraded with the latest SnapLogic Platform release.
4.9 Patchrest3177-Latest

Addressed an issue with REST Get displaying the authorization header in plain text

4.9 Patchrest3126-Latest

Added Connection timeout property to specify the number of seconds to wait before terminating a connection. The Timeout property has been renamed to Read timeout.

4.9.0snapsmrc405-StableUpgraded with the latest SnapLogic Platform release.
4.8.0snapsmrc398-StableUpgraded with the latest SnapLogic Platform release.
4.7.0 Patchrest2555-Latest
  • Addressed an issue in the REST Post Snap with the REST API not returning a full cookie response.
  • Added Show all headers setting to the show full cookie response for the Post, Put, Patch and Delete Snaps.
4.7.0 Patchrest2336-Latest

Resolved an issue with REST Get not handling multiple response cookies.

4.7.0 Patchrest2260-Latest

Added a new "Follow redirects" setting to toggle whether redirects should be followed (default behavior is to follow redirects)

4.7.0snapsmrc382-Stable
  • Updated Snaps in the REST Snap Pack with Response entity type field(The DEFAULT option under this property allows the backward compatibilityThe addition of the property will not affect the existing production pipelines and allows them to run as before).

  • Updated Snaps in the REST Snap Pack with Maximum request attempts and Retry request interval Upload fields.  

  • Updated the RESTPost Snap with Upload transfer request type field.

4.6.0 Patchrest1992-Latest

Resolved an issue where Rest Snaps failed to process the received response that is encoded in charsets such as Windows-1252. This fix will process the response purely based on the charset provided in the Content-Type header.

4.6.0snapsmrc362-StableUpgraded with the latest SnapLogic Platform release.
4.5.1rest1566-Latest
  • A new property was added to the REST Get Snap to specify the iteration interval for pagination.

  • All Snaps now have at most one input and one output view.

4.5.0snapsmrc344-StableUpgraded with the latest SnapLogic Platform release.
4.4.1NA-Latest

Resolved an issue with REST SSL Accounts with Username not send the Authorization header with the HTTP request.

4.4.0NA-Stable

REST Get now supports using parameters from an input document in the Next URL Setting.

4.3.1NA-Latest

Addressed a defect where REST GET Snap fails saying 'Scheme "http" not registered'

Fall Release 2015 (4.3.0)NA-Stable
  • Two-way SSL support was added to the REST account.

  • REST Get 

    • Now has support for iterating over additional result pages.

    • Header variables are now being updated for each input

  • REST Post

    • Improved error handling messages.

    • Resolved an issue with the Snap failing with "Failed to execute HTTP request" error.

September 5, 2015 (4.2.2)NA-Latest
  • Maximum retries and Retry interval support added.

  • Resolved an issue with using a REST Dynamic OAuth2 account with Facebook Graph API.

  • REST Account: REST SSL account added.

June 27, 2015 (2015.22)

NA-Latest

REST Get now allows you to have no output views. Previously, there was exactly one output view.

June 6, 2015 (2015.20)NA-Latest

Rest Post Snap now supports posting a file.

May 2, 2015

NA-Stable

REST: Output views made optional 

January 2015

NA-Stable

Optional Raw data property added to all REST Snaps. If selected, the HTTP response content is written to the output view as is. If not selected, it is parsed according to the content type specified in the response header.

October 18, 2014

NA-Stable
  • NEW! REST Patch Snap introduced in this release.

  • Addressed an issue where REST GET (and perhaps REST Snaps) error view does not include response body. 

Fall 2014

NA-Stable

REST Get: support added for gzip format.

June 30, 2014

NA-Stable

Addressed an issue with RestRequestExecutor class writing data into error views even on successful requests status code 201, 204.

May 2014

NA-StableREST Get, REST Post all updated to support input parameters in HTTP headers

July 2013

NA-Stable
  • NEW! REST Delete Snap introduced in this release.

  • NEW! REST Get Snap introduced in this release.

  • NEW! REST Post Snap introduced in this release.

  • NEW! REST Put Snap introduced in this release.

Related Links