You are viewing documentation for version 2 of the AWS SDK for Ruby. Version 3 documentation can be found here.
Class: Aws::TimestreamWrite::Client
- Inherits:
-
Seahorse::Client::Base
- Object
- Seahorse::Client::Base
- Aws::TimestreamWrite::Client
- Defined in:
- (unknown)
Overview
An API client for Amazon Timestream Write. To construct a client, you need to configure a :region
and :credentials
.
timestreamwrite = Aws::TimestreamWrite::Client.new(
region: region_name,
credentials: credentials,
# ...
)
See #initialize for a full list of supported configuration options.
Region
You can configure a default region in the following locations:
ENV['AWS_REGION']
Aws.config[:region]
Go here for a list of supported regions.
Credentials
Default credentials are loaded automatically from the following locations:
ENV['AWS_ACCESS_KEY_ID']
andENV['AWS_SECRET_ACCESS_KEY']
Aws.config[:credentials]
- The shared credentials ini file at
~/.aws/credentials
(more information) - From an instance profile when running on EC2
You can also construct a credentials object from one of the following classes:
Alternatively, you configure credentials with :access_key_id
and
:secret_access_key
:
# load credentials from disk
creds = YAML.load(File.read('/path/to/secrets'))
Aws::TimestreamWrite::Client.new(
access_key_id: creds['access_key_id'],
secret_access_key: creds['secret_access_key']
)
Always load your credentials from outside your application. Avoid configuring credentials statically and never commit them to source control.
Instance Attribute Summary
Attributes inherited from Seahorse::Client::Base
Constructor collapse
-
#initialize(options = {}) ⇒ Aws::TimestreamWrite::Client
constructor
Constructs an API client.
API Operations collapse
-
#create_database(options = {}) ⇒ Types::CreateDatabaseResponse
Creates a new Timestream database.
-
#create_table(options = {}) ⇒ Types::CreateTableResponse
The CreateTable operation adds a new table to an existing database in your account.
-
#delete_database(options = {}) ⇒ Struct
Deletes a given Timestream database.
-
#delete_table(options = {}) ⇒ Struct
Deletes a given Timestream table.
-
#describe_database(options = {}) ⇒ Types::DescribeDatabaseResponse
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.
-
#describe_endpoints(options = {}) ⇒ Types::DescribeEndpointsResponse
DescribeEndpoints returns a list of available endpoints to make Timestream API calls against.
-
#describe_table(options = {}) ⇒ Types::DescribeTableResponse
Returns information about the table, including the table name, database name, retention duration of the memory store and the magnetic store.
-
#list_databases(options = {}) ⇒ Types::ListDatabasesResponse
Returns a list of your Timestream databases.
-
#list_tables(options = {}) ⇒ Types::ListTablesResponse
A list of tables, along with the name, status and retention properties of each table.
-
#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse
List all tags on a Timestream resource.
-
#tag_resource(options = {}) ⇒ Struct
Associate a set of tags with a Timestream resource.
-
#untag_resource(options = {}) ⇒ Struct
Removes the association of tags from a Timestream resource.
-
#update_database(options = {}) ⇒ Types::UpdateDatabaseResponse
Modifies the KMS key for an existing database.
-
#update_table(options = {}) ⇒ Types::UpdateTableResponse
Modifies the retention duration of the memory store and magnetic store for your Timestream table.
-
#write_records(options = {}) ⇒ Struct
The WriteRecords operation enables you to write your time series data into Timestream.
Instance Method Summary collapse
-
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean
Waiters polls an API operation until a resource enters a desired state.
-
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters.
Methods inherited from Seahorse::Client::Base
add_plugin, api, #build_request, clear_plugins, define, new, #operation, #operation_names, plugins, remove_plugin, set_api, set_plugins
Methods included from Seahorse::Client::HandlerBuilder
#handle, #handle_request, #handle_response
Constructor Details
#initialize(options = {}) ⇒ Aws::TimestreamWrite::Client
Constructs an API client.
Instance Method Details
#create_database(options = {}) ⇒ Types::CreateDatabaseResponse
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. Refer to AWS managed KMS keys for more info. Service quotas apply. For more information, see Access Management in the Timestream Developer Guide.
#create_table(options = {}) ⇒ Types::CreateTableResponse
The CreateTable operation adds a new table to an existing database in your account. In an AWS account, table names must be at least unique within each Region if they are in the same database. You may have identical table names in the same Region if the tables are in seperate databases. While creating the table, you must specify the table name, database name, and the retention properties. Service quotas apply. For more information, see Access Management in the Timestream Developer Guide.
#delete_database(options = {}) ⇒ Struct
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.
#delete_table(options = {}) ⇒ Struct
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.
#describe_database(options = {}) ⇒ Types::DescribeDatabaseResponse
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. For more information, see Access Management in the Timestream Developer Guide.
#describe_endpoints(options = {}) ⇒ Types::DescribeEndpointsResponse
DescribeEndpoints returns a list of available endpoints to make Timestream API calls against. This API is available through both Write and Query.
Because Timestream’s SDKs are designed to transparently work with the service’s architecture, including the management and mapping of the service endpoints, it is not recommended that you use this API unless:
-
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 to use DescribeEndpoints, see The Endpoint Discovery Pattern and REST APIs.
#describe_table(options = {}) ⇒ Types::DescribeTableResponse
Returns information about the table, including the table name, database name, retention duration of the memory store and the magnetic store. Service quotas apply. For more information, see Access Management in the Timestream Developer Guide.
#list_databases(options = {}) ⇒ Types::ListDatabasesResponse
Returns a list of your Timestream databases. Service quotas apply. For more information, see Access Management in the Timestream Developer Guide.
#list_tables(options = {}) ⇒ Types::ListTablesResponse
A list of tables, along with the name, status and retention properties of each table.
#list_tags_for_resource(options = {}) ⇒ Types::ListTagsForResourceResponse
List all tags on a Timestream resource.
#tag_resource(options = {}) ⇒ Struct
Associate 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.
#untag_resource(options = {}) ⇒ Struct
Removes the association of tags from a Timestream resource.
#update_database(options = {}) ⇒ Types::UpdateDatabaseResponse
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.
#update_table(options = {}) ⇒ Types::UpdateTableResponse
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.
Service quotas apply. For more information, see Access Management in the Timestream Developer Guide.
#wait_until(waiter_name, params = {}) {|waiter| ... } ⇒ Boolean
Waiters polls an API operation until a resource enters a desired state.
Basic Usage
Waiters will poll until they are succesful, they fail by entering a terminal state, or until a maximum number of attempts are made.
# polls in a loop, sleeping between attempts client.waiter_until(waiter_name, params)
Configuration
You can configure the maximum number of polling attempts, and the delay (in seconds) between each polling attempt. You configure waiters by passing a block to #wait_until:
# poll for ~25 seconds
client.wait_until(...) do |w|
w.max_attempts = 5
w.delay = 5
end
Callbacks
You can be notified before each polling attempt and before each
delay. If you throw :success
or :failure
from these callbacks,
it will terminate the waiter.
started_at = Time.now
client.wait_until(...) do |w|
# disable max attempts
w.max_attempts = nil
# poll for 1 hour, instead of a number of attempts
w.before_wait do |attempts, response|
throw :failure if Time.now - started_at > 3600
end
end
Handling Errors
When a waiter is successful, it returns true
. When a waiter
fails, it raises an error. All errors raised extend from
Waiters::Errors::WaiterFailed.
begin
client.wait_until(...)
rescue Aws::Waiters::Errors::WaiterFailed
# resource did not enter the desired state in time
end
#waiter_names ⇒ Array<Symbol>
Returns the list of supported waiters. The following table lists the supported waiters and the client method they call:
Waiter Name | Client Method | Default Delay: | Default Max Attempts: |
---|
#write_records(options = {}) ⇒ Struct
The WriteRecords operation 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 with 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 support 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. For more information, see Access Management in the Timestream Developer Guide.