User Community Service Desk Downloads

Amazon SQS Connection

To use Amazon SQS, you need to configure it in the <contributedConfigs> section of the mdm.runtimeConfig file. You can use either Access Key authentication or Assume Role authentication.

Specify the following parameters for this connection:

  • name: Name of the SQS connection.

  • properties: List of properties to define the SQS connection. If the same property name is specified multiple times, the one defined later will override the previous value. Possible properties are:

    • url: The SQS queue URL.

    • region: The AWS region of the SQS queue.

    • authType: The authentication type. Available values: AWS_ACCESS_KEY, AWS_POD_IDENTITY_TOKEN

    • accessKey: The AWS Access Key ID (used with AWS_ACCESS_KEY authentication)

    • secretKey: The AWS Secret Access Key (used with AWS_ACCESS_KEY authentication)

    • sessionToken: The session token generated for assumed role (optional, used with temporary credentials).

    • assumeRole.enabled (Boolean): If true, Assume Role authentication is enabled. The default value is false.

    • assumeRole.roleArn: The Amazon Resource Name (ARN) of the role to assume.

    • assumeRole.externalId: The external ID for assuming the role (if required).

    • assumeRole.sessionName: The name of the session when assuming the role.

    • assumeRole.webTokenFile: The path to the web identity token file.

    • assumeRole.region: The AWS region for Assume Role.

    • sqsResponseTimeout: The timeout in milliseconds for receiving a response from SQS.

    • readBatchTimeoutSeconds: Maximum number of seconds to wait for a message on SQS.

    • receiveBatchSize: Number of messages to read from SQS in one request. The maximum value is 10.

    • deleteBatchSize: Number of messages to delete from SQS in one request. The maximum value is 10.

    • maxReceiveQueueLength: Maximum size of the receive queue. If reached, no more messages will be read.

    • maxDeleteQueueLength: Maximum size of the delete queue. If reached, no more messages will be read.

Sample configuration for AWS_ACCESS_KEY authentication type
<config class="com.ataccama.nme.sqs.config.SqsContributor">
    <sqsConnections>
        <sqsConnection name="awssqsmdm">
            <properties>
                <property name="url" value="https://sqs.eu-central-1.amazonaws.com/123546789/example-sqs-queue"/>
                <property name="region" value="eu-central-1"/>
                <property name="authType" value="AWS_ACCESS_KEY"/>
                <property name="accessKey" value="SOMEaccessKEYWYOV7AKLGJ"/>
                <property name="secretKey" value="SOMEsecretKEYcvrA2UiMmAcYd2DXf1pRDWyK5OrOtCGX5XRkfp12"/>
            </properties>
        </sqsConnection>
    </sqsConnections>
</config>
Optional additional properties
<property name="sqsResponseTimeout" value="10000"/>
<property name="readBatchTimeoutSeconds" value="10"/>
<property name="receiveBatchSize" value="10"/>
<property name="deleteBatchSize" value="10"/>
<property name="maxReceiveQueueLength" value="100"/>
<property name="maxDeleteQueueLength" value="1000"/>
Sample configuration for AWS_POD_IDENTITY_TOKEN authentication type
<config class="com.ataccama.nme.sqs.config.SqsContributor">
    <sqsConnections>
        <sqsConnection name="awssqsmdm">
            <properties>
                <property name="url" value="https://sqs.eu-central-1.amazonaws.com/123546789/example-sqs-queue"/>
                <property name="region" value="eu-central-1"/>
                <property name="authType" value="AWS_POD_IDENTITY_TOKEN"/>
            </properties>
        </sqsConnection>
    </sqsConnections>
</config>
Sample configuration for Assume Role with one of the available authentication types (AWS_POD_IDENTITY_TOKEN)
<config class="com.ataccama.nme.sqs.config.SqsContributor">
    <sqsConnections>
        <sqsConnection name="awssqsmdm">
            <properties>
                <property name="url" value="https://sqs.eu-central-1.amazonaws.com/123546789/example-sqs-queue"/>
                <property name="region" value="eu-central-1"/>
                <property name="authType" value="AWS_POD_IDENTITY_TOKEN"/>
                <property name="assumeRole.enabled" value="true"/>
                <property name="assumeRole.roleArn" value="arn:aws:iam::000000000000:role/ROLE_NAME"/>
                <property name="assumeRole.sessionName" value="SOMEstring"/>
                <property name="assumeRole.region" value="eu-central-1"/>
            </properties>
        </sqsConnection>
    </sqsConnections>
</config>
Optional additional properties for Assume Role configuration
<property name="sessionToken" value="SOMEsecretSESSIONtoken=="/>
<property name="assumeRole.externalId" value="externalId"/>
<property name="assumeRole.webTokenFile" value="file"/>
The connection to Amazon SQS in MDM streaming and the Writer Step through the JMS functionality JMSWriter will be deprecated but still supported for a transitional period.

Was this page useful?