View Revisions: Issue #7019

Summary 0007019: Add support for AWS SNS (load-only endpoint)
Revision 2025-08-13 13:59 by cquamme
Description Adding support for AWS SNS as a load-only implementation.
Revision 2025-08-13 18:16 by pbelov
Description Add support for Amazon Simple Notification Service (AWS SNS) queue as a load-only implementation.
(Similar to RabbitMQ)

Key points:
1. Publish: convert entire row of data into a format specified by the new parameter (also see Additional Information below) employing a utility class (TODO: research).
2. Target table name becomes a topic
3. Updates to SymmetricDS internal tables go into the local runtime database (H2 for example)
4. If topic does not exist, batch should fail with the Table not Found error.
5. The Create Table batch should create new topic.
6. Checking endpoint permissions (on SNS) should include:
* Authentication
* Create topic.
* Publish one message to topic.
* No bulk publishing supported at this time.
* SNS message body format


Revision 2025-08-13 13:59 by cquamme
Steps To Reproduce
Revision 2025-08-13 18:16 by pbelov
Steps To Reproduce * Install SymmetricDS node for SNS
* Create SNS instance
* Obtain AWS API key for SNS (credentials)
* Send data change events or initial load to SNS node.
Revision 2025-08-13 13:59 by cquamme
Additional Information
Revision 2025-08-13 18:16 by pbelov
Additional Information SNS message body format:
{
   "column_name"="value"
   , ...
}

https://docs.aws.amazon.com/sns/latest/dg/example_sns_CreateTopic_section.html
Revision 2025-08-13 18:25 by pbelov
Description Add support for Amazon Simple Notification Service (AWS SNS) queue as a load-only implementation.
(Similar to RabbitMQ)

Key points:
1. Publish: convert entire row of data into a format specified by the new parameter (also see Additional Information below) employing a utility class (TODO: research).
2. Target table name becomes a topic
3. Updates to SymmetricDS internal tables go into the local runtime database (H2 for example)
4. If topic does not exist, batch should fail with the Table not Found error.
5. The Create Table batch should create new topic.
6. Checking endpoint permissions (on SNS) should include:
* Authentication
* Create topic.
* Publish one message to topic.
* No bulk publishing supported at this time.
* Delete events are not supported?

Revision 2025-08-13 18:25 by pbelov
Additional Information SNS message body format:
aws.sns.publish.format=json_flat (default)
{
   "column1_name"="value1"
   ,"column2_name"="value2"
   , ...
}

aws.sns.publish.format=json_data
{
  "id": "primary key columns as text = value1|value2"
  "data": {
     "column1_name"="value1"
     ,"column2_name"="value2"
     , ...
  }
}

aws.sns.publish.format=csv
"value1" , "value2" , ...

https://docs.aws.amazon.com/sns/latest/dg/example_sns_CreateTopic_section.html
Revision 2025-08-13 18:25 by pbelov
Additional Information SNS message body format:
amazon.sns.publish.format=json_flat (default)
{
   "column1_name"="value1"
   ,"column2_name"="value2"
   , ...
}

amazon.sns.publish.format=json_data
{
  "id": "primary key columns as text = value1|value2"
  "data": {
     "column1_name"="value1"
     ,"column2_name"="value2"
     , ...
  }
}

amazon.sns.publish.format=csv
"value1" , "value2" , ...

https://docs.aws.amazon.com/sns/latest/dg/example_sns_CreateTopic_section.html