How to use Java to operate TimestreamDB

To operate TimestreamDB using Java, you need to add the following Maven dependencies: <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>timestream</artifactId> <version>1.0.2</version> </dependency> This way, you can use the Java SDK to operate TimestreamDB. Next, let's take a look at the sample code for implementing data addition, deletion, modification, and query in Java. Firstly, we need to create a TimestreamClient object for interacting with Timestream: import software.amazon.awssdk.services.timestreamwrite.TimestreamWriteClient; public class TimestreamExample { private final TimestreamWriteClient timestreamWriteClient; public TimestreamExample(){ this.timestreamWriteClient = TimestreamWriteClient.builder().build(); } // Other methods } Next, we can implement some common operations, such as creating a database, creating tables, inserting data, and querying data. Create database: import software.amazon.awssdk.services.timestreamwrite.model.CreateDatabaseRequest; import software.amazon.awssdk.services.timestreamwrite.model.CreateDatabaseResponse; public class TimestreamExample { // Other codes public void createDatabase(String databaseName) { CreateDatabaseRequest request = CreateDatabaseRequest.builder() .databaseName(databaseName) .build(); CreateDatabaseResponse response = timestreamWriteClient.createDatabase(request); System.out.println("Database " + response.database().arn() + " created."); } } Create Table: import software.amazon.awssdk.services.timestreamwrite.model.CreateTableRequest; import software.amazon.awssdk.services.timestreamwrite.model.CreateTableResponse; public class TimestreamExample { // Other codes public void createTable(String databaseName, String tableName) { String table = databaseName + "." + tableName; CreateTableRequest request = CreateTableRequest.builder() .databaseName(databaseName) .tableName(tableName) .build(); CreateTableResponse response = timestreamWriteClient.createTable(request); System.out.println("Table " + table + " created."); } } Insert data: import software.amazon.awssdk.services.timestreamwrite.model.Dimension; import software.amazon.awssdk.services.timestreamwrite.model.MeasureValueType; import software.amazon.awssdk.services.timestreamwrite.model.Record; import software.amazon.awssdk.services.timestreamwrite.model.WriteRecordsRequest; import software.amazon.awssdk.services.timestreamwrite.model.WriteRecordsResponse; import java.time.Instant; import java.util.ArrayList; import java.util.List; public class TimestreamExample { // Other codes public void insertData(String databaseName, String tableName) { String table = databaseName + "." + tableName; Dimension dimension1 = Dimension.builder() .name("Region") .value("us-east-1") .build(); Dimension dimension2 = Dimension.builder() .name("Server") .value("server1") .build(); List<Record> records = new ArrayList<>(); records.add(Record.builder() .measureName("Temperature") .measureValue("25") .measureValueType(MeasureValueType.DOUBLE) .time(Instant.now()) .dimensions(dimension1, dimension2) .build()); WriteRecordsRequest request = WriteRecordsRequest.builder() .databaseName(databaseName) .tableName(tableName) .records(records) .build(); WriteRecordsResponse response = timestreamWriteClient.writeRecords(request); System.out.println(response.toString()); } } Query data: import software.amazon.awssdk.services.timestreamquery.TimestreamQueryClient; import software.amazon.awssdk.services.timestreamquery.model.*; public class TimestreamExample { private final TimestreamQueryClient timestreamQueryClient; public TimestreamExample() { this.timestreamQueryClient = TimestreamQueryClient.builder().build(); } // Other codes public void queryData(String query) { QueryRequest request = QueryRequest.builder() .queryString(query) .build(); QueryResponse response = timestreamQueryClient.query(request); System.out.println(response.toString()); } } The above are some basic operation sample codes that you can extend and customize according to your own needs.