Amazon SNS Account

In this article

Overview

You can use this SnapLogic Account to connect Snaps in the Amazon SNS Snap Pack to your Amazon SNS service.

Prerequisites

None.

Limitation

The AWS SNS extended client does not support sending JSON messages larger than 256 KB.
Work-around: You can use the TEXT format instead of the JSON format for sending messages.

Known Issues

None.

Account 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

Field Dependency

Description

Field Name

Field Type

Field Dependency

Description

Label*

 

Default ValueN/A
ExampleAmazon SNS Account

String

N/A

Specify a unique label for the account.

 

Access-key ID

 

Default Value: N/A
ExampleLKIAIVKOR4AP72KVCWLA

String/Expression

N/A

Specify the access key ID of AWS authentication.

 

Secret key

 

Default Value: N/A
Example7FTUHh7aMlBM5CX1ayyxy

String/Expression

N/A

Specify the secret key of AWS authentication.

 

Security token

 

Default Value: N/A
Examplez7PmG8F6DY5xblJHwN

String/Expression

N/A

Specify a security token that is part of AWS Security Token Service (STS) credentials. Note that only global STS regions are supported.

 

IAM role

 

Default ValueNot selected

Checkbox

N/A

Select this checkbox to use the IAM role stored in the EC2 instance to access SNS. In this case, Access-key ID and Secret key are ignored. This feature is valid only in EC2-type Groundplex.

For more information on IAM Roles, see IAM roles for Amazon EC2.

You can use an IAM role to manage temporary credentials for applications running on an EC2 instance and making AWS CLI or AWS API requests. This is preferable to storing access keys within the Amazon Elastic Compute Cloud EC2 (Amazon EC2) instance. To assign an AWS role to an EC2 instance and make it available to all of its applications, you create an instance profile attached to the instance. An instance profile contains the role and enables programs that are running on the EC2 instance to get temporary credentials. For more information, see Using an IAM role to grant permissions to applications running on Amazon EC2 instances in the IAM User Guide.

 

Cross Account IAM Role

Use this fieldset to set up cross-account IAM role access. It consists of the following fields.

Role ARN

 

Default Value: None
Examplearn:aws"iam:3443454566774:role/IAMRolewithaccess

String/Expression

N/A

Specify the Amazon Resource Name of the role to assume.

 

External ID

 

Default Value: None
Example: 795735

String/Expression

N/A

Specify an optional external ID that might be required by the role to assume.

 

Enable large message support

 

Default value: Deselected

Checkbox

When you select this checkbox, the S3 fields to configure for supporting large messages display.

Select this checkbox to enable the SNS Publish Message Snap to send and receive messages greater than 256 KB. When you select this checkbox, the S3 fields appear.

The AWS SNS Extended Client Library for Java uses S3 only if the message size is greater than 256 KB.

S3 Configuration for Large Message Support

Use this field set to configure the S3 bucket details for processing large messages.

S3 Bucket

 

Default Value: N/A
Example: sandbox-s3-bucket

String/Expression

Appears when you select the Enable Large Message Support checkbox.

Specify the S3 Bucket name residing in an external AWS account.

If the field is left empty, the default region (the region of the EC2 instance, or us-west-2 if the JCC is not on a EC2) is used. 

 

S3 Bucket region

 

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

String/Expression/Suggestion

Appears when you select the Enable Large Message Support checkbox.

Specify the region where the S3 Bucket is located.

S3 Credentials

 

Default valueUse SNS Credentials
ExampleProvide Separate Credentials

String/Expression

Appears when you select the Enable Large Message Support checkbox.

 

Choose the S3 credentials for the S3 Bucket. The available options are:

  • Use SNS Credentials

  • Provide Separate Credentials

S3 access key ID

 

Default Value: N/A
Example: <Encrypted>

String/Expression

Appears when you select Provide Separate Credentials for S3 Credentials.

Specify the S3 access key ID that you want to use for AWS authentication.

S3 Secret Key

 

Default Value: N/A
Example: <Encrypted>

String/Expression

Appears when you select Provide Separate Credentials for S3 Credentials.

Specify the S3 secret key associated with the S3 Access-ID key listed in the S3 Access-key ID field.

S3 Security Token

 

Default Value: N/A
Examplez7PmG8F6DY5xblJHwN

String/Expression

Appears when you select Provide Separate Credentials for S3 Credentials.

Specify a security token that is part of AWS Security Token Service (STS) credentials. Note that only global STS regions are supported.

 

Use EC2 Role

 

Default ValueDeselected

Checkbox

Appears when you select Provide Separate Credentials for S3 Credentials.

Select this checkbox to use the Amazon Elastic Cloud Compute Role.

Assumed role ARN

 

Default Value: N/A
Example: arn:aws:sts::123456789012:assumed-role/MyRole/12345678901234567890123456789012

String/Expression

Appears when you select Provide Separate Credentials for S3 Credentials.

Specify the Amazon Resource Name of the role to assume.

Assumed role External ID

 

Default Value: N/A
Example: 1234567890123456

String/Expression

Appears when you select Provide Separate Credentials for S3 Credentials.

Specify an external ID that may be required by the role to assume.

Amazon SNS Account Configuration Scenarios

The following are the possible configuration combinations for the Amazon SNS account:

Scenario

Authentication Type

Other Details

Scenario

Authentication Type

Other Details

When you configure the account using the Access Key ID, Secret key, and Security token.

 

The SNS credentials are used for authentication.

 

 

Specify values in the following fields:

  • Access Key ID

  • Secret key

  • Security token (optional)

Learn more about Generating Access and Secret Keys in AWS.

IAM Role

When you configure the account using the IAM Role.

 

The IAM role attached to the EC2 instance is used for authentication. This role is assigned to an EC2 instance where the pipelines run.

You do not have to provide the Access Key ID and Secret key.

Select the IAM role checkbox for an account used in EC2 Groundplex that has the IAM role assigned.

When you configure the SNS account using the IAM Role with the Enable large message support checkbox selected.

When you select Use SNS Credentials for S3 Credentials.

 

Authenticates using the SNS credentials for S3.

Specify values in the following fields:

  • S3 Bucket

  • S3 Bucket region.

When you select Provide Separate Credentials for S3 Credentials.

Authenticates using the specified separate S3 credentials.

Specify values in the following fields:

  • S3 Bucket

  • S3 Bucket region.

  • S3 access key ID

  • S3 Secret key

  • S3 Security Token (optional)

Cross Account IAM Role

When you configure the account using the Cross Account IAM Role.

Authenticates using the Role ARN generated in AWS.

Specify values in the following fields:

  • Role ARN

  • External ID (optional)

Learn more about Configuring Cross Account IAM Role Support.

When you configure the SNS account by selecting the Cross Account IAM Role and the Enable large message support checkboxes.

When you select Use SNS Credentials for S3 Credentials.

 

Authenticates using the SNS credentials.

Specify values in the following fields:

  • Access Key ID

  • Secret key

  • Security token (optional)

When you select Provide Separate Credentials for S3 Credentials.

Authenticates using the specified S3 credentials.

Specify values in the following fields:

  • S3 credentials:

    • S3 access key ID

    • S3 Secret key

    • S3 Security token (optional)

EC2 Role

When you configure the account using the EC2 Role for S3.

The IAM role attached to the EC2 instance is used for authentication.

Select the Use EC2 Role checkbox.

When you configure the account using the EC2 Role for S3 with the Cross Account IAM Role.

Authenticates using the Assumed role ARN.

Select the Use EC2 Role checkbox and specify values in the following fields:

  • Assumed role ARN

  • Assume role External ID (optional)

Learn more about https://docs-snaplogic.atlassian.net/wiki/spaces/SD/pages/2478408000

Troubleshooting

Error

Reason

Resolution

Error

Reason

Resolution

Invalid account configuration.

You might have entered empty or null values in Cross Account IAM Role fields.

Enter valid values for Cross Account IAM Role.

Validate_account_with_expression.

One or more pipeline parameters must be configured in the pipeline. Validation is not applicable for pipeline parameters.

Do not validate the account if you provide pipeline parameters.

Account_credentials_missing.

Either Access key or secret key might be empty.

You must provide valid credentials for SNS if the IAM role is disabled.

Blank or empty S3 Key ID.

Either Access key or Secret key is empty.

Provide a valid Access key and Secret key.

The message size is greater than 2 GB.

The size of the message size is greater than 2 GB.

The maximum limit for the message size should be 2 GB.

Snap Pack History