diff --git a/components/camel-aws/camel-aws2-timestream/pom.xml b/components/camel-aws/camel-aws2-timestream/pom.xml
index ec7129a8b1338..65ffe221e3d3b 100644
--- a/components/camel-aws/camel-aws2-timestream/pom.xml
+++ b/components/camel-aws/camel-aws2-timestream/pom.xml
@@ -85,6 +85,11 @@
${project.version}
test
+
+ org.assertj
+ assertj-core
+ test
+
diff --git a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducer.java b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducer.java
index 6e02f395fc035..82da0de82edcf 100644
--- a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducer.java
+++ b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducer.java
@@ -113,6 +113,9 @@ private void describeEndpoints(TimestreamQueryClient timestreamQueryClient, Exch
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "describeEndpoints operation requires DescribeEndpointsRequest in POJO mode");
}
} else {
DescribeEndpointsRequest.Builder builder = DescribeEndpointsRequest.builder();
@@ -143,6 +146,9 @@ private void createScheduledQuery(TimestreamQueryClient timestreamQueryClient, E
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "createScheduledQuery operation requires CreateScheduledQueryRequest in POJO mode");
}
} else {
CreateScheduledQueryRequest.Builder builder = CreateScheduledQueryRequest.builder();
@@ -263,6 +269,9 @@ private void deleteScheduledQuery(TimestreamQueryClient timestreamQueryClient, E
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "deleteScheduledQuery operation requires DeleteScheduledQueryRequest in POJO mode");
}
} else {
DeleteScheduledQueryRequest.Builder builder = DeleteScheduledQueryRequest.builder();
@@ -299,6 +308,9 @@ private void executeScheduledQuery(TimestreamQueryClient timestreamQueryClient,
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "executeScheduledQuery operation requires ExecuteScheduledQueryRequest in POJO mode");
}
} else {
ExecuteScheduledQueryRequest.Builder builder = ExecuteScheduledQueryRequest.builder();
@@ -345,6 +357,9 @@ private void updateScheduledQuery(TimestreamQueryClient timestreamQueryClient, E
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "updateScheduledQuery operation requires UpdateScheduledQueryRequest in POJO mode");
}
} else {
UpdateScheduledQueryRequest.Builder builder = UpdateScheduledQueryRequest.builder();
@@ -385,6 +400,9 @@ private void describeScheduledQuery(TimestreamQueryClient timestreamQueryClient,
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "describeScheduledQuery operation requires DescribeScheduledQueryRequest in POJO mode");
}
} else {
DescribeScheduledQueryRequest.Builder builder = DescribeScheduledQueryRequest.builder();
@@ -415,6 +433,9 @@ private void listScheduledQueries(TimestreamQueryClient timestreamQueryClient, E
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "listScheduledQueries operation requires ListScheduledQueriesRequest in POJO mode");
}
} else {
ListScheduledQueriesRequest.Builder builder = ListScheduledQueriesRequest.builder();
@@ -449,6 +470,9 @@ private void prepareQuery(TimestreamQueryClient timestreamQueryClient, Exchange
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "prepareQuery operation requires PrepareQueryRequest in POJO mode");
}
} else {
PrepareQueryRequest.Builder builder = PrepareQueryRequest.builder();
@@ -488,6 +512,9 @@ private void query(TimestreamQueryClient timestreamQueryClient, Exchange exchang
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "query operation requires QueryRequest in POJO mode");
}
} else {
QueryRequest.Builder builder = QueryRequest.builder();
@@ -527,6 +554,9 @@ private void cancelQuery(TimestreamQueryClient timestreamQueryClient, Exchange e
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "cancelQuery operation requires CancelQueryRequest in POJO mode");
}
} else {
CancelQueryRequest.Builder builder = CancelQueryRequest.builder();
diff --git a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteProducer.java b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteProducer.java
index 6ebb8f1e8631e..025ceb0fd7d05 100644
--- a/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteProducer.java
+++ b/components/camel-aws/camel-aws2-timestream/src/main/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteProducer.java
@@ -119,6 +119,9 @@ private void describeEndpoints(TimestreamWriteClient timestreamWriteClient, Exch
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "describeEndpoints operation requires DescribeEndpointsRequest in POJO mode");
}
} else {
DescribeEndpointsRequest.Builder builder = DescribeEndpointsRequest.builder();
@@ -149,6 +152,9 @@ private void createBatchLoadTask(TimestreamWriteClient timestreamWriteClient, Ex
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "createBatchLoadTask operation requires CreateBatchLoadTaskRequest in POJO mode");
}
} else {
CreateBatchLoadTaskRequest.Builder builder = CreateBatchLoadTaskRequest.builder();
@@ -210,6 +216,9 @@ private void describeBatchLoadTask(TimestreamWriteClient timestreamWriteClient,
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "describeBatchLoadTask operation requires DescribeBatchLoadTaskRequest in POJO mode");
}
} else {
DescribeBatchLoadTaskRequest.Builder builder = DescribeBatchLoadTaskRequest.builder();
@@ -244,6 +253,9 @@ private void resumeBatchLoadTask(TimestreamWriteClient timestreamWriteClient, Ex
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "resumeBatchLoadTask operation requires ResumeBatchLoadTaskRequest in POJO mode");
}
} else {
ResumeBatchLoadTaskRequest.Builder builder = ResumeBatchLoadTaskRequest.builder();
@@ -278,6 +290,9 @@ private void listBatchLoadTasks(TimestreamWriteClient timestreamWriteClient, Exc
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "listBatchLoadTasks operation requires ListBatchLoadTasksRequest in POJO mode");
}
} else {
ListBatchLoadTasksRequest.Builder builder = ListBatchLoadTasksRequest.builder();
@@ -315,6 +330,9 @@ private void createDatabase(TimestreamWriteClient timestreamWriteClient, Exchang
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "createDatabase operation requires CreateDatabaseRequest in POJO mode");
}
} else {
CreateDatabaseRequest.Builder builder = CreateDatabaseRequest.builder();
@@ -352,6 +370,9 @@ private void deleteDatabase(TimestreamWriteClient timestreamWriteClient, Exchang
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "deleteDatabase operation requires DeleteDatabaseRequest in POJO mode");
}
} else {
DeleteDatabaseRequest.Builder builder = DeleteDatabaseRequest.builder();
@@ -386,6 +407,9 @@ private void describeDatabase(TimestreamWriteClient timestreamWriteClient, Excha
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "describeDatabase operation requires DescribeDatabaseRequest in POJO mode");
}
} else {
DescribeDatabaseRequest.Builder builder = DescribeDatabaseRequest.builder();
@@ -419,6 +443,9 @@ private void updateDatabase(TimestreamWriteClient timestreamWriteClient, Exchang
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "updateDatabase operation requires UpdateDatabaseRequest in POJO mode");
}
} else {
UpdateDatabaseRequest.Builder builder = UpdateDatabaseRequest.builder();
@@ -456,6 +483,9 @@ private void listDatabases(TimestreamWriteClient timestreamWriteClient, Exchange
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "listDatabases operation requires ListDatabasesRequest in POJO mode");
}
} else {
ListDatabasesRequest.Builder builder = ListDatabasesRequest.builder();
@@ -489,6 +519,9 @@ private void createTable(TimestreamWriteClient timestreamWriteClient, Exchange e
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "createTable operation requires CreateTableRequest in POJO mode");
}
} else {
CreateTableRequest.Builder builder = CreateTableRequest.builder();
@@ -540,6 +573,9 @@ private void deleteTable(TimestreamWriteClient timestreamWriteClient, Exchange e
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "deleteTable operation requires DeleteTableRequest in POJO mode");
}
} else {
DeleteTableRequest.Builder builder = DeleteTableRequest.builder();
@@ -577,6 +613,9 @@ private void describeTable(TimestreamWriteClient timestreamWriteClient, Exchange
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "describeTable operation requires DescribeTableRequest in POJO mode");
}
} else {
DescribeTableRequest.Builder builder = DescribeTableRequest.builder();
@@ -614,6 +653,9 @@ private void updateTable(TimestreamWriteClient timestreamWriteClient, Exchange e
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "updateTable operation requires UpdateTableRequest in POJO mode");
}
} else {
UpdateTableRequest.Builder builder = UpdateTableRequest.builder();
@@ -665,6 +707,9 @@ private void listTables(TimestreamWriteClient timestreamWriteClient, Exchange ex
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "listTables operation requires ListTablesRequest in POJO mode");
}
} else {
ListTablesRequest.Builder builder = ListTablesRequest.builder();
@@ -702,6 +747,9 @@ private void writeRecords(TimestreamWriteClient timestreamWriteClient, Exchange
}
Message message = getMessageForResponse(exchange);
message.setBody(result);
+ } else {
+ throw new IllegalArgumentException(
+ "writeRecords operation requires WriteRecordsRequest in POJO mode");
}
} else {
WriteRecordsRequest.Builder builder = WriteRecordsRequest.builder();
diff --git a/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducerTest.java b/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducerTest.java
index 0bde4bd7b43a5..0b69ef0c11803 100644
--- a/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducerTest.java
+++ b/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/query/Timestream2QueryProducerTest.java
@@ -29,8 +29,11 @@
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.CsvSource;
import software.amazon.awssdk.services.timestreamquery.model.*;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -253,6 +256,25 @@ public void process(Exchange exchange) {
assertEquals("Query Cancelled", resultGet.cancellationMessage());
}
+ @ParameterizedTest
+ @CsvSource({
+ "direct:describeQueryEndpointsPojo,describeEndpoints operation requires DescribeEndpointsRequest in POJO mode",
+ "direct:createScheduledQueryPojo,createScheduledQuery operation requires CreateScheduledQueryRequest in POJO mode",
+ "direct:deleteScheduledQueryPojo,deleteScheduledQuery operation requires DeleteScheduledQueryRequest in POJO mode",
+ "direct:executeScheduledQueryPojo,executeScheduledQuery operation requires ExecuteScheduledQueryRequest in POJO mode",
+ "direct:updateScheduledQueryPojo,updateScheduledQuery operation requires UpdateScheduledQueryRequest in POJO mode",
+ "direct:describeScheduledQueryPojo,describeScheduledQuery operation requires DescribeScheduledQueryRequest in POJO mode",
+ "direct:listScheduledQueriesPojo,listScheduledQueries operation requires ListScheduledQueriesRequest in POJO mode",
+ "direct:prepareQueryPojo,prepareQuery operation requires PrepareQueryRequest in POJO mode",
+ "direct:queryPojo,query operation requires QueryRequest in POJO mode",
+ "direct:cancelQueryPojo,cancelQuery operation requires CancelQueryRequest in POJO mode",
+ })
+ void pojoRequestWithWrongBodyTypeThrows(String route, String expectedMessage) {
+ assertThatThrownBy(() -> template.requestBody(route, "not the expected request type"))
+ .hasRootCauseInstanceOf(IllegalArgumentException.class)
+ .hasRootCauseMessage(expectedMessage);
+ }
+
@Override
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
@@ -291,7 +313,24 @@ public void configure() {
from("direct:cancelQuery")
.to("aws2-timestream://query:test?awsTimestreamQueryClient=#awsTimestreamQueryClient&operation=cancelQuery")
.to("mock:result");
-
+ from("direct:createScheduledQueryPojo")
+ .to("aws2-timestream://query:test?awsTimestreamQueryClient=#awsTimestreamQueryClient&operation=createScheduledQuery&pojoRequest=true");
+ from("direct:deleteScheduledQueryPojo")
+ .to("aws2-timestream://query:test?awsTimestreamQueryClient=#awsTimestreamQueryClient&operation=deleteScheduledQuery&pojoRequest=true");
+ from("direct:executeScheduledQueryPojo")
+ .to("aws2-timestream://query:test?awsTimestreamQueryClient=#awsTimestreamQueryClient&operation=executeScheduledQuery&pojoRequest=true");
+ from("direct:updateScheduledQueryPojo")
+ .to("aws2-timestream://query:test?awsTimestreamQueryClient=#awsTimestreamQueryClient&operation=updateScheduledQuery&pojoRequest=true");
+ from("direct:describeScheduledQueryPojo")
+ .to("aws2-timestream://query:test?awsTimestreamQueryClient=#awsTimestreamQueryClient&operation=describeScheduledQuery&pojoRequest=true");
+ from("direct:listScheduledQueriesPojo")
+ .to("aws2-timestream://query:test?awsTimestreamQueryClient=#awsTimestreamQueryClient&operation=listScheduledQueries&pojoRequest=true");
+ from("direct:prepareQueryPojo")
+ .to("aws2-timestream://query:test?awsTimestreamQueryClient=#awsTimestreamQueryClient&operation=prepareQuery&pojoRequest=true");
+ from("direct:queryPojo")
+ .to("aws2-timestream://query:test?awsTimestreamQueryClient=#awsTimestreamQueryClient&operation=query&pojoRequest=true");
+ from("direct:cancelQueryPojo")
+ .to("aws2-timestream://query:test?awsTimestreamQueryClient=#awsTimestreamQueryClient&operation=cancelQuery&pojoRequest=true");
}
};
}
diff --git a/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteProducerTest.java b/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteProducerTest.java
index 9ff45df6fe538..ac960d9a8061b 100644
--- a/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteProducerTest.java
+++ b/components/camel-aws/camel-aws2-timestream/src/test/java/org/apache/camel/component/aws2/timestream/write/Timestream2WriteProducerTest.java
@@ -26,8 +26,11 @@
import org.apache.camel.component.mock.MockEndpoint;
import org.apache.camel.test.junit6.CamelTestSupport;
import org.junit.jupiter.api.Test;
+import org.junit.jupiter.params.ParameterizedTest;
+import org.junit.jupiter.params.provider.CsvSource;
import software.amazon.awssdk.services.timestreamwrite.model.*;
+import static org.assertj.core.api.Assertions.assertThatThrownBy;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertNotNull;
@@ -334,6 +337,31 @@ public void process(Exchange exchange) {
assertEquals(5, resultGet.recordsIngested().total());
}
+ @ParameterizedTest
+ @CsvSource({
+ "direct:describeWriteEndpointsPojo,describeEndpoints operation requires DescribeEndpointsRequest in POJO mode",
+ "direct:createBatchLoadTaskPojo,createBatchLoadTask operation requires CreateBatchLoadTaskRequest in POJO mode",
+ "direct:describeBatchLoadTaskPojo,describeBatchLoadTask operation requires DescribeBatchLoadTaskRequest in POJO mode",
+ "direct:resumeBatchLoadTaskPojo,resumeBatchLoadTask operation requires ResumeBatchLoadTaskRequest in POJO mode",
+ "direct:listBatchLoadTasksPojo,listBatchLoadTasks operation requires ListBatchLoadTasksRequest in POJO mode",
+ "direct:createDatabasePojo,createDatabase operation requires CreateDatabaseRequest in POJO mode",
+ "direct:deleteDatabasePojo,deleteDatabase operation requires DeleteDatabaseRequest in POJO mode",
+ "direct:describeDatabasePojo,describeDatabase operation requires DescribeDatabaseRequest in POJO mode",
+ "direct:updateDatabasePojo,updateDatabase operation requires UpdateDatabaseRequest in POJO mode",
+ "direct:listDatabasesPojo,listDatabases operation requires ListDatabasesRequest in POJO mode",
+ "direct:createTablePojo,createTable operation requires CreateTableRequest in POJO mode",
+ "direct:deleteTablePojo,deleteTable operation requires DeleteTableRequest in POJO mode",
+ "direct:describeTablePojo,describeTable operation requires DescribeTableRequest in POJO mode",
+ "direct:updateTablePojo,updateTable operation requires UpdateTableRequest in POJO mode",
+ "direct:listTablesPojo,listTables operation requires ListTablesRequest in POJO mode",
+ "direct:writeRecordsPojo,writeRecords operation requires WriteRecordsRequest in POJO mode",
+ })
+ void pojoRequestWithWrongBodyTypeThrows(String route, String expectedMessage) {
+ assertThatThrownBy(() -> template.requestBody(route, "not the expected request type"))
+ .hasRootCauseInstanceOf(IllegalArgumentException.class)
+ .hasRootCauseMessage(expectedMessage);
+ }
+
@Override
protected RouteBuilder createRouteBuilder() {
return new RouteBuilder() {
@@ -390,7 +418,36 @@ public void configure() {
from("direct:writeRecords")
.to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=writeRecords")
.to("mock:result");
-
+ from("direct:createBatchLoadTaskPojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=createBatchLoadTask&pojoRequest=true");
+ from("direct:describeBatchLoadTaskPojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=describeBatchLoadTask&pojoRequest=true");
+ from("direct:resumeBatchLoadTaskPojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=resumeBatchLoadTask&pojoRequest=true");
+ from("direct:listBatchLoadTasksPojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=listBatchLoadTasks&pojoRequest=true");
+ from("direct:createDatabasePojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=createDatabase&pojoRequest=true");
+ from("direct:deleteDatabasePojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=deleteDatabase&pojoRequest=true");
+ from("direct:describeDatabasePojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=describeDatabase&pojoRequest=true");
+ from("direct:updateDatabasePojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=updateDatabase&pojoRequest=true");
+ from("direct:listDatabasesPojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=listDatabases&pojoRequest=true");
+ from("direct:createTablePojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=createTable&pojoRequest=true");
+ from("direct:deleteTablePojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=deleteTable&pojoRequest=true");
+ from("direct:describeTablePojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=describeTable&pojoRequest=true");
+ from("direct:updateTablePojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=updateTable&pojoRequest=true");
+ from("direct:listTablesPojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=listTables&pojoRequest=true");
+ from("direct:writeRecordsPojo")
+ .to("aws2-timestream://write:test?awsTimestreamWriteClient=#awsTimestreamWriteClient&operation=writeRecords&pojoRequest=true");
}
};
}