Class: Aws::TimestreamQuery::Client

Inherits:
Seahorse::Client::Base show all
Includes:
ClientStubs
Defined in:
gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb

Overview

An API client for TimestreamQuery. To construct a client, you need to configure a :region and :credentials.

client = Aws::TimestreamQuery::Client.new(
  region: region_name,
  credentials: credentials,
  # ...
)

For details on configuring region and credentials see the developer guide.

See #initialize for a full list of supported configuration options.

Instance Attribute Summary

Attributes inherited from Seahorse::Client::Base

#config, #handlers

API Operations collapse

Instance Method Summary collapse

Methods included from ClientStubs

#api_requests, #stub_data, #stub_responses

Methods inherited from Seahorse::Client::Base

add_plugin, api, clear_plugins, define, new, #operation_names, plugins, remove_plugin, set_api, set_plugins

Methods included from Seahorse::Client::HandlerBuilder

#handle, #handle_request, #handle_response

Constructor Details

#initialize(options) ⇒ Client

Returns a new instance of Client.

Parameters:

  • options (Hash)

Options Hash (options):

  • :credentials (required, Aws::CredentialProvider)

    Your AWS credentials. This can be an instance of any one of the following classes:

    • Aws::Credentials - Used for configuring static, non-refreshing credentials.

    • Aws::SharedCredentials - Used for loading static credentials from a shared file, such as ~/.aws/config.

    • Aws::AssumeRoleCredentials - Used when you need to assume a role.

    • Aws::AssumeRoleWebIdentityCredentials - Used when you need to assume a role after providing credentials via the web.

    • Aws::SSOCredentials - Used for loading credentials from AWS SSO using an access token generated from aws login.

    • Aws::ProcessCredentials - Used for loading credentials from a process that outputs to stdout.

    • Aws::InstanceProfileCredentials - Used for loading credentials from an EC2 IMDS on an EC2 instance.

    • Aws::ECSCredentials - Used for loading credentials from instances running in ECS.

    • Aws::CognitoIdentityCredentials - Used for loading credentials from the Cognito Identity service.

    When :credentials are not configured directly, the following locations will be searched for credentials:

    • Aws.config[:credentials]
    • The :access_key_id, :secret_access_key, and :session_token options.
    • ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
    • ~/.aws/credentials
    • ~/.aws/config
    • EC2/ECS IMDS instance profile - When used by default, the timeouts are very aggressive. Construct and pass an instance of Aws::InstanceProfileCredentails or Aws::ECSCredentials to enable retries and extended timeouts. Instance profile credential fetching can be disabled by setting ENV['AWS_EC2_METADATA_DISABLED'] to true.
  • :region (required, String)

    The AWS region to connect to. The configured :region is used to determine the service :endpoint. When not passed, a default :region is searched for in the following locations:

    • Aws.config[:region]
    • ENV['AWS_REGION']
    • ENV['AMAZON_REGION']
    • ENV['AWS_DEFAULT_REGION']
    • ~/.aws/credentials
    • ~/.aws/config
  • :access_key_id (String)
  • :active_endpoint_cache (Boolean) — default: false

    When set to true, a thread polling for endpoints will be running in the background every 60 secs (default). Defaults to false.

  • :adaptive_retry_wait_to_fill (Boolean) — default: true

    Used only in adaptive retry mode. When true, the request will sleep until there is sufficent client side capacity to retry the request. When false, the request will raise a RetryCapacityNotAvailableError and will not retry instead of sleeping.

  • :client_side_monitoring (Boolean) — default: false

    When true, client-side metrics will be collected for all API requests from this client.

  • :client_side_monitoring_client_id (String) — default: ""

    Allows you to provide an identifier for this client which will be attached to all generated client side metrics. Defaults to an empty string.

  • :client_side_monitoring_host (String) — default: "127.0.0.1"

    Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_port (Integer) — default: 31000

    Required for publishing client metrics. The port that the client side monitoring agent is running on, where client metrics will be published via UDP.

  • :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher) — default: Aws::ClientSideMonitoring::Publisher

    Allows you to provide a custom client-side monitoring publisher class. By default, will use the Client Side Monitoring Agent Publisher.

  • :convert_params (Boolean) — default: true

    When true, an attempt is made to coerce request parameters into the required types.

  • :correct_clock_skew (Boolean) — default: true

    Used only in standard and adaptive retry modes. Specifies whether to apply a clock skew correction and retry requests with skewed client clocks.

  • :defaults_mode (String) — default: "legacy"

    See DefaultsModeConfiguration for a list of the accepted modes and the configuration defaults that are included.

  • :disable_host_prefix_injection (Boolean) — default: false

    Set to true to disable SDK automatically adding host prefix to default service endpoint when available.

  • :endpoint (String)

    The client endpoint is normally constructed from the :region option. You should only configure an :endpoint when connecting to test or custom endpoints. This should be a valid HTTP(S) URI.

  • :endpoint_cache_max_entries (Integer) — default: 1000

    Used for the maximum size limit of the LRU cache storing endpoints data for endpoint discovery enabled operations. Defaults to 1000.

  • :endpoint_cache_max_threads (Integer) — default: 10

    Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.

  • :endpoint_cache_poll_interval (Integer) — default: 60

    When :endpoint_discovery and :active_endpoint_cache is enabled, Use this option to config the time interval in seconds for making requests fetching endpoints information. Defaults to 60 sec.

  • :endpoint_discovery (Boolean) — default: true

    When set to true, endpoint discovery will be enabled for operations when available.

  • :log_formatter (Aws::Log::Formatter) — default: Aws::Log::Formatter.default

    The log formatter.

  • :log_level (Symbol) — default: :info

    The log level to send messages to the :logger at.

  • :logger (Logger)

    The Logger instance to send log messages to. If this option is not set, logging will be disabled.

  • :max_attempts (Integer) — default: 3

    An integer representing the maximum number attempts that will be made for a single request, including the initial attempt. For example, setting this value to 5 will result in a request being retried up to 4 times. Used in standard and adaptive retry modes.

  • :profile (String) — default: "default"

    Used when loading credentials from the shared credentials file at HOME/.aws/credentials. When not specified, 'default' is used.

  • :retry_backoff (Proc)

    A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay. This option is only used in the legacy retry mode.

  • :retry_base_delay (Float) — default: 0.3

    The base delay in seconds used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_jitter (Symbol) — default: :none

    A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number. This option is only used in the legacy retry mode.

    @see https://www.awsarchitectureblog.com/2015/03/backoff.html

  • :retry_limit (Integer) — default: 3

    The maximum number of times to retry failed requests. Only ~ 500 level server errors and certain ~ 400 level client errors are retried. Generally, these are throttling errors, data checksum errors, networking errors, timeout errors, auth errors, endpoint discovery, and errors from expired credentials. This option is only used in the legacy retry mode.

  • :retry_max_delay (Integer) — default: 0

    The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function. This option is only used in the legacy retry mode.

  • :retry_mode (String) — default: "legacy"

    Specifies which retry algorithm to use. Values are:

    • legacy - The pre-existing retry behavior. This is default value if no retry mode is provided.

    • standard - A standardized set of retry rules across the AWS SDKs. This includes support for retry quotas, which limit the number of unsuccessful retries a client can make.

    • adaptive - An experimental retry mode that includes all the functionality of standard mode along with automatic client side throttling. This is a provisional mode that may change behavior in the future.

  • :secret_access_key (String)
  • :session_token (String)
  • :simple_json (Boolean) — default: false

    Disables request parameter conversion, validation, and formatting. Also disable response data type conversions. This option is useful when you want to ensure the highest level of performance by avoiding overhead of walking request parameters and response data structures.

    When :simple_json is enabled, the request parameters hash must be formatted exactly as the DynamoDB API expects.

  • :stub_responses (Boolean) — default: false

    Causes the client to return stubbed responses. By default fake responses are generated and returned. You can specify the response data to return or errors to raise by calling ClientStubs#stub_responses. See ClientStubs for more information.

    Please note When response stubbing is enabled, no HTTP requests are made, and retries are disabled.

  • :use_dualstack_endpoint (Boolean)

    When set to true, dualstack enabled endpoints (with .aws TLD) will be used if available.

  • :use_fips_endpoint (Boolean)

    When set to true, fips compatible endpoints will be used if available. When a fips region is used, the region is normalized and this config is set to true.

  • :validate_params (Boolean) — default: true

    When true, request parameters are validated before sending the request.

  • :http_proxy (URI::HTTP, String)

    A proxy to send requests through. Formatted like 'http://proxy.com:123'.

  • :http_open_timeout (Float) — default: 15

    The number of seconds to wait when opening a HTTP session before raising a Timeout::Error.

  • :http_read_timeout (Float) — default: 60

    The default number of seconds to wait for response data. This value can safely be set per-request on the session.

  • :http_idle_timeout (Float) — default: 5

    The number of seconds a connection is allowed to sit idle before it is considered stale. Stale connections are closed and removed from the pool before making a request.

  • :http_continue_timeout (Float) — default: 1

    The number of seconds to wait for a 100-continue response before sending the request body. This option has no effect unless the request has "Expect" header set to "100-continue". Defaults to nil which disables this behaviour. This value can safely be set per request on the session.

  • :ssl_timeout (Float) — default: nil

    Sets the SSL timeout in seconds.

  • :http_wire_trace (Boolean) — default: false

    When true, HTTP debug output will be sent to the :logger.

  • :ssl_verify_peer (Boolean) — default: true

    When true, SSL peer certificates are verified when establishing a connection.

  • :ssl_ca_bundle (String)

    Full path to the SSL certificate authority bundle file that should be used when verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.

  • :ssl_ca_directory (String)

    Full path of the directory that contains the unbundled SSL certificate authority files for verifying peer certificates. If you do not pass :ssl_ca_bundle or :ssl_ca_directory the the system default will be used if available.



358
359
360
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 358

def initialize(*args)
  super
end

Instance Method Details

#cancel_query(params = {}) ⇒ Types::CancelQueryResponse

Cancels a query that has been issued. Cancellation is provided only if the query has not completed running before the cancellation request was issued. Because cancellation is an idempotent operation, subsequent cancellation requests will return a CancellationMessage, indicating that the query has already been canceled. See code sample for details.

Examples:

Request syntax with placeholder values


resp = client.cancel_query({
  query_id: "QueryId", # required
})

Response structure


resp.cancellation_message #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :query_id (required, String)

    The ID of the query that needs to be cancelled. QueryID is returned as part of the query result.

Returns:

See Also:



397
398
399
400
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 397

def cancel_query(params = {}, options = {})
  req = build_request(:cancel_query, params)
  req.send_request(options)
end

#create_scheduled_query(params = {}) ⇒ Types::CreateScheduledQueryResponse

Create a scheduled query that will be run on your behalf at the configured schedule. Timestream assumes the execution role provided as part of the ScheduledQueryExecutionRoleArn parameter to run the query. You can use the NotificationConfiguration parameter to configure notification for your scheduled query operations.

Examples:

Request syntax with placeholder values


resp = client.create_scheduled_query({
  name: "ScheduledQueryName", # required
  query_string: "QueryString", # required
  schedule_configuration: { # required
    schedule_expression: "ScheduleExpression", # required
  },
  notification_configuration: { # required
    sns_configuration: { # required
      topic_arn: "AmazonResourceName", # required
    },
  },
  target_configuration: {
    timestream_configuration: { # required
      database_name: "ResourceName", # required
      table_name: "ResourceName", # required
      time_column: "SchemaName", # required
      dimension_mappings: [ # required
        {
          name: "SchemaName", # required
          dimension_value_type: "VARCHAR", # required, accepts VARCHAR
        },
      ],
      multi_measure_mappings: {
        target_multi_measure_name: "SchemaName",
        multi_measure_attribute_mappings: [ # required
          {
            source_column: "SchemaName", # required
            target_multi_measure_attribute_name: "SchemaName",
            measure_value_type: "BIGINT", # required, accepts BIGINT, BOOLEAN, DOUBLE, VARCHAR, TIMESTAMP
          },
        ],
      },
      mixed_measure_mappings: [
        {
          measure_name: "SchemaName",
          source_column: "SchemaName",
          target_measure_name: "SchemaName",
          measure_value_type: "BIGINT", # required, accepts BIGINT, BOOLEAN, DOUBLE, VARCHAR, MULTI
          multi_measure_attribute_mappings: [
            {
              source_column: "SchemaName", # required
              target_multi_measure_attribute_name: "SchemaName",
              measure_value_type: "BIGINT", # required, accepts BIGINT, BOOLEAN, DOUBLE, VARCHAR, TIMESTAMP
            },
          ],
        },
      ],
      measure_name_column: "SchemaName",
    },
  },
  client_token: "ClientToken",
  scheduled_query_execution_role_arn: "AmazonResourceName", # required
  tags: [
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
  kms_key_id: "StringValue2048",
  error_report_configuration: { # required
    s3_configuration: { # required
      bucket_name: "S3BucketName", # required
      object_key_prefix: "S3ObjectKeyPrefix",
      encryption_option: "SSE_S3", # accepts SSE_S3, SSE_KMS
    },
  },
})

Response structure


resp.arn #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :name (required, String)

    Name of the scheduled query.

  • :query_string (required, String)

    The query string to run. Parameter names can be specified in the query string @ character followed by an identifier. The named Parameter @scheduled_runtime is reserved and can be used in the query to get the time at which the query is scheduled to run.

    The timestamp calculated according to the ScheduleConfiguration parameter, will be the value of @scheduled_runtime paramater for each query run. For example, consider an instance of a scheduled query executing on 2021-12-01 00:00:00. For this instance, the @scheduled_runtime parameter is initialized to the timestamp 2021-12-01 00:00:00 when invoking the query.

  • :schedule_configuration (required, Types::ScheduleConfiguration)

    The schedule configuration for the query.

  • :notification_configuration (required, Types::NotificationConfiguration)

    Notification configuration for the scheduled query. A notification is sent by Timestream when a query run finishes, when the state is updated or when you delete it.

  • :target_configuration (Types::TargetConfiguration)

    Configuration used for writing the result of a query.

  • :client_token (String)

    Using a ClientToken makes the call to CreateScheduledQuery idempotent, in other words, making the same request repeatedly will produce the same result. Making multiple identical CreateScheduledQuery requests has the same effect as making a single request.

    • If CreateScheduledQuery is called without a ClientToken, the Query SDK generates a ClientToken on your behalf.

    • After 8 hours, any request with the same ClientToken is treated as a new request.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :scheduled_query_execution_role_arn (required, String)

    The ARN for the IAM role that Timestream will assume when running the scheduled query.

  • :tags (Array<Types::Tag>)

    A list of key-value pairs to label the scheduled query.

  • :kms_key_id (String)

    The Amazon KMS key used to encrypt the scheduled query resource, at-rest. If the Amazon KMS key is not specified, the scheduled query resource will be encrypted with a Timestream owned Amazon KMS key. To specify a KMS key, use the key ID, key ARN, alias name, or alias ARN. When using an alias name, prefix the name with alias/

    If ErrorReportConfiguration uses SSE_KMS as encryption type, the same KmsKeyId is used to encrypt the error report at rest.

  • :error_report_configuration (required, Types::ErrorReportConfiguration)

    Configuration for error reporting. Error reports will be generated when a problem is encountered when writing the query results.

Returns:

See Also:



553
554
555
556
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 553

def create_scheduled_query(params = {}, options = {})
  req = build_request(:create_scheduled_query, params)
  req.send_request(options)
end

#delete_scheduled_query(params = {}) ⇒ Struct

Deletes a given scheduled query. This is an irreversible operation.

Examples:

Request syntax with placeholder values


resp = client.delete_scheduled_query({
  scheduled_query_arn: "AmazonResourceName", # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :scheduled_query_arn (required, String)

    The ARN of the scheduled query.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



575
576
577
578
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 575

def delete_scheduled_query(params = {}, options = {})
  req = build_request(:delete_scheduled_query, params)
  req.send_request(options)
end

#describe_endpoints(params = {}) ⇒ 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 the Timestream 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:

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

Examples:

Response structure


resp.endpoints #=> Array
resp.endpoints[0].address #=> String
resp.endpoints[0].cache_period_in_minutes #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Returns:

See Also:



619
620
621
622
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 619

def describe_endpoints(params = {}, options = {})
  req = build_request(:describe_endpoints, params)
  req.send_request(options)
end

#describe_scheduled_query(params = {}) ⇒ Types::DescribeScheduledQueryResponse

Provides detailed information about a scheduled query.

Examples:

Request syntax with placeholder values


resp = client.describe_scheduled_query({
  scheduled_query_arn: "AmazonResourceName", # required
})

Response structure


resp.scheduled_query.arn #=> String
resp.scheduled_query.name #=> String
resp.scheduled_query.query_string #=> String
resp.scheduled_query.creation_time #=> Time
resp.scheduled_query.state #=> String, one of "ENABLED", "DISABLED"
resp.scheduled_query.previous_invocation_time #=> Time
resp.scheduled_query.next_invocation_time #=> Time
resp.scheduled_query.schedule_configuration.schedule_expression #=> String
resp.scheduled_query.notification_configuration.sns_configuration.topic_arn #=> String
resp.scheduled_query.target_configuration.timestream_configuration.database_name #=> String
resp.scheduled_query.target_configuration.timestream_configuration.table_name #=> String
resp.scheduled_query.target_configuration.timestream_configuration.time_column #=> String
resp.scheduled_query.target_configuration.timestream_configuration.dimension_mappings #=> Array
resp.scheduled_query.target_configuration.timestream_configuration.dimension_mappings[0].name #=> String
resp.scheduled_query.target_configuration.timestream_configuration.dimension_mappings[0].dimension_value_type #=> String, one of "VARCHAR"
resp.scheduled_query.target_configuration.timestream_configuration.multi_measure_mappings.target_multi_measure_name #=> String
resp.scheduled_query.target_configuration.timestream_configuration.multi_measure_mappings.multi_measure_attribute_mappings #=> Array
resp.scheduled_query.target_configuration.timestream_configuration.multi_measure_mappings.multi_measure_attribute_mappings[0].source_column #=> String
resp.scheduled_query.target_configuration.timestream_configuration.multi_measure_mappings.multi_measure_attribute_mappings[0].target_multi_measure_attribute_name #=> String
resp.scheduled_query.target_configuration.timestream_configuration.multi_measure_mappings.multi_measure_attribute_mappings[0].measure_value_type #=> String, one of "BIGINT", "BOOLEAN", "DOUBLE", "VARCHAR", "TIMESTAMP"
resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings #=> Array
resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].measure_name #=> String
resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].source_column #=> String
resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].target_measure_name #=> String
resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].measure_value_type #=> String, one of "BIGINT", "BOOLEAN", "DOUBLE", "VARCHAR", "MULTI"
resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].multi_measure_attribute_mappings #=> Array
resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].multi_measure_attribute_mappings[0].source_column #=> String
resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].multi_measure_attribute_mappings[0].target_multi_measure_attribute_name #=> String
resp.scheduled_query.target_configuration.timestream_configuration.mixed_measure_mappings[0].multi_measure_attribute_mappings[0].measure_value_type #=> String, one of "BIGINT", "BOOLEAN", "DOUBLE", "VARCHAR", "TIMESTAMP"
resp.scheduled_query.target_configuration.timestream_configuration.measure_name_column #=> String
resp.scheduled_query.scheduled_query_execution_role_arn #=> String
resp.scheduled_query.kms_key_id #=> String
resp.scheduled_query.error_report_configuration.s3_configuration.bucket_name #=> String
resp.scheduled_query.error_report_configuration.s3_configuration.object_key_prefix #=> String
resp.scheduled_query.error_report_configuration.s3_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS"
resp.scheduled_query.last_run_summary.invocation_time #=> Time
resp.scheduled_query.last_run_summary.trigger_time #=> Time
resp.scheduled_query.last_run_summary.run_status #=> String, one of "AUTO_TRIGGER_SUCCESS", "AUTO_TRIGGER_FAILURE", "MANUAL_TRIGGER_SUCCESS", "MANUAL_TRIGGER_FAILURE"
resp.scheduled_query.last_run_summary.execution_stats.execution_time_in_millis #=> Integer
resp.scheduled_query.last_run_summary.execution_stats.data_writes #=> Integer
resp.scheduled_query.last_run_summary.execution_stats.bytes_metered #=> Integer
resp.scheduled_query.last_run_summary.execution_stats.records_ingested #=> Integer
resp.scheduled_query.last_run_summary.execution_stats.query_result_rows #=> Integer
resp.scheduled_query.last_run_summary.error_report_location.s3_report_location.bucket_name #=> String
resp.scheduled_query.last_run_summary.error_report_location.s3_report_location.object_key #=> String
resp.scheduled_query.last_run_summary.failure_reason #=> String
resp.scheduled_query.recently_failed_runs #=> Array
resp.scheduled_query.recently_failed_runs[0].invocation_time #=> Time
resp.scheduled_query.recently_failed_runs[0].trigger_time #=> Time
resp.scheduled_query.recently_failed_runs[0].run_status #=> String, one of "AUTO_TRIGGER_SUCCESS", "AUTO_TRIGGER_FAILURE", "MANUAL_TRIGGER_SUCCESS", "MANUAL_TRIGGER_FAILURE"
resp.scheduled_query.recently_failed_runs[0].execution_stats.execution_time_in_millis #=> Integer
resp.scheduled_query.recently_failed_runs[0].execution_stats.data_writes #=> Integer
resp.scheduled_query.recently_failed_runs[0].execution_stats.bytes_metered #=> Integer
resp.scheduled_query.recently_failed_runs[0].execution_stats.records_ingested #=> Integer
resp.scheduled_query.recently_failed_runs[0].execution_stats.query_result_rows #=> Integer
resp.scheduled_query.recently_failed_runs[0].error_report_location.s3_report_location.bucket_name #=> String
resp.scheduled_query.recently_failed_runs[0].error_report_location.s3_report_location.object_key #=> String
resp.scheduled_query.recently_failed_runs[0].failure_reason #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :scheduled_query_arn (required, String)

    The ARN of the scheduled query.

Returns:

See Also:



704
705
706
707
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 704

def describe_scheduled_query(params = {}, options = {})
  req = build_request(:describe_scheduled_query, params)
  req.send_request(options)
end

#execute_scheduled_query(params = {}) ⇒ Struct

You can use this API to run a scheduled query manually.

Examples:

Request syntax with placeholder values


resp = client.execute_scheduled_query({
  scheduled_query_arn: "AmazonResourceName", # required
  invocation_time: Time.now, # required
  client_token: "ClientToken",
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :scheduled_query_arn (required, String)

    ARN of the scheduled query.

  • :invocation_time (required, Time, DateTime, Date, Integer, String)

    The timestamp in UTC. Query will be run as if it was invoked at this timestamp.

  • :client_token (String)

    Not used.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

Returns:

  • (Struct)

    Returns an empty response.

See Also:



738
739
740
741
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 738

def execute_scheduled_query(params = {}, options = {})
  req = build_request(:execute_scheduled_query, params)
  req.send_request(options)
end

#list_scheduled_queries(params = {}) ⇒ Types::ListScheduledQueriesResponse

Gets a list of all scheduled queries in the caller's Amazon account and Region. ListScheduledQueries is eventually consistent.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_scheduled_queries({
  max_results: 1,
  next_token: "NextScheduledQueriesResultsToken",
})

Response structure


resp.scheduled_queries #=> Array
resp.scheduled_queries[0].arn #=> String
resp.scheduled_queries[0].name #=> String
resp.scheduled_queries[0].creation_time #=> Time
resp.scheduled_queries[0].state #=> String, one of "ENABLED", "DISABLED"
resp.scheduled_queries[0].previous_invocation_time #=> Time
resp.scheduled_queries[0].next_invocation_time #=> Time
resp.scheduled_queries[0].error_report_configuration.s3_configuration.bucket_name #=> String
resp.scheduled_queries[0].error_report_configuration.s3_configuration.object_key_prefix #=> String
resp.scheduled_queries[0].error_report_configuration.s3_configuration.encryption_option #=> String, one of "SSE_S3", "SSE_KMS"
resp.scheduled_queries[0].target_destination.timestream_destination.database_name #=> String
resp.scheduled_queries[0].target_destination.timestream_destination.table_name #=> String
resp.scheduled_queries[0].last_run_status #=> String, one of "AUTO_TRIGGER_SUCCESS", "AUTO_TRIGGER_FAILURE", "MANUAL_TRIGGER_SUCCESS", "MANUAL_TRIGGER_FAILURE"
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :max_results (Integer)

    The maximum number of items to return in the output. If the total number of items available is more than the value specified, a NextToken is provided in the output. To resume pagination, provide the NextToken value as the argument to the subsequent call to ListScheduledQueriesRequest.

  • :next_token (String)

    A pagination token to resume pagination.

Returns:

See Also:



791
792
793
794
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 791

def list_scheduled_queries(params = {}, options = {})
  req = build_request(:list_scheduled_queries, params)
  req.send_request(options)
end

#list_tags_for_resource(params = {}) ⇒ Types::ListTagsForResourceResponse

List all tags on a Timestream query resource.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.list_tags_for_resource({
  resource_arn: "AmazonResourceName", # required
  max_results: 1,
  next_token: "NextTagsForResourceResultsToken",
})

Response structure


resp.tags #=> Array
resp.tags[0].key #=> String
resp.tags[0].value #=> String
resp.next_token #=> String

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Timestream resource with tags to be listed. This value is an Amazon Resource Name (ARN).

  • :max_results (Integer)

    The maximum number of tags to return.

  • :next_token (String)

    A pagination token to resume pagination.

Returns:

See Also:



834
835
836
837
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 834

def list_tags_for_resource(params = {}, options = {})
  req = build_request(:list_tags_for_resource, params)
  req.send_request(options)
end

#prepare_query(params = {}) ⇒ Types::PrepareQueryResponse

A synchronous operation that allows you to submit a query with parameters to be stored by Timestream for later running. Timestream only supports using this operation with the PrepareQueryRequest$ValidateOnly set to true.

Examples:

Request syntax with placeholder values


resp = client.prepare_query({
  query_string: "QueryString", # required
  validate_only: false,
})

Response structure


resp.query_string #=> String
resp.columns #=> Array
resp.columns[0].name #=> String
resp.columns[0].type.scalar_type #=> String, one of "VARCHAR", "BOOLEAN", "BIGINT", "DOUBLE", "TIMESTAMP", "DATE", "TIME", "INTERVAL_DAY_TO_SECOND", "INTERVAL_YEAR_TO_MONTH", "UNKNOWN", "INTEGER"
resp.columns[0].type.array_column_info.name #=> String
resp.columns[0].type.array_column_info.type #=> Types::Type
resp.columns[0].type.time_series_measure_value_column_info.name #=> String
resp.columns[0].type.time_series_measure_value_column_info.type #=> Types::Type
resp.columns[0].type.row_column_info #=> Array
resp.columns[0].type.row_column_info[0].name #=> String
resp.columns[0].type.row_column_info[0].type #=> Types::Type
resp.columns[0].database_name #=> String
resp.columns[0].table_name #=> String
resp.columns[0].aliased #=> Boolean
resp.parameters #=> Array
resp.parameters[0].name #=> String
resp.parameters[0].type.scalar_type #=> String, one of "VARCHAR", "BOOLEAN", "BIGINT", "DOUBLE", "TIMESTAMP", "DATE", "TIME", "INTERVAL_DAY_TO_SECOND", "INTERVAL_YEAR_TO_MONTH", "UNKNOWN", "INTEGER"
resp.parameters[0].type.array_column_info.name #=> String
resp.parameters[0].type.array_column_info.type #=> Types::Type
resp.parameters[0].type.time_series_measure_value_column_info.name #=> String
resp.parameters[0].type.time_series_measure_value_column_info.type #=> Types::Type
resp.parameters[0].type.row_column_info #=> Array
resp.parameters[0].type.row_column_info[0].name #=> String
resp.parameters[0].type.row_column_info[0].type #=> Types::Type

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :query_string (required, String)

    The Timestream query string that you want to use as a prepared statement. Parameter names can be specified in the query string @ character followed by an identifier.

  • :validate_only (Boolean)

    By setting this value to true, Timestream will only validate that the query string is a valid Timestream query, and not store the prepared query for later use.

Returns:

See Also:



898
899
900
901
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 898

def prepare_query(params = {}, options = {})
  req = build_request(:prepare_query, params)
  req.send_request(options)
end

#query(params = {}) ⇒ Types::QueryResponse

Query is a synchronous operation that enables you to run a query against your Amazon Timestream data. Query will time out after 60 seconds. You must update the default timeout in the SDK to support a timeout of 60 seconds. See the code sample for details.

Your query request will fail in the following cases:

  • If you submit a Query request with the same client token outside of the 5-minute idempotency window.

  • If you submit a Query request with the same client token, but change other parameters, within the 5-minute idempotency window.

  • If the size of the row (including the query metadata) exceeds 1 MB, then the query will fail with the following error message:

    Query aborted as max page response size has been exceeded by the output result row

  • If the IAM principal of the query initiator and the result reader are not the same and/or the query initiator and the result reader do not have the same query string in the query requests, the query will fail with an Invalid pagination token error.

The returned response is a pageable response and is Enumerable. For details on usage see PageableResponse.

Examples:

Request syntax with placeholder values


resp = client.query({
  query_string: "QueryString", # required
  client_token: "ClientRequestToken",
  next_token: "PaginationToken",
  max_rows: 1,
})

Response structure


resp.query_id #=> String
resp.next_token #=> String
resp.rows #=> Array
resp.rows[0].data #=> Array
resp.rows[0].data[0].scalar_value #=> String
resp.rows[0].data[0].time_series_value #=> Array
resp.rows[0].data[0].time_series_value[0].time #=> String
resp.rows[0].data[0].time_series_value[0].value #=> Types::Datum
resp.rows[0].data[0].array_value #=> Types::DatumList
resp.rows[0].data[0].row_value #=> Types::Row
resp.rows[0].data[0].null_value #=> Boolean
resp.column_info #=> Array
resp.column_info[0].name #=> String
resp.column_info[0].type.scalar_type #=> String, one of "VARCHAR", "BOOLEAN", "BIGINT", "DOUBLE", "TIMESTAMP", "DATE", "TIME", "INTERVAL_DAY_TO_SECOND", "INTERVAL_YEAR_TO_MONTH", "UNKNOWN", "INTEGER"
resp.column_info[0].type.array_column_info #=> Types::ColumnInfo
resp.column_info[0].type.time_series_measure_value_column_info #=> Types::ColumnInfo
resp.column_info[0].type.row_column_info #=> Types::ColumnInfoList
resp.query_status.progress_percentage #=> Float
resp.query_status.cumulative_bytes_scanned #=> Integer
resp.query_status.cumulative_bytes_metered #=> Integer

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :query_string (required, String)

    The query to be run by Timestream.

  • :client_token (String)

    Unique, case-sensitive string of up to 64 ASCII characters specified when a Query request is made. Providing a ClientToken makes the call to Query idempotent. This means that running the same query repeatedly will produce the same result. In other words, making multiple identical Query requests has the same effect as making a single request. When using ClientToken in a query, note the following:

    • If the Query API is instantiated without a ClientToken, the Query SDK generates a ClientToken on your behalf.

    • If the Query invocation only contains the ClientToken but does not include a NextToken, that invocation of Query is assumed to be a new query run.

    • If the invocation contains NextToken, that particular invocation is assumed to be a subsequent invocation of a prior call to the Query API, and a result set is returned.

    • After 4 hours, any request with the same ClientToken is treated as a new request.

    A suitable default value is auto-generated. You should normally not need to pass this option.**

  • :next_token (String)

    A pagination token used to return a set of results. When the Query API is invoked using NextToken, that particular invocation is assumed to be a subsequent invocation of a prior call to Query, and a result set is returned. However, if the Query invocation only contains the ClientToken, that invocation of Query is assumed to be a new query run.

    Note the following when using NextToken in a query:

    • A pagination token can be used for up to five Query invocations, OR for a duration of up to 1 hour – whichever comes first.

    • Using the same NextToken will return the same set of records. To keep paginating through the result set, you must to use the most recent nextToken.

    • Suppose a Query invocation returns two NextToken values, TokenA and TokenB. If TokenB is used in a subsequent Query invocation, then TokenA is invalidated and cannot be reused.

    • To request a previous result set from a query after pagination has begun, you must re-invoke the Query API.

    • The latest NextToken should be used to paginate until null is returned, at which point a new NextToken should be used.

    • If the IAM principal of the query initiator and the result reader are not the same and/or the query initiator and the result reader do not have the same query string in the query requests, the query will fail with an Invalid pagination token error.

  • :max_rows (Integer)

    The total number of rows to be returned in the Query output. The initial run of Query with a MaxRows value specified will return the result set of the query in two cases:

    • The size of the result is less than 1MB.

    • The number of rows in the result set is less than the value of maxRows.

    Otherwise, the initial invocation of Query only returns a NextToken, which can then be used in subsequent calls to fetch the result set. To resume pagination, provide the NextToken value in the subsequent command.

    If the row size is large (e.g. a row has many columns), Timestream may return fewer rows to keep the response size from exceeding the 1 MB limit. If MaxRows is not provided, Timestream will send the necessary number of rows to meet the 1 MB limit.

Returns:

See Also:



1058
1059
1060
1061
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 1058

def query(params = {}, options = {})
  req = build_request(:query, params)
  req.send_request(options)
end

#tag_resource(params = {}) ⇒ 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.

Examples:

Request syntax with placeholder values


resp = client.tag_resource({
  resource_arn: "AmazonResourceName", # required
  tags: [ # required
    {
      key: "TagKey", # required
      value: "TagValue", # required
    },
  ],
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    Identifies the Timestream resource to which tags should be added. This value is an Amazon Resource Name (ARN).

  • :tags (required, Array<Types::Tag>)

    The tags to be assigned to the Timestream resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1092
1093
1094
1095
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 1092

def tag_resource(params = {}, options = {})
  req = build_request(:tag_resource, params)
  req.send_request(options)
end

#untag_resource(params = {}) ⇒ Struct

Removes the association of tags from a Timestream query resource.

Examples:

Request syntax with placeholder values


resp = client.untag_resource({
  resource_arn: "AmazonResourceName", # required
  tag_keys: ["TagKey"], # required
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :resource_arn (required, String)

    The Timestream resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).

  • :tag_keys (required, Array<String>)

    A list of tags keys. Existing tags of the resource whose keys are members of this list will be removed from the Timestream resource.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1120
1121
1122
1123
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 1120

def untag_resource(params = {}, options = {})
  req = build_request(:untag_resource, params)
  req.send_request(options)
end

#update_scheduled_query(params = {}) ⇒ Struct

Update a scheduled query.

Examples:

Request syntax with placeholder values


resp = client.update_scheduled_query({
  scheduled_query_arn: "AmazonResourceName", # required
  state: "ENABLED", # required, accepts ENABLED, DISABLED
})

Parameters:

  • params (Hash) (defaults to: {})

    ({})

Options Hash (params):

  • :scheduled_query_arn (required, String)

    ARN of the scheuled query.

  • :state (required, String)

    State of the scheduled query.

Returns:

  • (Struct)

    Returns an empty response.

See Also:



1146
1147
1148
1149
# File 'gems/aws-sdk-timestreamquery/lib/aws-sdk-timestreamquery/client.rb', line 1146

def update_scheduled_query(params = {}, options = {})
  req = build_request(:update_scheduled_query, params)
  req.send_request(options)
end