All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.timestreamwrite.AmazonTimestreamWrite Maven / Gradle / Ivy

Go to download

The AWS Java SDK for Amazon Timestream Write module holds the client classes that are used for communicating with Amazon Timestream Write Service

There is a newer version: 1.12.778
Show newest version
/*
 * Copyright 2019-2024 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.*;
import com.amazonaws.regions.*;

import com.amazonaws.services.timestreamwrite.model.*;

/**
 * Interface for accessing Timestream Write.
 * 

* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.timestreamwrite.AbstractAmazonTimestreamWrite} instead. *

*

* Amazon Timestream Write *

* 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 AmazonTimestreamWrite { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "ingest.timestream"; /** *

* 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. *

* * @param createBatchLoadTaskRequest * @return Result of the CreateBatchLoadTask operation returned by the service. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws ValidationException * An invalid or malformed request. * @throws ConflictException * Timestream was unable to process this request because it contains resource that already exists. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws ServiceQuotaExceededException * The instance quota of resource exceeded for this account. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.CreateBatchLoadTask * @see AWS API Documentation */ CreateBatchLoadTaskResult createBatchLoadTask(CreateBatchLoadTaskRequest createBatchLoadTaskRequest); /** *

* 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 Result of the CreateDatabase operation returned by the service. * @throws ConflictException * Timestream was unable to process this request because it contains resource that already exists. * @throws ValidationException * An invalid or malformed request. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws ServiceQuotaExceededException * The instance quota of resource exceeded for this account. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws InvalidEndpointException * The requested endpoint was not valid. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.CreateDatabase * @see AWS API Documentation */ CreateDatabaseResult createDatabase(CreateDatabaseRequest createDatabaseRequest); /** *

* 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 Result of the CreateTable operation returned by the service. * @throws ConflictException * Timestream was unable to process this request because it contains resource that already exists. * @throws ValidationException * An invalid or malformed request. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws ServiceQuotaExceededException * The instance quota of resource exceeded for this account. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws InvalidEndpointException * The requested endpoint was not valid. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.CreateTable * @see AWS * API Documentation */ CreateTableResult createTable(CreateTableRequest createTableRequest); /** *

* 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 Result of the DeleteDatabase operation returned by the service. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws ValidationException * An invalid or malformed request. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.DeleteDatabase * @see AWS API Documentation */ DeleteDatabaseResult deleteDatabase(DeleteDatabaseRequest deleteDatabaseRequest); /** *

* 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 Result of the DeleteTable operation returned by the service. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws ValidationException * An invalid or malformed request. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.DeleteTable * @see AWS * API Documentation */ DeleteTableResult deleteTable(DeleteTableRequest deleteTableRequest); /** *

* 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 Result of the DescribeBatchLoadTask operation returned by the service. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.DescribeBatchLoadTask * @see AWS API Documentation */ DescribeBatchLoadTaskResult describeBatchLoadTask(DescribeBatchLoadTaskRequest describeBatchLoadTaskRequest); /** *

* 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 Result of the DescribeDatabase operation returned by the service. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws ValidationException * An invalid or malformed request. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.DescribeDatabase * @see AWS API Documentation */ DescribeDatabaseResult describeDatabase(DescribeDatabaseRequest describeDatabaseRequest); /** *

* 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: *

* *

* For detailed information on how and when to use and implement DescribeEndpoints, see The Endpoint Discovery Pattern. *

* * @param describeEndpointsRequest * @return Result of the DescribeEndpoints operation returned by the service. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws ValidationException * An invalid or malformed request. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @sample AmazonTimestreamWrite.DescribeEndpoints * @see AWS API Documentation */ DescribeEndpointsResult describeEndpoints(DescribeEndpointsRequest describeEndpointsRequest); /** *

* 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 Result of the DescribeTable operation returned by the service. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws ValidationException * An invalid or malformed request. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.DescribeTable * @see AWS * API Documentation */ DescribeTableResult describeTable(DescribeTableRequest describeTableRequest); /** *

* 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 Result of the ListBatchLoadTasks operation returned by the service. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws ValidationException * An invalid or malformed request. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.ListBatchLoadTasks * @see AWS API Documentation */ ListBatchLoadTasksResult listBatchLoadTasks(ListBatchLoadTasksRequest listBatchLoadTasksRequest); /** *

* Returns a list of your Timestream databases. Service quotas apply. See * code sample * for details. *

* * @param listDatabasesRequest * @return Result of the ListDatabases operation returned by the service. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws ValidationException * An invalid or malformed request. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.ListDatabases * @see AWS * API Documentation */ ListDatabasesResult listDatabases(ListDatabasesRequest listDatabasesRequest); /** *

* Provides a list of tables, along with the name, status, and retention properties of each table. See code sample * for details. *

* * @param listTablesRequest * @return Result of the ListTables operation returned by the service. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws ValidationException * An invalid or malformed request. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.ListTables * @see AWS * API Documentation */ ListTablesResult listTables(ListTablesRequest listTablesRequest); /** *

* Lists all tags on a Timestream resource. *

* * @param listTagsForResourceRequest * @return Result of the ListTagsForResource operation returned by the service. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws ValidationException * An invalid or malformed request. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.ListTagsForResource * @see AWS API Documentation */ ListTagsForResourceResult listTagsForResource(ListTagsForResourceRequest listTagsForResourceRequest); /** *

*

* * @param resumeBatchLoadTaskRequest * @return Result of the ResumeBatchLoadTask operation returned by the service. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws ValidationException * An invalid or malformed request. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.ResumeBatchLoadTask * @see AWS API Documentation */ ResumeBatchLoadTaskResult resumeBatchLoadTask(ResumeBatchLoadTaskRequest resumeBatchLoadTaskRequest); /** *

* 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 Result of the TagResource operation returned by the service. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws ServiceQuotaExceededException * The instance quota of resource exceeded for this account. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws ValidationException * An invalid or malformed request. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.TagResource * @see AWS * API Documentation */ TagResourceResult tagResource(TagResourceRequest tagResourceRequest); /** *

* Removes the association of tags from a Timestream resource. *

* * @param untagResourceRequest * @return Result of the UntagResource operation returned by the service. * @throws ValidationException * An invalid or malformed request. * @throws ServiceQuotaExceededException * The instance quota of resource exceeded for this account. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.UntagResource * @see AWS * API Documentation */ UntagResourceResult untagResource(UntagResourceRequest untagResourceRequest); /** *

* 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 Result of the UpdateDatabase operation returned by the service. * @throws ValidationException * An invalid or malformed request. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws ServiceQuotaExceededException * The instance quota of resource exceeded for this account. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.UpdateDatabase * @see AWS API Documentation */ UpdateDatabaseResult updateDatabase(UpdateDatabaseRequest updateDatabaseRequest); /** *

* 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 Result of the UpdateTable operation returned by the service. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws ValidationException * An invalid or malformed request. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.UpdateTable * @see AWS * API Documentation */ UpdateTableResult updateTable(UpdateTableRequest updateTableRequest); /** *

* 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. *

* * @param writeRecordsRequest * @return Result of the WriteRecords operation returned by the service. * @throws InternalServerException * Timestream was unable to fully process this request because of an internal server error. * @throws ThrottlingException * Too many requests were made by a user and they exceeded the service quotas. The request was throttled. * @throws ValidationException * An invalid or malformed request. * @throws ResourceNotFoundException * The operation tried to access a nonexistent resource. The resource might not be specified correctly, or * its status might not be ACTIVE. * @throws AccessDeniedException * You are not authorized to perform this action. * @throws RejectedRecordsException * WriteRecords would throw this exception in the following cases:

*
    *
  • *

    * Records with duplicate data where there are multiple records with the same dimensions, timestamps, and * measure names but: *

    *
      *
    • *

      * Measure values are different *

      *
    • *
    • *

      * Version is not present in the request or the value of version in the new record is equal to or * lower than the existing value *

      *
    • *
    *

    * In this case, if Timestream rejects data, the ExistingVersion field in the * RejectedRecords response will indicate the current record’s version. To force an update, you * can resend the request with a version for the record set to a value greater than the * ExistingVersion. *

    *
  • *
  • *

    * Records with timestamps that lie outside the retention duration of the memory store. *

    *
  • *
  • *

    * Records with dimensions or measures that exceed the Timestream defined limits. *

    *
  • *
*

* For more information, see Quotas in the * Amazon Timestream Developer Guide. * @throws InvalidEndpointException * The requested endpoint was not valid. * @sample AmazonTimestreamWrite.WriteRecords * @see AWS * API Documentation */ WriteRecordsResult writeRecords(WriteRecordsRequest writeRecordsRequest); /** * Shuts down this client object, releasing any resources that might be held open. This is an optional method, and * callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client * has been shutdown, it should not be used to make any more requests. */ void shutdown(); /** * Returns additional metadata for a previously executed successful request, typically used for debugging issues * where a service isn't acting as expected. This data isn't considered part of the result data returned by an * operation, so it's available through this separate, diagnostic interface. *

* Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy