Appian -> AWS SNS -> AWS SQS

We are trying to assert a specific payload onto an SQS queue from Appian to be picked up by an external tool and processed.  Given that Appian doesn't have an AWS SQS interface natively,  we've been trying to use the SNS Rest API to apply our payload onto an SNS topic and let a filter feed it to the SQS queue.

However we're having a lot of trouble configuring our Message Query Parameter and our MessageAttributes.

Does anyone have a sample POSTMAN, or even a screen shot of a successful Appian -> SNS integration with a message body and message attributes?  

Any help that can be offered will be gratefully received.

  Discussion posts and replies are publicly visible

Parents
  • +1
    Certified Senior Developer

    Hi, 

    Since Appian doesn't natively integrate with SQS, using SNS as an intermediary with filter-based forwarding is a clever workaround.

    Understanding Message Attributes

    • Message Attributes add metadata to SNS messages.
    • They are key-value pairs (string name, string value).
    • Some attributes have special meaning for filtering                

    Postman Setup

    1. Endpoint: Find your SNS Topic ARN (looks like arn:aws:sns:region:account-id:topic-name)
    2. Method: POST
    3. Authorization: Use AWS Signature Version 4 (Postman can help generate this based on your credentials)
    4. Headers:
      • Content-Type: application/x-www-form-urlencoded
    5. Body: (form-urlencoded)
      • Action: "Publish"
      • Version: "2010-03-31"
      • Message: Your JSON payload string
      • MessageAttributes.entry.1.Name: (attribute name, e.g., "eventType")
      • MessageAttributes.entry.1.Value.StringValue: (attribute value)
      • MessageAttributes.entry.1.Value.DataType: "String"
      • ... (add more attributes as needed)

    Appian Integration (HTTP Connected System)

    1. Create Connected System:
      • Type: HTTP
      • Authentication: AWS Signature Version 4
    2. Create Integration:
      • Method: POST
      • Endpoint URL: Substitute your SNS Topic ARN
      • Headers:
        • Content-Type: application/x-www-form-urlencoded
      • Parameters
        • Use Appian expressions to dynamically construct parameters listed in the Postman body section

    Note:

    • SQS Subscription: Ensure your SQS queue is subscribed to the SNS topic with an appropriate filter policy based on your Message Attributes.
    • Error Handling: Implement robust error handling on the Appian side.
Reply
  • +1
    Certified Senior Developer

    Hi, 

    Since Appian doesn't natively integrate with SQS, using SNS as an intermediary with filter-based forwarding is a clever workaround.

    Understanding Message Attributes

    • Message Attributes add metadata to SNS messages.
    • They are key-value pairs (string name, string value).
    • Some attributes have special meaning for filtering                

    Postman Setup

    1. Endpoint: Find your SNS Topic ARN (looks like arn:aws:sns:region:account-id:topic-name)
    2. Method: POST
    3. Authorization: Use AWS Signature Version 4 (Postman can help generate this based on your credentials)
    4. Headers:
      • Content-Type: application/x-www-form-urlencoded
    5. Body: (form-urlencoded)
      • Action: "Publish"
      • Version: "2010-03-31"
      • Message: Your JSON payload string
      • MessageAttributes.entry.1.Name: (attribute name, e.g., "eventType")
      • MessageAttributes.entry.1.Value.StringValue: (attribute value)
      • MessageAttributes.entry.1.Value.DataType: "String"
      • ... (add more attributes as needed)

    Appian Integration (HTTP Connected System)

    1. Create Connected System:
      • Type: HTTP
      • Authentication: AWS Signature Version 4
    2. Create Integration:
      • Method: POST
      • Endpoint URL: Substitute your SNS Topic ARN
      • Headers:
        • Content-Type: application/x-www-form-urlencoded
      • Parameters
        • Use Appian expressions to dynamically construct parameters listed in the Postman body section

    Note:

    • SQS Subscription: Ensure your SQS queue is subscribed to the SNS topic with an appropriate filter policy based on your Message Attributes.
    • Error Handling: Implement robust error handling on the Appian side.
Children