Write SDK client - Amazon Timestream
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

Amazon Timestream for LiveAnalytics will no longer be open to new customers starting June 20, 2025. If you would like to use Amazon Timestream for LiveAnalytics, sign up prior to that date. Existing customers can continue to use the service as normal. For more information, see Amazon Timestream for LiveAnalytics availability change.

Write SDK client

You can use the following code snippets to create a Timestream client for the Write SDK. The Write SDK is used to perform CRUD operations and to insert your time series data into Timestream.

Note

These code snippets are based on full sample applications on GitHub. For more information about how to get started with the sample applications, see Sample application.

Java
private static AmazonTimestreamWrite buildWriteClient() { final ClientConfiguration clientConfiguration = new ClientConfiguration() .withMaxConnections(5000) .withRequestTimeout(20 * 1000) .withMaxErrorRetry(10); return AmazonTimestreamWriteClientBuilder .standard() .withRegion("us-east-1") .withClientConfiguration(clientConfiguration) .build(); }
Java v2
private static TimestreamWriteClient buildWriteClient() { ApacheHttpClient.Builder httpClientBuilder = ApacheHttpClient.builder(); httpClientBuilder.maxConnections(5000); RetryPolicy.Builder retryPolicy = RetryPolicy.builder(); retryPolicy.numRetries(10); ClientOverrideConfiguration.Builder overrideConfig = ClientOverrideConfiguration.builder(); overrideConfig.apiCallAttemptTimeout(Duration.ofSeconds(20)); overrideConfig.retryPolicy(retryPolicy.build()); return TimestreamWriteClient.builder() .httpClientBuilder(httpClientBuilder) .overrideConfiguration(overrideConfig.build()) .region(Region.US_EAST_1) .build(); }
Go
tr := &http.Transport{ ResponseHeaderTimeout: 20 * time.Second, // Using DefaultTransport values for other parameters: https://golang.org/pkg/net/http/#RoundTripper Proxy: http.ProxyFromEnvironment, DialContext: (&net.Dialer{ KeepAlive: 30 * time.Second, DualStack: true, Timeout: 30 * time.Second, }).DialContext, MaxIdleConns: 100, IdleConnTimeout: 90 * time.Second, TLSHandshakeTimeout: 10 * time.Second, ExpectContinueTimeout: 1 * time.Second, } // So client makes HTTP/2 requests http2.ConfigureTransport(tr) sess, err := session.NewSession(&aws.Config{ Region: aws.String("us-east-1"), MaxRetries: aws.Int(10), HTTPClient: &http.Client{ Transport: tr }}) writeSvc := timestreamwrite.New(sess)
Python
write_client = session.client('timestream-write', config=Config(read_timeout=20, max_pool_connections = 5000, retries={'max_attempts': 10})) 
Node.js

The following snippet uses Amazon SDK for JavaScript v3. For more information about how to install the client and usage, see Timestream Write Client - Amazon SDK for JavaScript v3.

An additional command import is shown here. The CreateDatabaseCommand import is not required to create the client.

import { TimestreamWriteClient, CreateDatabaseCommand } from "@aws-sdk/client-timestream-write"; const writeClient = new TimestreamWriteClient({ region: "us-east-1" });

The following snippet uses the Amazon SDK for JavaScript V2 style. It is based on the sample application at Node.js sample Amazon Timestream for LiveAnalytics application on GitHub.

var https = require('https'); var agent = new https.Agent({ maxSockets: 5000 }); writeClient = new AWS.TimestreamWrite({ maxRetries: 10, httpOptions: { timeout: 20000, agent: agent } });
.NET
var writeClientConfig = new AmazonTimestreamWriteConfig { RegionEndpoint = RegionEndpoint.USEast1, Timeout = TimeSpan.FromSeconds(20), MaxErrorRetry = 10 }; var writeClient = new AmazonTimestreamWriteClient(writeClientConfig);

We recommend you use the following configuration.

  • Set the SDK retry count to 10.

  • Use SDK DEFAULT_BACKOFF_STRATEGY.

  • Set RequestTimeout to 20 seconds.

  • Set the max connections to 5000 or higher.