in src/main/java/com/amazonaws/gdcreplication/util/SQSUtil.java [17:51]
public boolean sendTableSchemaToSQSQueue(AmazonSQS sqs, String queueUrl, LargeTable largeTable,
String exportBatchId, String sourceGlueCatalogId) {
Gson gson = new Gson();
String tableInfo = gson.toJson(largeTable);
System.out.println(tableInfo);
int statusCode = 400;
boolean messageSentToSQS = false;
Map<String, MessageAttributeValue> messageAttributes = new HashMap<>();
messageAttributes.put("ExportBatchId",
new MessageAttributeValue().withDataType("String.ExportBatchId").withStringValue(exportBatchId));
messageAttributes.put("SourceGlueDataCatalogId", new MessageAttributeValue()
.withDataType("String.SourceGlueDataCatalogId").withStringValue(sourceGlueCatalogId));
messageAttributes.put("SchemaType",
new MessageAttributeValue().withDataType("String.SchemaType").withStringValue("largeTable"));
SendMessageRequest req = new SendMessageRequest().withQueueUrl(queueUrl)
.withMessageBody(tableInfo).withMessageAttributes(messageAttributes);
try {
SendMessageResult sendMsgRes = sqs.sendMessage(req);
statusCode = sendMsgRes.getSdkHttpMetadata().getHttpStatusCode();
} catch (Exception e) {
e.printStackTrace();
System.out.println("Exception thrown while writing message to SQS. " + e.getLocalizedMessage());
}
if (statusCode == 200) {
messageSentToSQS = true;
System.out.printf("Table details for table '%s' of database '%s' sent to SQS. \n",
largeTable.getTable().getName(), largeTable.getTable().getDatabaseName());
}
return messageSentToSQS;
}