From e9a568663a974ce8e5dae2a709dd1c457da910b1 Mon Sep 17 00:00:00 2001 From: Catherine Quamme Date: Mon, 8 Sep 2025 12:46:55 -0400 Subject: [PATCH 1/6] 0007031: Add support for AWS SQS (load-only endpoint) --- .../org/jumpmind/symmetric/common/ParameterConstants.java | 7 +++++++ .../org/jumpmind/db/platform/DatabaseNamesConstants.java | 1 + 2 files changed, 8 insertions(+) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java index 001e5c3b8f..df63029e39 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java @@ -481,6 +481,13 @@ private ParameterConstants() { public final static String SYNC_USE_READY_QUEUES = "sync.use.ready.queues"; public final static String KEEP_BULK_STAGING_FILES = "keep.bulk.staging.files"; public final static String MSSQL_BULK_LOAD_BCP_CODE_PAGE = "mssql.bulk.load.bcp.code.page"; + // AWS SQS + public final static String AWSSQS_QUEUE_URL = "awssqs.url.queue"; + public final static String AWSSQS_QUEUE_BY = "awssqs.queue.by"; + public final static String AWSSQS_MESSAGE_BY = "awssqs.message.by"; + public final static String AWSSQS_ACCESS_KEY_ID = "awssqs.access.key.id"; + public final static String AWSSQS_SECRET_ACCESS_KEY = "awssqs.secret.access.key"; + public final static String AWSSQAS_FORMAT = "awssqs.format"; public static Map getParameterMetaData() { return parameterMetaData; diff --git a/symmetric-db/src/main/java/org/jumpmind/db/platform/DatabaseNamesConstants.java b/symmetric-db/src/main/java/org/jumpmind/db/platform/DatabaseNamesConstants.java index ca954f85eb..588e81d9c4 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/platform/DatabaseNamesConstants.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/platform/DatabaseNamesConstants.java @@ -79,4 +79,5 @@ private DatabaseNamesConstants() { public final static String EXASOL = "exasol"; public final static String SPARKSQL = "sparksql"; public final static String DATABRICKS = "databricks"; + public final static String AWSSQS = "awssqs"; } From e5324f56bc38625787ddff8cf50fdd2bd70dd89f Mon Sep 17 00:00:00 2001 From: Catherine Quamme Date: Thu, 18 Sep 2025 09:18:37 -0400 Subject: [PATCH 2/6] Typo --- .../java/org/jumpmind/symmetric/common/ParameterConstants.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java index df63029e39..8c723b04c0 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java @@ -487,7 +487,7 @@ private ParameterConstants() { public final static String AWSSQS_MESSAGE_BY = "awssqs.message.by"; public final static String AWSSQS_ACCESS_KEY_ID = "awssqs.access.key.id"; public final static String AWSSQS_SECRET_ACCESS_KEY = "awssqs.secret.access.key"; - public final static String AWSSQAS_FORMAT = "awssqs.format"; + public final static String AWSSQS_FORMAT = "awssqs.format"; public static Map getParameterMetaData() { return parameterMetaData; From a7c60589a1a11e9f5187000bd2697179508c2954 Mon Sep 17 00:00:00 2001 From: Catherine Quamme Date: Mon, 22 Sep 2025 08:21:58 -0400 Subject: [PATCH 3/6] 0007031: Add support for AWS SQS (load-only endpoint) --- .../java/org/jumpmind/symmetric/common/ParameterConstants.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java index 8c723b04c0..f13c4225ac 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java @@ -481,12 +481,13 @@ private ParameterConstants() { public final static String SYNC_USE_READY_QUEUES = "sync.use.ready.queues"; public final static String KEEP_BULK_STAGING_FILES = "keep.bulk.staging.files"; public final static String MSSQL_BULK_LOAD_BCP_CODE_PAGE = "mssql.bulk.load.bcp.code.page"; - // AWS SQS public final static String AWSSQS_QUEUE_URL = "awssqs.url.queue"; public final static String AWSSQS_QUEUE_BY = "awssqs.queue.by"; public final static String AWSSQS_MESSAGE_BY = "awssqs.message.by"; public final static String AWSSQS_ACCESS_KEY_ID = "awssqs.access.key.id"; public final static String AWSSQS_SECRET_ACCESS_KEY = "awssqs.secret.access.key"; + public final static String AWSSQS_SESSION_TOKEN = "awssqs.session.token"; + public final static String AWSSQS_REGION = "awssqs.region"; public final static String AWSSQS_FORMAT = "awssqs.format"; public static Map getParameterMetaData() { From eeabe14c0c124c279df014aa5b7cd5a16c798d17 Mon Sep 17 00:00:00 2001 From: Catherine Quamme Date: Mon, 22 Sep 2025 13:53:31 -0400 Subject: [PATCH 4/6] 0007031: Add support for AWS SQS (load-only endpoint) --- .../resources/symmetric-default.properties | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/symmetric-core/src/main/resources/symmetric-default.properties b/symmetric-core/src/main/resources/symmetric-default.properties index 894aabe367..e9c346c375 100644 --- a/symmetric-core/src/main/resources/symmetric-default.properties +++ b/symmetric-core/src/main/resources/symmetric-default.properties @@ -3234,3 +3234,52 @@ default.values.to.translate= # Tags: load # Type: boolean sync.use.ready.queues=true + +# The URL of the AWS queue you want to load data to (optional). +# +# DatabaseOverridable: true +# Tags: awssqs +awssqs.url.queue= + +# The following property determines what queues will be used to load data to. Possible values are +# { TABLE | CHANNEL | USER } +# DatabaseOverridable: true +# Tags: awssqs +awssqs.queue.by= + +# The following property determines how messages will be sent. Possible values are +# { BATCH | ROW } +# DatabaseOverridable: true +# Tags: awssqs +awssqs.message.by= + +# Your AWS Access Key ID. +# +# DatabaseOverridable: true +# Tags: awssqs +awssqs.access.key.id= + +# Your AWS Secret Access Key. +# +# DatabaseOverridable: true +# Tags: awssqs +awssqs.secret.access.key= + +# Your AWS SQS session token. (optional) +# +# DatabaseOverridable: true +# Tags: awssqs +awssqs.session.token= + +# The AWS region your queue is located in. +# +# DatabaseOverridable: true +# Tags: awssqs +awssqs.region= + +# Specify the output message format. Possible values are +# { JSON | XML | CSV } +# DatabaseOverridable: true +# Tags: awssqs +awssqs.format= + From 74b09c814038d68da1a8b759d57c59dba7c0d500 Mon Sep 17 00:00:00 2001 From: Catherine Quamme Date: Fri, 26 Sep 2025 12:03:09 -0400 Subject: [PATCH 5/6] New param --- .../org/jumpmind/symmetric/common/ParameterConstants.java | 1 + .../src/main/resources/symmetric-default.properties | 7 +++++++ 2 files changed, 8 insertions(+) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java index f13c4225ac..0a3e4955ef 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java @@ -489,6 +489,7 @@ private ParameterConstants() { public final static String AWSSQS_SESSION_TOKEN = "awssqs.session.token"; public final static String AWSSQS_REGION = "awssqs.region"; public final static String AWSSQS_FORMAT = "awssqs.format"; + public final static String AWSSQS_QUEUE_NAME = "awssqs.queue.name"; public static Map getParameterMetaData() { return parameterMetaData; diff --git a/symmetric-core/src/main/resources/symmetric-default.properties b/symmetric-core/src/main/resources/symmetric-default.properties index e9c346c375..1d20fba855 100644 --- a/symmetric-core/src/main/resources/symmetric-default.properties +++ b/symmetric-core/src/main/resources/symmetric-default.properties @@ -3283,3 +3283,10 @@ awssqs.region= # Tags: awssqs awssqs.format= +# The queue name you wish to configure with SymmetricDS. If you enter +# a value for this field, it will override the "Queue By" selection. +# If you leave this field blank, queue(s) will be created based on the "Queue By" field. +# +# DatabaseOverridable: true +# Tags: awssqs +awssqs.queue.name= \ No newline at end of file From ee803e2efe467c9d823cac4109f2f30324137f6a Mon Sep 17 00:00:00 2001 From: Catherine Quamme Date: Fri, 26 Sep 2025 12:25:20 -0400 Subject: [PATCH 6/6] Corrected order of modifiers --- .../symmetric/common/ParameterConstants.java | 18 +++++++++--------- .../db/platform/DatabaseNamesConstants.java | 2 +- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java index 0a3e4955ef..2910b17dc9 100644 --- a/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java +++ b/symmetric-core/src/main/java/org/jumpmind/symmetric/common/ParameterConstants.java @@ -481,15 +481,15 @@ private ParameterConstants() { public final static String SYNC_USE_READY_QUEUES = "sync.use.ready.queues"; public final static String KEEP_BULK_STAGING_FILES = "keep.bulk.staging.files"; public final static String MSSQL_BULK_LOAD_BCP_CODE_PAGE = "mssql.bulk.load.bcp.code.page"; - public final static String AWSSQS_QUEUE_URL = "awssqs.url.queue"; - public final static String AWSSQS_QUEUE_BY = "awssqs.queue.by"; - public final static String AWSSQS_MESSAGE_BY = "awssqs.message.by"; - public final static String AWSSQS_ACCESS_KEY_ID = "awssqs.access.key.id"; - public final static String AWSSQS_SECRET_ACCESS_KEY = "awssqs.secret.access.key"; - public final static String AWSSQS_SESSION_TOKEN = "awssqs.session.token"; - public final static String AWSSQS_REGION = "awssqs.region"; - public final static String AWSSQS_FORMAT = "awssqs.format"; - public final static String AWSSQS_QUEUE_NAME = "awssqs.queue.name"; + public static final String AWSSQS_QUEUE_URL = "awssqs.url.queue"; + public static final String AWSSQS_QUEUE_BY = "awssqs.queue.by"; + public static final String AWSSQS_MESSAGE_BY = "awssqs.message.by"; + public static final String AWSSQS_ACCESS_KEY_ID = "awssqs.access.key.id"; + public static final String AWSSQS_SECRET_ACCESS_KEY = "awssqs.secret.access.key"; + public static final String AWSSQS_SESSION_TOKEN = "awssqs.session.token"; + public static final String AWSSQS_REGION = "awssqs.region"; + public static final String AWSSQS_FORMAT = "awssqs.format"; + public static final String AWSSQS_QUEUE_NAME = "awssqs.queue.name"; public static Map getParameterMetaData() { return parameterMetaData; diff --git a/symmetric-db/src/main/java/org/jumpmind/db/platform/DatabaseNamesConstants.java b/symmetric-db/src/main/java/org/jumpmind/db/platform/DatabaseNamesConstants.java index 588e81d9c4..a8994e0807 100644 --- a/symmetric-db/src/main/java/org/jumpmind/db/platform/DatabaseNamesConstants.java +++ b/symmetric-db/src/main/java/org/jumpmind/db/platform/DatabaseNamesConstants.java @@ -79,5 +79,5 @@ private DatabaseNamesConstants() { public final static String EXASOL = "exasol"; public final static String SPARKSQL = "sparksql"; public final static String DATABRICKS = "databricks"; - public final static String AWSSQS = "awssqs"; + public static final String AWSSQS = "awssqs"; }