/* * Copyright 2018-2023 Amazon.com, Inc. or its affiliates. All Rights Reserved. * * Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with * the License. A copy of the License is located at * * http://aws.amazon.com/apache2.0 * * or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions * and limitations under the License. */ package com.amazonaws.services.timestreamwrite; import javax.annotation.Generated; import com.amazonaws.services.timestreamwrite.model.*; /** * Interface for accessing Timestream Write asynchronously. Each asynchronous method will return a Java Future object * representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive * notification when an asynchronous operation completes. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.timestreamwrite.AbstractAmazonTimestreamWriteAsync} instead. *
*
*
* Amazon Timestream is a fast, scalable, fully managed time-series database service that makes it easy to store and * analyze trillions of time-series data points per day. With Timestream, you can easily store and analyze IoT sensor * data to derive insights from your IoT applications. You can analyze industrial telemetry to streamline equipment * management and maintenance. You can also store and analyze log data and metrics to improve the performance and * availability of your applications. *
** Timestream is built from the ground up to effectively ingest, process, and store time-series data. It organizes data * to optimize query processing. It automatically scales based on the volume of data ingested and on the query volume to * ensure you receive optimal performance while inserting and querying data. As your data grows over time, Timestream’s * adaptive query processing engine spans across storage tiers to provide fast analysis while reducing costs. *
*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AmazonTimestreamWriteAsync extends AmazonTimestreamWrite { /** *
* Creates a new Timestream batch load task. A batch load task processes data from a CSV source in an S3 location
* and writes to a Timestream table. A mapping from source to target is defined in a batch load task. Errors and
* events are written to a report at an S3 location. For the report, if the KMS key is not specified, the report
* will be encrypted with an S3 managed key when SSE_S3
is the option. Otherwise an error is thrown.
* For more information, see Amazon Web Services
* managed keys. Service
* quotas apply. For details, see code
* sample.
*
* Creates a new Timestream batch load task. A batch load task processes data from a CSV source in an S3 location
* and writes to a Timestream table. A mapping from source to target is defined in a batch load task. Errors and
* events are written to a report at an S3 location. For the report, if the KMS key is not specified, the report
* will be encrypted with an S3 managed key when SSE_S3
is the option. Otherwise an error is thrown.
* For more information, see Amazon Web Services
* managed keys. Service
* quotas apply. For details, see code
* sample.
*
* Creates a new Timestream database. If the KMS key is not specified, the database will be encrypted with a * Timestream managed KMS key located in your account. For more information, see Amazon Web Services * managed keys. Service * quotas apply. For details, see code sample. *
* * @param createDatabaseRequest * @return A Java Future containing the result of the CreateDatabase operation returned by the service. * @sample AmazonTimestreamWriteAsync.CreateDatabase * @see AWS API Documentation */ java.util.concurrent.Future* Creates a new Timestream database. If the KMS key is not specified, the database will be encrypted with a * Timestream managed KMS key located in your account. For more information, see Amazon Web Services * managed keys. Service * quotas apply. For details, see code sample. *
* * @param createDatabaseRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateDatabase operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.CreateDatabase * @see AWS API Documentation */ java.util.concurrent.Future* Adds a new table to an existing database in your account. In an Amazon Web Services account, table names must be * at least unique within each Region if they are in the same database. You might have identical table names in the * same Region if the tables are in separate databases. While creating the table, you must specify the table name, * database name, and the retention properties. Service quotas apply. See * code * sample for details. *
* * @param createTableRequest * @return A Java Future containing the result of the CreateTable operation returned by the service. * @sample AmazonTimestreamWriteAsync.CreateTable * @see AWS * API Documentation */ java.util.concurrent.Future* Adds a new table to an existing database in your account. In an Amazon Web Services account, table names must be * at least unique within each Region if they are in the same database. You might have identical table names in the * same Region if the tables are in separate databases. While creating the table, you must specify the table name, * database name, and the retention properties. Service quotas apply. See * code * sample for details. *
* * @param createTableRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the CreateTable operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.CreateTable * @see AWS * API Documentation */ java.util.concurrent.Future* Deletes a given Timestream database. This is an irreversible operation. After a database is deleted, the * time-series data from its tables cannot be recovered. *
** All tables in the database must be deleted first, or a ValidationException error will be thrown. *
** Due to the nature of distributed retries, the operation can return either success or a ResourceNotFoundException. * Clients should consider them equivalent. *
** See code * sample for details. *
* * @param deleteDatabaseRequest * @return A Java Future containing the result of the DeleteDatabase operation returned by the service. * @sample AmazonTimestreamWriteAsync.DeleteDatabase * @see AWS API Documentation */ java.util.concurrent.Future* Deletes a given Timestream database. This is an irreversible operation. After a database is deleted, the * time-series data from its tables cannot be recovered. *
** All tables in the database must be deleted first, or a ValidationException error will be thrown. *
** Due to the nature of distributed retries, the operation can return either success or a ResourceNotFoundException. * Clients should consider them equivalent. *
** See code * sample for details. *
* * @param deleteDatabaseRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteDatabase operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.DeleteDatabase * @see AWS API Documentation */ java.util.concurrent.Future* Deletes a given Timestream table. This is an irreversible operation. After a Timestream database table is * deleted, the time-series data stored in the table cannot be recovered. *
** Due to the nature of distributed retries, the operation can return either success or a ResourceNotFoundException. * Clients should consider them equivalent. *
** See code * sample for details. *
* * @param deleteTableRequest * @return A Java Future containing the result of the DeleteTable operation returned by the service. * @sample AmazonTimestreamWriteAsync.DeleteTable * @see AWS * API Documentation */ java.util.concurrent.Future* Deletes a given Timestream table. This is an irreversible operation. After a Timestream database table is * deleted, the time-series data stored in the table cannot be recovered. *
** Due to the nature of distributed retries, the operation can return either success or a ResourceNotFoundException. * Clients should consider them equivalent. *
** See code * sample for details. *
* * @param deleteTableRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DeleteTable operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.DeleteTable * @see AWS * API Documentation */ java.util.concurrent.Future* Returns information about the batch load task, including configurations, mappings, progress, and other details. * Service quotas apply. * See code * sample for details. *
* * @param describeBatchLoadTaskRequest * @return A Java Future containing the result of the DescribeBatchLoadTask operation returned by the service. * @sample AmazonTimestreamWriteAsync.DescribeBatchLoadTask * @see AWS API Documentation */ java.util.concurrent.Future* Returns information about the batch load task, including configurations, mappings, progress, and other details. * Service quotas apply. * See code * sample for details. *
* * @param describeBatchLoadTaskRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DescribeBatchLoadTask operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.DescribeBatchLoadTask * @see AWS API Documentation */ java.util.concurrent.Future* Returns information about the database, including the database name, time that the database was created, and the * total number of tables found within the database. Service quotas apply. See * code * sample for details. *
* * @param describeDatabaseRequest * @return A Java Future containing the result of the DescribeDatabase operation returned by the service. * @sample AmazonTimestreamWriteAsync.DescribeDatabase * @see AWS API Documentation */ java.util.concurrent.Future* Returns information about the database, including the database name, time that the database was created, and the * total number of tables found within the database. Service quotas apply. See * code * sample for details. *
* * @param describeDatabaseRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DescribeDatabase operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.DescribeDatabase * @see AWS API Documentation */ java.util.concurrent.Future* Returns a list of available endpoints to make Timestream API calls against. This API operation is available * through both the Write and Query APIs. *
** Because the Timestream SDKs are designed to transparently work with the service’s architecture, including the * management and mapping of the service endpoints, we don't recommend that you use this API operation * unless: *
** You are using VPC endpoints * (Amazon Web Services PrivateLink) with Timestream *
** Your application uses a programming language that does not yet have SDK support *
** You require better control over the client-side implementation *
** For detailed information on how and when to use and implement DescribeEndpoints, see The Endpoint Discovery Pattern. *
* * @param describeEndpointsRequest * @return A Java Future containing the result of the DescribeEndpoints operation returned by the service. * @sample AmazonTimestreamWriteAsync.DescribeEndpoints * @see AWS API Documentation */ java.util.concurrent.Future* Returns a list of available endpoints to make Timestream API calls against. This API operation is available * through both the Write and Query APIs. *
** Because the Timestream SDKs are designed to transparently work with the service’s architecture, including the * management and mapping of the service endpoints, we don't recommend that you use this API operation * unless: *
** You are using VPC endpoints * (Amazon Web Services PrivateLink) with Timestream *
** Your application uses a programming language that does not yet have SDK support *
** You require better control over the client-side implementation *
** For detailed information on how and when to use and implement DescribeEndpoints, see The Endpoint Discovery Pattern. *
* * @param describeEndpointsRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DescribeEndpoints operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.DescribeEndpoints * @see AWS API Documentation */ java.util.concurrent.Future* Returns information about the table, including the table name, database name, retention duration of the memory * store and the magnetic store. Service quotas apply. See * code * sample for details. *
* * @param describeTableRequest * @return A Java Future containing the result of the DescribeTable operation returned by the service. * @sample AmazonTimestreamWriteAsync.DescribeTable * @see AWS * API Documentation */ java.util.concurrent.Future* Returns information about the table, including the table name, database name, retention duration of the memory * store and the magnetic store. Service quotas apply. See * code * sample for details. *
* * @param describeTableRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the DescribeTable operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.DescribeTable * @see AWS * API Documentation */ java.util.concurrent.Future* Provides a list of batch load tasks, along with the name, status, when the task is resumable until, and other * details. See code * sample for details. *
* * @param listBatchLoadTasksRequest * @return A Java Future containing the result of the ListBatchLoadTasks operation returned by the service. * @sample AmazonTimestreamWriteAsync.ListBatchLoadTasks * @see AWS API Documentation */ java.util.concurrent.Future* Provides a list of batch load tasks, along with the name, status, when the task is resumable until, and other * details. See code * sample for details. *
* * @param listBatchLoadTasksRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListBatchLoadTasks operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.ListBatchLoadTasks * @see AWS API Documentation */ java.util.concurrent.Future* Returns a list of your Timestream databases. Service quotas apply. See * code sample * for details. *
* * @param listDatabasesRequest * @return A Java Future containing the result of the ListDatabases operation returned by the service. * @sample AmazonTimestreamWriteAsync.ListDatabases * @see AWS * API Documentation */ java.util.concurrent.Future* Returns a list of your Timestream databases. Service quotas apply. See * code sample * for details. *
* * @param listDatabasesRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListDatabases operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.ListDatabases * @see AWS * API Documentation */ java.util.concurrent.Future* Provides a list of tables, along with the name, status, and retention properties of each table. See code sample * for details. *
* * @param listTablesRequest * @return A Java Future containing the result of the ListTables operation returned by the service. * @sample AmazonTimestreamWriteAsync.ListTables * @see AWS * API Documentation */ java.util.concurrent.Future* Provides a list of tables, along with the name, status, and retention properties of each table. See code sample * for details. *
* * @param listTablesRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListTables operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.ListTables * @see AWS * API Documentation */ java.util.concurrent.Future* Lists all tags on a Timestream resource. *
* * @param listTagsForResourceRequest * @return A Java Future containing the result of the ListTagsForResource operation returned by the service. * @sample AmazonTimestreamWriteAsync.ListTagsForResource * @see AWS API Documentation */ java.util.concurrent.Future* Lists all tags on a Timestream resource. *
* * @param listTagsForResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ListTagsForResource operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.ListTagsForResource * @see AWS API Documentation */ java.util.concurrent.Future*
* * @param resumeBatchLoadTaskRequest * @return A Java Future containing the result of the ResumeBatchLoadTask operation returned by the service. * @sample AmazonTimestreamWriteAsync.ResumeBatchLoadTask * @see AWS API Documentation */ java.util.concurrent.Future*
* * @param resumeBatchLoadTaskRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the ResumeBatchLoadTask operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.ResumeBatchLoadTask * @see AWS API Documentation */ java.util.concurrent.Future* Associates a set of tags with a Timestream resource. You can then activate these user-defined tags so that they * appear on the Billing and Cost Management console for cost allocation tracking. *
* * @param tagResourceRequest * @return A Java Future containing the result of the TagResource operation returned by the service. * @sample AmazonTimestreamWriteAsync.TagResource * @see AWS * API Documentation */ java.util.concurrent.Future* Associates a set of tags with a Timestream resource. You can then activate these user-defined tags so that they * appear on the Billing and Cost Management console for cost allocation tracking. *
* * @param tagResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the TagResource operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.TagResource * @see AWS * API Documentation */ java.util.concurrent.Future* Removes the association of tags from a Timestream resource. *
* * @param untagResourceRequest * @return A Java Future containing the result of the UntagResource operation returned by the service. * @sample AmazonTimestreamWriteAsync.UntagResource * @see AWS * API Documentation */ java.util.concurrent.Future* Removes the association of tags from a Timestream resource. *
* * @param untagResourceRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UntagResource operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.UntagResource * @see AWS * API Documentation */ java.util.concurrent.Future
* Modifies the KMS key for an existing database. While updating the database, you must specify the database name
* and the identifier of the new KMS key to be used (KmsKeyId
). If there are any concurrent
* UpdateDatabase
requests, first writer wins.
*
* See code * sample for details. *
* * @param updateDatabaseRequest * @return A Java Future containing the result of the UpdateDatabase operation returned by the service. * @sample AmazonTimestreamWriteAsync.UpdateDatabase * @see AWS API Documentation */ java.util.concurrent.Future
* Modifies the KMS key for an existing database. While updating the database, you must specify the database name
* and the identifier of the new KMS key to be used (KmsKeyId
). If there are any concurrent
* UpdateDatabase
requests, first writer wins.
*
* See code * sample for details. *
* * @param updateDatabaseRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateDatabase operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.UpdateDatabase * @see AWS API Documentation */ java.util.concurrent.Future* Modifies the retention duration of the memory store and magnetic store for your Timestream table. Note that the * change in retention duration takes effect immediately. For example, if the retention period of the memory store * was initially set to 2 hours and then changed to 24 hours, the memory store will be capable of holding 24 hours * of data, but will be populated with 24 hours of data 22 hours after this change was made. Timestream does not * retrieve data from the magnetic store to populate the memory store. *
** See code * sample for details. *
* * @param updateTableRequest * @return A Java Future containing the result of the UpdateTable operation returned by the service. * @sample AmazonTimestreamWriteAsync.UpdateTable * @see AWS * API Documentation */ java.util.concurrent.Future* Modifies the retention duration of the memory store and magnetic store for your Timestream table. Note that the * change in retention duration takes effect immediately. For example, if the retention period of the memory store * was initially set to 2 hours and then changed to 24 hours, the memory store will be capable of holding 24 hours * of data, but will be populated with 24 hours of data 22 hours after this change was made. Timestream does not * retrieve data from the magnetic store to populate the memory store. *
** See code * sample for details. *
* * @param updateTableRequest * @param asyncHandler * Asynchronous callback handler for events in the lifecycle of the request. Users can provide an * implementation of the callback methods in this interface to receive notification of successful or * unsuccessful completion of the operation. * @return A Java Future containing the result of the UpdateTable operation returned by the service. * @sample AmazonTimestreamWriteAsyncHandler.UpdateTable * @see AWS * API Documentation */ java.util.concurrent.Future* Enables you to write your time-series data into Timestream. You can specify a single data point or a batch of * data points to be inserted into the system. Timestream offers you a flexible schema that auto detects the column * names and data types for your Timestream tables based on the dimension names and data types of the data points * you specify when invoking writes into the database. *
** Timestream supports eventual consistency read semantics. This means that when you query data immediately after * writing a batch of data into Timestream, the query results might not reflect the results of a recently completed * write operation. The results may also include some stale data. If you repeat the query request after a short * time, the results should return the latest data. Service quotas apply. *
** See code * sample for details. *
** Upserts *
*
* You can use the Version
parameter in a WriteRecords
request to update data points.
* Timestream tracks a version number with each record. Version
defaults to 1
when it's
* not specified for the record in the request. Timestream updates an existing record’s measure value along with its
* Version
when it receives a write request with a higher Version
number for that record.
* When it receives an update request where the measure value is the same as that of the existing record, Timestream
* still updates Version
, if it is greater than the existing value of Version
. You can
* update a data point as many times as desired, as long as the value of Version
continuously
* increases.
*
* For example, suppose you write a new record without indicating Version
in the request. Timestream
* stores this record, and set Version
to 1
. Now, suppose you try to update this record
* with a WriteRecords
request of the same record with a different measure value but, like before, do
* not provide Version
. In this case, Timestream will reject this update with a
* RejectedRecordsException
since the updated record’s version is not greater than the existing value
* of Version.
*
* However, if you were to resend the update request with Version
set to 2
, Timestream
* would then succeed in updating the record’s value, and the Version
would be set to 2
.
* Next, suppose you sent a WriteRecords
request with this same record and an identical measure value,
* but with Version
set to 3
. In this case, Timestream would only update
* Version
to 3
. Any further updates would need to send a version number greater than
* 3
, or the update requests would receive a RejectedRecordsException
.
*
* Enables you to write your time-series data into Timestream. You can specify a single data point or a batch of * data points to be inserted into the system. Timestream offers you a flexible schema that auto detects the column * names and data types for your Timestream tables based on the dimension names and data types of the data points * you specify when invoking writes into the database. *
** Timestream supports eventual consistency read semantics. This means that when you query data immediately after * writing a batch of data into Timestream, the query results might not reflect the results of a recently completed * write operation. The results may also include some stale data. If you repeat the query request after a short * time, the results should return the latest data. Service quotas apply. *
** See code * sample for details. *
** Upserts *
*
* You can use the Version
parameter in a WriteRecords
request to update data points.
* Timestream tracks a version number with each record. Version
defaults to 1
when it's
* not specified for the record in the request. Timestream updates an existing record’s measure value along with its
* Version
when it receives a write request with a higher Version
number for that record.
* When it receives an update request where the measure value is the same as that of the existing record, Timestream
* still updates Version
, if it is greater than the existing value of Version
. You can
* update a data point as many times as desired, as long as the value of Version
continuously
* increases.
*
* For example, suppose you write a new record without indicating Version
in the request. Timestream
* stores this record, and set Version
to 1
. Now, suppose you try to update this record
* with a WriteRecords
request of the same record with a different measure value but, like before, do
* not provide Version
. In this case, Timestream will reject this update with a
* RejectedRecordsException
since the updated record’s version is not greater than the existing value
* of Version.
*
* However, if you were to resend the update request with Version
set to 2
, Timestream
* would then succeed in updating the record’s value, and the Version
would be set to 2
.
* Next, suppose you sent a WriteRecords
request with this same record and an identical measure value,
* but with Version
set to 3
. In this case, Timestream would only update
* Version
to 3
. Any further updates would need to send a version number greater than
* 3
, or the update requests would receive a RejectedRecordsException
.
*