/* * Copyright 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. */ /* * Do not modify this file. This file is generated from the timestream-write-2018-11-01.normal.json service model. */ using System; using System.Runtime.ExceptionServices; using System.Threading; using System.Threading.Tasks; using System.Collections.Generic; using System.Net; using Amazon.TimestreamWrite.Model; using Amazon.TimestreamWrite.Model.Internal.MarshallTransformations; using Amazon.TimestreamWrite.Internal; using Amazon.Runtime; using Amazon.Runtime.Internal; using Amazon.Runtime.Internal.Auth; using Amazon.Runtime.Internal.Transform; namespace Amazon.TimestreamWrite { /// /// Implementation for accessing TimestreamWrite /// /// 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. /// /// public partial class AmazonTimestreamWriteClient : AmazonServiceClient, IAmazonTimestreamWrite { private static IServiceMetadata serviceMetadata = new AmazonTimestreamWriteMetadata(); #region Constructors /// /// Constructs AmazonTimestreamWriteClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// public AmazonTimestreamWriteClient() : base(FallbackCredentialsFactory.GetCredentials(), new AmazonTimestreamWriteConfig()) { } /// /// Constructs AmazonTimestreamWriteClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The region to connect. public AmazonTimestreamWriteClient(RegionEndpoint region) : base(FallbackCredentialsFactory.GetCredentials(), new AmazonTimestreamWriteConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonTimestreamWriteClient with the credentials loaded from the application's /// default configuration, and if unsuccessful from the Instance Profile service on an EC2 instance. /// /// Example App.config with credentials set. /// /// <?xml version="1.0" encoding="utf-8" ?> /// <configuration> /// <appSettings> /// <add key="AWSProfileName" value="AWS Default"/> /// </appSettings> /// </configuration> /// /// /// /// The AmazonTimestreamWriteClient Configuration Object public AmazonTimestreamWriteClient(AmazonTimestreamWriteConfig config) : base(FallbackCredentialsFactory.GetCredentials(config), config){} /// /// Constructs AmazonTimestreamWriteClient with AWS Credentials /// /// AWS Credentials public AmazonTimestreamWriteClient(AWSCredentials credentials) : this(credentials, new AmazonTimestreamWriteConfig()) { } /// /// Constructs AmazonTimestreamWriteClient with AWS Credentials /// /// AWS Credentials /// The region to connect. public AmazonTimestreamWriteClient(AWSCredentials credentials, RegionEndpoint region) : this(credentials, new AmazonTimestreamWriteConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonTimestreamWriteClient with AWS Credentials and an /// AmazonTimestreamWriteClient Configuration object. /// /// AWS Credentials /// The AmazonTimestreamWriteClient Configuration Object public AmazonTimestreamWriteClient(AWSCredentials credentials, AmazonTimestreamWriteConfig clientConfig) : base(credentials, clientConfig) { } /// /// Constructs AmazonTimestreamWriteClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key public AmazonTimestreamWriteClient(string awsAccessKeyId, string awsSecretAccessKey) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonTimestreamWriteConfig()) { } /// /// Constructs AmazonTimestreamWriteClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// The region to connect. public AmazonTimestreamWriteClient(string awsAccessKeyId, string awsSecretAccessKey, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, new AmazonTimestreamWriteConfig() {RegionEndpoint=region}) { } /// /// Constructs AmazonTimestreamWriteClient with AWS Access Key ID, AWS Secret Key and an /// AmazonTimestreamWriteClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// The AmazonTimestreamWriteClient Configuration Object public AmazonTimestreamWriteClient(string awsAccessKeyId, string awsSecretAccessKey, AmazonTimestreamWriteConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, clientConfig) { } /// /// Constructs AmazonTimestreamWriteClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token public AmazonTimestreamWriteClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonTimestreamWriteConfig()) { } /// /// Constructs AmazonTimestreamWriteClient with AWS Access Key ID and AWS Secret Key /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The region to connect. public AmazonTimestreamWriteClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, RegionEndpoint region) : this(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, new AmazonTimestreamWriteConfig{RegionEndpoint = region}) { } /// /// Constructs AmazonTimestreamWriteClient with AWS Access Key ID, AWS Secret Key and an /// AmazonTimestreamWriteClient Configuration object. /// /// AWS Access Key ID /// AWS Secret Access Key /// AWS Session Token /// The AmazonTimestreamWriteClient Configuration Object public AmazonTimestreamWriteClient(string awsAccessKeyId, string awsSecretAccessKey, string awsSessionToken, AmazonTimestreamWriteConfig clientConfig) : base(awsAccessKeyId, awsSecretAccessKey, awsSessionToken, clientConfig) { } #endregion #if AWS_ASYNC_ENUMERABLES_API private ITimestreamWritePaginatorFactory _paginators; /// /// Paginators for the service /// public ITimestreamWritePaginatorFactory Paginators { get { if (this._paginators == null) { this._paginators = new TimestreamWritePaginatorFactory(this); } return this._paginators; } } #endif #region Overrides /// /// Creates the signer for the service. /// protected override AbstractAWSSigner CreateSigner() { return new AWS4Signer(); } /// /// Customizes the runtime pipeline. /// /// Runtime pipeline for the current client. protected override void CustomizeRuntimePipeline(RuntimePipeline pipeline) { pipeline.RemoveHandler(); pipeline.AddHandlerAfter(new AmazonTimestreamWriteEndpointResolver()); } /// /// Capture metadata for the service. /// protected override IServiceMetadata ServiceMetadata { get { return serviceMetadata; } } #endregion #region Dispose /// /// Disposes the service client. /// protected override void Dispose(bool disposing) { base.Dispose(disposing); } #endregion #region EndpointOperation Override protected override IEnumerable EndpointOperation(EndpointOperationContextBase context) { return EndpointDiscoveryResolver.ResolveEndpoints(context, () => { var request = new DescribeEndpointsRequest { }; var response = DescribeEndpoints(request); if(response.HttpStatusCode != HttpStatusCode.OK || response.Endpoints == null) { return null; } var endpoints = new List(); foreach(var endpoint in response.Endpoints) { endpoints.Add(new DiscoveryEndpoint(endpoint.Address, endpoint.CachePeriodInMinutes)); } return endpoints; }); } #endregion #region CreateBatchLoadTask internal virtual CreateBatchLoadTaskResponse CreateBatchLoadTask(CreateBatchLoadTaskRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateBatchLoadTaskRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateBatchLoadTaskResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = CreateBatchLoadTaskEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the CreateBatchLoadTask service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateBatchLoadTask service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to process this request because it contains resource that already /// exists. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// The instance quota of resource exceeded for this account. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for CreateBatchLoadTask Operation public virtual Task CreateBatchLoadTaskAsync(CreateBatchLoadTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateBatchLoadTaskRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateBatchLoadTaskResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = CreateBatchLoadTaskEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateDatabase internal virtual CreateDatabaseResponse CreateDatabase(CreateDatabaseRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateDatabaseRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateDatabaseResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = CreateDatabaseEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the CreateDatabase service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateDatabase service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to process this request because it contains resource that already /// exists. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The instance quota of resource exceeded for this account. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for CreateDatabase Operation public virtual Task CreateDatabaseAsync(CreateDatabaseRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateDatabaseRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateDatabaseResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = CreateDatabaseEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region CreateTable internal virtual CreateTableResponse CreateTable(CreateTableRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = CreateTableRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateTableResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = CreateTableEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the CreateTable service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the CreateTable service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to process this request because it contains resource that already /// exists. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// The instance quota of resource exceeded for this account. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for CreateTable Operation public virtual Task CreateTableAsync(CreateTableRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = CreateTableRequestMarshaller.Instance; options.ResponseUnmarshaller = CreateTableResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = CreateTableEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteDatabase internal virtual DeleteDatabaseResponse DeleteDatabase(DeleteDatabaseRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteDatabaseRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteDatabaseResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = DeleteDatabaseEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// /// Container for the necessary parameters to execute the DeleteDatabase service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteDatabase service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for DeleteDatabase Operation public virtual Task DeleteDatabaseAsync(DeleteDatabaseRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteDatabaseRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteDatabaseResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = DeleteDatabaseEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region DeleteTable internal virtual DeleteTableResponse DeleteTable(DeleteTableRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteTableRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteTableResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = DeleteTableEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// /// Container for the necessary parameters to execute the DeleteTable service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DeleteTable service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for DeleteTable Operation public virtual Task DeleteTableAsync(DeleteTableRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DeleteTableRequestMarshaller.Instance; options.ResponseUnmarshaller = DeleteTableResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = DeleteTableEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeBatchLoadTask internal virtual DescribeBatchLoadTaskResponse DescribeBatchLoadTask(DescribeBatchLoadTaskRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeBatchLoadTaskRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeBatchLoadTaskResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = DescribeBatchLoadTaskEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// Returns information about the batch load task, including configurations, mappings, /// progress, and other details. Service /// quotas apply. See code /// sample for details. /// /// Container for the necessary parameters to execute the DescribeBatchLoadTask service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeBatchLoadTask service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// REST API Reference for DescribeBatchLoadTask Operation public virtual Task DescribeBatchLoadTaskAsync(DescribeBatchLoadTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeBatchLoadTaskRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeBatchLoadTaskResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = DescribeBatchLoadTaskEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeDatabase internal virtual DescribeDatabaseResponse DescribeDatabase(DescribeDatabaseRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeDatabaseRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeDatabaseResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = DescribeDatabaseEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the DescribeDatabase service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeDatabase service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for DescribeDatabase Operation public virtual Task DescribeDatabaseAsync(DescribeDatabaseRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeDatabaseRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeDatabaseResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = DescribeDatabaseEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeEndpoints internal virtual DescribeEndpointsResponse DescribeEndpoints(DescribeEndpointsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeEndpointsRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeEndpointsResponseUnmarshaller.Instance; return Invoke(request, options); } /// /// 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. /// /// /// Container for the necessary parameters to execute the DescribeEndpoints service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeEndpoints service method, as returned by TimestreamWrite. /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for DescribeEndpoints Operation public virtual Task DescribeEndpointsAsync(DescribeEndpointsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeEndpointsRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeEndpointsResponseUnmarshaller.Instance; return InvokeAsync(request, options, cancellationToken); } #endregion #region DescribeTable internal virtual DescribeTableResponse DescribeTable(DescribeTableRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeTableRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeTableResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = DescribeTableEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the DescribeTable service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the DescribeTable service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for DescribeTable Operation public virtual Task DescribeTableAsync(DescribeTableRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = DescribeTableRequestMarshaller.Instance; options.ResponseUnmarshaller = DescribeTableResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = DescribeTableEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListBatchLoadTasks internal virtual ListBatchLoadTasksResponse ListBatchLoadTasks(ListBatchLoadTasksRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListBatchLoadTasksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListBatchLoadTasksResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = ListBatchLoadTasksEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the ListBatchLoadTasks service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListBatchLoadTasks service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for ListBatchLoadTasks Operation public virtual Task ListBatchLoadTasksAsync(ListBatchLoadTasksRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListBatchLoadTasksRequestMarshaller.Instance; options.ResponseUnmarshaller = ListBatchLoadTasksResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = ListBatchLoadTasksEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListDatabases internal virtual ListDatabasesResponse ListDatabases(ListDatabasesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListDatabasesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListDatabasesResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = ListDatabasesEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// Returns a list of your Timestream databases. Service /// quotas apply. See code /// sample for details. /// /// Container for the necessary parameters to execute the ListDatabases service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListDatabases service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for ListDatabases Operation public virtual Task ListDatabasesAsync(ListDatabasesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListDatabasesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListDatabasesResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = ListDatabasesEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListTables internal virtual ListTablesResponse ListTables(ListTablesRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTablesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTablesResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = ListTablesEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// Provides a list of tables, along with the name, status, and retention properties of /// each table. See code /// sample for details. /// /// Container for the necessary parameters to execute the ListTables service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListTables service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for ListTables Operation public virtual Task ListTablesAsync(ListTablesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListTablesRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTablesResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = ListTablesEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region ListTagsForResource internal virtual ListTagsForResourceResponse ListTagsForResource(ListTagsForResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = ListTagsForResourceEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// Lists all tags on a Timestream resource. /// /// Container for the necessary parameters to execute the ListTagsForResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ListTagsForResource service method, as returned by TimestreamWrite. /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for ListTagsForResource Operation public virtual Task ListTagsForResourceAsync(ListTagsForResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ListTagsForResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = ListTagsForResourceResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = ListTagsForResourceEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region ResumeBatchLoadTask internal virtual ResumeBatchLoadTaskResponse ResumeBatchLoadTask(ResumeBatchLoadTaskRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = ResumeBatchLoadTaskRequestMarshaller.Instance; options.ResponseUnmarshaller = ResumeBatchLoadTaskResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = ResumeBatchLoadTaskEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// /// /// Container for the necessary parameters to execute the ResumeBatchLoadTask service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the ResumeBatchLoadTask service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for ResumeBatchLoadTask Operation public virtual Task ResumeBatchLoadTaskAsync(ResumeBatchLoadTaskRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = ResumeBatchLoadTaskRequestMarshaller.Instance; options.ResponseUnmarshaller = ResumeBatchLoadTaskResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = ResumeBatchLoadTaskEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region TagResource internal virtual TagResourceResponse TagResource(TagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = TagResourceEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// Container for the necessary parameters to execute the TagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the TagResource service method, as returned by TimestreamWrite. /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// The instance quota of resource exceeded for this account. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for TagResource Operation public virtual Task TagResourceAsync(TagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = TagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = TagResourceResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = TagResourceEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region UntagResource internal virtual UntagResourceResponse UntagResource(UntagResourceRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = UntagResourceEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// Removes the association of tags from a Timestream resource. /// /// Container for the necessary parameters to execute the UntagResource service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UntagResource service method, as returned by TimestreamWrite. /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// The instance quota of resource exceeded for this account. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for UntagResource Operation public virtual Task UntagResourceAsync(UntagResourceRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UntagResourceRequestMarshaller.Instance; options.ResponseUnmarshaller = UntagResourceResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = UntagResourceEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateDatabase internal virtual UpdateDatabaseResponse UpdateDatabase(UpdateDatabaseRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateDatabaseRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateDatabaseResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = UpdateDatabaseEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// /// Container for the necessary parameters to execute the UpdateDatabase service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateDatabase service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// The instance quota of resource exceeded for this account. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for UpdateDatabase Operation public virtual Task UpdateDatabaseAsync(UpdateDatabaseRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateDatabaseRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateDatabaseResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = UpdateDatabaseEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region UpdateTable internal virtual UpdateTableResponse UpdateTable(UpdateTableRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateTableRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateTableResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = UpdateTableEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// /// Container for the necessary parameters to execute the UpdateTable service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the UpdateTable service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for UpdateTable Operation public virtual Task UpdateTableAsync(UpdateTableRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = UpdateTableRequestMarshaller.Instance; options.ResponseUnmarshaller = UpdateTableResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = UpdateTableEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion #region WriteRecords internal virtual WriteRecordsResponse WriteRecords(WriteRecordsRequest request) { var options = new InvokeOptions(); options.RequestMarshaller = WriteRecordsRequestMarshaller.Instance; options.ResponseUnmarshaller = WriteRecordsResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = WriteRecordsEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return Invoke(request, options); } /// /// 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. /// /// /// Container for the necessary parameters to execute the WriteRecords service method. /// /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// /// /// The response from the WriteRecords service method, as returned by TimestreamWrite. /// /// You are not authorized to perform this action. /// /// /// Timestream was unable to fully process this request because of an internal server /// error. /// /// /// The requested endpoint was not valid. /// /// /// 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. /// ///
/// /// The operation tried to access a nonexistent resource. The resource might not be specified /// correctly, or its status might not be ACTIVE. /// /// /// Too many requests were made by a user and they exceeded the service quotas. The request /// was throttled. /// /// /// An invalid or malformed request. /// /// REST API Reference for WriteRecords Operation public virtual Task WriteRecordsAsync(WriteRecordsRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var options = new InvokeOptions(); options.RequestMarshaller = WriteRecordsRequestMarshaller.Instance; options.ResponseUnmarshaller = WriteRecordsResponseUnmarshaller.Instance; options.EndpointDiscoveryMarshaller = WriteRecordsEndpointDiscoveryMarshaller.Instance; options.EndpointOperation = EndpointOperation; return InvokeAsync(request, options, cancellationToken); } #endregion } }