Table of Contents
TimestreamQuery.
Client
¶A low-level client representing Amazon Timestream Query
import boto3
client = boto3.client('timestream-query')
These are the available methods:
can_paginate()
cancel_query()
close()
create_scheduled_query()
delete_scheduled_query()
describe_endpoints()
describe_scheduled_query()
execute_scheduled_query()
get_paginator()
get_waiter()
list_scheduled_queries()
list_tags_for_resource()
prepare_query()
query()
tag_resource()
untag_resource()
update_scheduled_query()
can_paginate
(operation_name)¶Check if an operation can be paginated.
create_foo
, and you'd normally invoke the
operation as client.create_foo(**kwargs)
, if the
create_foo
operation can be paginated, you can use the
call client.get_paginator("create_foo")
.True
if the operation can be paginated,
False
otherwise.cancel_query
(**kwargs)¶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.
See also: AWS API Documentation
Request Syntax
response = client.cancel_query(
QueryId='string'
)
[REQUIRED]
The ID of the query that needs to be cancelled. QueryID
is returned as part of the query result.
{
'CancellationMessage': 'string'
}
Response Structure
A CancellationMessage
is returned when a CancelQuery
request for the query specified by QueryId
has already been issued.
Exceptions
TimestreamQuery.Client.exceptions.AccessDeniedException
TimestreamQuery.Client.exceptions.InternalServerException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.InvalidEndpointException
close
()¶Closes underlying endpoint connections.
create_scheduled_query
(**kwargs)¶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.
See also: AWS API Documentation
Request Syntax
response = client.create_scheduled_query(
Name='string',
QueryString='string',
ScheduleConfiguration={
'ScheduleExpression': 'string'
},
NotificationConfiguration={
'SnsConfiguration': {
'TopicArn': 'string'
}
},
TargetConfiguration={
'TimestreamConfiguration': {
'DatabaseName': 'string',
'TableName': 'string',
'TimeColumn': 'string',
'DimensionMappings': [
{
'Name': 'string',
'DimensionValueType': 'VARCHAR'
},
],
'MultiMeasureMappings': {
'TargetMultiMeasureName': 'string',
'MultiMeasureAttributeMappings': [
{
'SourceColumn': 'string',
'TargetMultiMeasureAttributeName': 'string',
'MeasureValueType': 'BIGINT'|'BOOLEAN'|'DOUBLE'|'VARCHAR'|'TIMESTAMP'
},
]
},
'MixedMeasureMappings': [
{
'MeasureName': 'string',
'SourceColumn': 'string',
'TargetMeasureName': 'string',
'MeasureValueType': 'BIGINT'|'BOOLEAN'|'DOUBLE'|'VARCHAR'|'MULTI',
'MultiMeasureAttributeMappings': [
{
'SourceColumn': 'string',
'TargetMultiMeasureAttributeName': 'string',
'MeasureValueType': 'BIGINT'|'BOOLEAN'|'DOUBLE'|'VARCHAR'|'TIMESTAMP'
},
]
},
],
'MeasureNameColumn': 'string'
}
},
ClientToken='string',
ScheduledQueryExecutionRoleArn='string',
Tags=[
{
'Key': 'string',
'Value': 'string'
},
],
KmsKeyId='string',
ErrorReportConfiguration={
'S3Configuration': {
'BucketName': 'string',
'ObjectKeyPrefix': 'string',
'EncryptionOption': 'SSE_S3'|'SSE_KMS'
}
}
)
[REQUIRED]
Name of the scheduled query.
[REQUIRED]
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.
[REQUIRED]
The schedule configuration for the query.
An expression that denotes when to trigger the scheduled query run. This can be a cron expression or a rate expression.
[REQUIRED]
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.
Details on SNS configuration.
SNS topic ARN that the scheduled query status notifications will be sent to.
Configuration used for writing the result of a query.
Configuration needed to write data into the Timestream database and table.
Name of Timestream database to which the query result will be written.
Name of Timestream table that the query result will be written to. The table should be within the same database that is provided in Timestream configuration.
Column from query result that should be used as the time column in destination table. Column type for this should be TIMESTAMP.
This is to allow mapping column(s) from the query result to the dimension in the destination table.
This type is used to map column(s) from the query result to a dimension in the destination table.
Column name from query result.
Type for the dimension.
Multi-measure mappings.
The name of the target multi-measure name in the derived table. This input is required when measureNameColumn is not provided. If MeasureNameColumn is provided, then value from that column will be used as multi-measure name.
Required. Attribute mappings to be used for mapping query results to ingest data for multi-measure attributes.
Attribute mapping for MULTI value measures.
Source column from where the attribute value is to be read.
Custom name to be used for attribute name in derived table. If not provided, source column name would be used.
Type of the attribute to be read from the source column.
Specifies how to map measures to multi-measure records.
MixedMeasureMappings are mappings that can be used to ingest data into a mixture of narrow and multi measures in the derived table.
Refers to the value of measure_name in a result row. This field is required if MeasureNameColumn is provided.
This field refers to the source column from which measure-value is to be read for result materialization.
Target measure name to be used. If not provided, the target measure name by default would be measure-name if provided, or sourceColumn otherwise.
Type of the value that is to be read from sourceColumn. If the mapping is for MULTI, use MeasureValueType.MULTI.
Required when measureValueType is MULTI. Attribute mappings for MULTI value measures.
Attribute mapping for MULTI value measures.
Source column from where the attribute value is to be read.
Custom name to be used for attribute name in derived table. If not provided, source column name would be used.
Type of the attribute to be read from the source column.
Name of the measure column.
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.
ClientToken
, the Query SDK generates a ClientToken
on your behalf.ClientToken
is treated as a new request.This field is autopopulated if not provided.
[REQUIRED]
The ARN for the IAM role that Timestream will assume when running the scheduled query.
A list of key-value pairs to label the scheduled query.
A tag is a label that you assign to a Timestream database and/or table. Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize databases and/or tables, for example, by purpose, owner, or environment.
The key of the tag. Tag keys are case sensitive.
The value of the tag. Tag values are case sensitive and can be null.
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.
[REQUIRED]
Configuration for error reporting. Error reports will be generated when a problem is encountered when writing the query results.
The S3 configuration for the error reports.
Name of the S3 bucket under which error reports will be created.
Prefix for the error report key. Timestream by default adds the following prefix to the error report path.
Encryption at rest options for the error reports. If no encryption option is specified, Timestream will choose SSE_S3 as default.
dict
Response Syntax
{
'Arn': 'string'
}
Response Structure
(dict) --
Arn (string) --
ARN for the created scheduled query.
Exceptions
TimestreamQuery.Client.exceptions.AccessDeniedException
TimestreamQuery.Client.exceptions.ConflictException
TimestreamQuery.Client.exceptions.InternalServerException
TimestreamQuery.Client.exceptions.ServiceQuotaExceededException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.InvalidEndpointException
delete_scheduled_query
(**kwargs)¶Deletes a given scheduled query. This is an irreversible operation.
See also: AWS API Documentation
Request Syntax
response = client.delete_scheduled_query(
ScheduledQueryArn='string'
)
[REQUIRED]
The ARN of the scheduled query.
Exceptions
TimestreamQuery.Client.exceptions.AccessDeniedException
TimestreamQuery.Client.exceptions.InternalServerException
TimestreamQuery.Client.exceptions.ResourceNotFoundException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.InvalidEndpointException
describe_endpoints
()¶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 .
See also: AWS API Documentation
Request Syntax
response = client.describe_endpoints()
{
'Endpoints': [
{
'Address': 'string',
'CachePeriodInMinutes': 123
},
]
}
Response Structure
An Endpoints
object is returned when a DescribeEndpoints
request is made.
Represents an available endpoint against which to make API calls against, as well as the TTL for that endpoint.
An endpoint address.
The TTL for the endpoint, in minutes.
Exceptions
TimestreamQuery.Client.exceptions.InternalServerException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.ThrottlingException
describe_scheduled_query
(**kwargs)¶Provides detailed information about a scheduled query.
See also: AWS API Documentation
Request Syntax
response = client.describe_scheduled_query(
ScheduledQueryArn='string'
)
[REQUIRED]
The ARN of the scheduled query.
{
'ScheduledQuery': {
'Arn': 'string',
'Name': 'string',
'QueryString': 'string',
'CreationTime': datetime(2015, 1, 1),
'State': 'ENABLED'|'DISABLED',
'PreviousInvocationTime': datetime(2015, 1, 1),
'NextInvocationTime': datetime(2015, 1, 1),
'ScheduleConfiguration': {
'ScheduleExpression': 'string'
},
'NotificationConfiguration': {
'SnsConfiguration': {
'TopicArn': 'string'
}
},
'TargetConfiguration': {
'TimestreamConfiguration': {
'DatabaseName': 'string',
'TableName': 'string',
'TimeColumn': 'string',
'DimensionMappings': [
{
'Name': 'string',
'DimensionValueType': 'VARCHAR'
},
],
'MultiMeasureMappings': {
'TargetMultiMeasureName': 'string',
'MultiMeasureAttributeMappings': [
{
'SourceColumn': 'string',
'TargetMultiMeasureAttributeName': 'string',
'MeasureValueType': 'BIGINT'|'BOOLEAN'|'DOUBLE'|'VARCHAR'|'TIMESTAMP'
},
]
},
'MixedMeasureMappings': [
{
'MeasureName': 'string',
'SourceColumn': 'string',
'TargetMeasureName': 'string',
'MeasureValueType': 'BIGINT'|'BOOLEAN'|'DOUBLE'|'VARCHAR'|'MULTI',
'MultiMeasureAttributeMappings': [
{
'SourceColumn': 'string',
'TargetMultiMeasureAttributeName': 'string',
'MeasureValueType': 'BIGINT'|'BOOLEAN'|'DOUBLE'|'VARCHAR'|'TIMESTAMP'
},
]
},
],
'MeasureNameColumn': 'string'
}
},
'ScheduledQueryExecutionRoleArn': 'string',
'KmsKeyId': 'string',
'ErrorReportConfiguration': {
'S3Configuration': {
'BucketName': 'string',
'ObjectKeyPrefix': 'string',
'EncryptionOption': 'SSE_S3'|'SSE_KMS'
}
},
'LastRunSummary': {
'InvocationTime': datetime(2015, 1, 1),
'TriggerTime': datetime(2015, 1, 1),
'RunStatus': 'AUTO_TRIGGER_SUCCESS'|'AUTO_TRIGGER_FAILURE'|'MANUAL_TRIGGER_SUCCESS'|'MANUAL_TRIGGER_FAILURE',
'ExecutionStats': {
'ExecutionTimeInMillis': 123,
'DataWrites': 123,
'BytesMetered': 123,
'RecordsIngested': 123,
'QueryResultRows': 123
},
'ErrorReportLocation': {
'S3ReportLocation': {
'BucketName': 'string',
'ObjectKey': 'string'
}
},
'FailureReason': 'string'
},
'RecentlyFailedRuns': [
{
'InvocationTime': datetime(2015, 1, 1),
'TriggerTime': datetime(2015, 1, 1),
'RunStatus': 'AUTO_TRIGGER_SUCCESS'|'AUTO_TRIGGER_FAILURE'|'MANUAL_TRIGGER_SUCCESS'|'MANUAL_TRIGGER_FAILURE',
'ExecutionStats': {
'ExecutionTimeInMillis': 123,
'DataWrites': 123,
'BytesMetered': 123,
'RecordsIngested': 123,
'QueryResultRows': 123
},
'ErrorReportLocation': {
'S3ReportLocation': {
'BucketName': 'string',
'ObjectKey': 'string'
}
},
'FailureReason': 'string'
},
]
}
}
Response Structure
The scheduled query.
Scheduled query ARN.
Name of the scheduled query.
The query to be run.
Creation time of the scheduled query.
State of the scheduled query.
Last time the query was run.
The next time the scheduled query is scheduled to run.
Schedule configuration.
An expression that denotes when to trigger the scheduled query run. This can be a cron expression or a rate expression.
Notification configuration.
Details on SNS configuration.
SNS topic ARN that the scheduled query status notifications will be sent to.
Scheduled query target store configuration.
Configuration needed to write data into the Timestream database and table.
Name of Timestream database to which the query result will be written.
Name of Timestream table that the query result will be written to. The table should be within the same database that is provided in Timestream configuration.
Column from query result that should be used as the time column in destination table. Column type for this should be TIMESTAMP.
This is to allow mapping column(s) from the query result to the dimension in the destination table.
This type is used to map column(s) from the query result to a dimension in the destination table.
Column name from query result.
Type for the dimension.
Multi-measure mappings.
The name of the target multi-measure name in the derived table. This input is required when measureNameColumn is not provided. If MeasureNameColumn is provided, then value from that column will be used as multi-measure name.
Required. Attribute mappings to be used for mapping query results to ingest data for multi-measure attributes.
Attribute mapping for MULTI value measures.
Source column from where the attribute value is to be read.
Custom name to be used for attribute name in derived table. If not provided, source column name would be used.
Type of the attribute to be read from the source column.
Specifies how to map measures to multi-measure records.
MixedMeasureMappings are mappings that can be used to ingest data into a mixture of narrow and multi measures in the derived table.
Refers to the value of measure_name in a result row. This field is required if MeasureNameColumn is provided.
This field refers to the source column from which measure-value is to be read for result materialization.
Target measure name to be used. If not provided, the target measure name by default would be measure-name if provided, or sourceColumn otherwise.
Type of the value that is to be read from sourceColumn. If the mapping is for MULTI, use MeasureValueType.MULTI.
Required when measureValueType is MULTI. Attribute mappings for MULTI value measures.
Attribute mapping for MULTI value measures.
Source column from where the attribute value is to be read.
Custom name to be used for attribute name in derived table. If not provided, source column name would be used.
Type of the attribute to be read from the source column.
Name of the measure column.
IAM role that Timestream uses to run the schedule query.
A customer provided KMS key used to encrypt the scheduled query resource.
Error-reporting configuration for the scheduled query.
The S3 configuration for the error reports.
Name of the S3 bucket under which error reports will be created.
Prefix for the error report key. Timestream by default adds the following prefix to the error report path.
Encryption at rest options for the error reports. If no encryption option is specified, Timestream will choose SSE_S3 as default.
Runtime summary for the last scheduled query run.
InvocationTime for this run. This is the time at which the query is scheduled to run. Parameter @scheduled_runtime
can be used in the query to get the value.
The actual time when the query was run.
The status of a scheduled query run.
Runtime statistics for a scheduled run.
Total time, measured in milliseconds, that was needed for the scheduled query run to complete.
Data writes metered for records ingested in a single scheduled query run.
Bytes metered for a single scheduled query run.
The number of records ingested for a single scheduled query run.
Number of rows present in the output from running a query before ingestion to destination data source.
S3 location for error report.
The S3 location where error reports are written.
S3 bucket name.
S3 key.
Error message for the scheduled query in case of failure. You might have to look at the error report to get more detailed error reasons.
Runtime summary for the last five failed scheduled query runs.
Run summary for the scheduled query
InvocationTime for this run. This is the time at which the query is scheduled to run. Parameter @scheduled_runtime
can be used in the query to get the value.
The actual time when the query was run.
The status of a scheduled query run.
Runtime statistics for a scheduled run.
Total time, measured in milliseconds, that was needed for the scheduled query run to complete.
Data writes metered for records ingested in a single scheduled query run.
Bytes metered for a single scheduled query run.
The number of records ingested for a single scheduled query run.
Number of rows present in the output from running a query before ingestion to destination data source.
S3 location for error report.
The S3 location where error reports are written.
S3 bucket name.
S3 key.
Error message for the scheduled query in case of failure. You might have to look at the error report to get more detailed error reasons.
Exceptions
TimestreamQuery.Client.exceptions.AccessDeniedException
TimestreamQuery.Client.exceptions.InternalServerException
TimestreamQuery.Client.exceptions.ResourceNotFoundException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.InvalidEndpointException
execute_scheduled_query
(**kwargs)¶You can use this API to run a scheduled query manually.
See also: AWS API Documentation
Request Syntax
response = client.execute_scheduled_query(
ScheduledQueryArn='string',
InvocationTime=datetime(2015, 1, 1),
ClientToken='string'
)
[REQUIRED]
ARN of the scheduled query.
[REQUIRED]
The timestamp in UTC. Query will be run as if it was invoked at this timestamp.
Not used.
This field is autopopulated if not provided.
None
Exceptions
TimestreamQuery.Client.exceptions.AccessDeniedException
TimestreamQuery.Client.exceptions.InternalServerException
TimestreamQuery.Client.exceptions.ResourceNotFoundException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.InvalidEndpointException
get_paginator
(operation_name)¶Create a paginator for an operation.
create_foo
, and you'd normally invoke the
operation as client.create_foo(**kwargs)
, if the
create_foo
operation can be paginated, you can use the
call client.get_paginator("create_foo")
.client.can_paginate
method to
check if an operation is pageable.get_waiter
(waiter_name)¶Returns an object that can wait for some condition.
list_scheduled_queries
(**kwargs)¶Gets a list of all scheduled queries in the caller's Amazon account and Region. ListScheduledQueries
is eventually consistent.
See also: AWS API Documentation
Request Syntax
response = client.list_scheduled_queries(
MaxResults=123,
NextToken='string'
)
NextToken
is provided in the output. To resume pagination, provide the NextToken
value as the argument to the subsequent call to ListScheduledQueriesRequest
.dict
Response Syntax
{
'ScheduledQueries': [
{
'Arn': 'string',
'Name': 'string',
'CreationTime': datetime(2015, 1, 1),
'State': 'ENABLED'|'DISABLED',
'PreviousInvocationTime': datetime(2015, 1, 1),
'NextInvocationTime': datetime(2015, 1, 1),
'ErrorReportConfiguration': {
'S3Configuration': {
'BucketName': 'string',
'ObjectKeyPrefix': 'string',
'EncryptionOption': 'SSE_S3'|'SSE_KMS'
}
},
'TargetDestination': {
'TimestreamDestination': {
'DatabaseName': 'string',
'TableName': 'string'
}
},
'LastRunStatus': 'AUTO_TRIGGER_SUCCESS'|'AUTO_TRIGGER_FAILURE'|'MANUAL_TRIGGER_SUCCESS'|'MANUAL_TRIGGER_FAILURE'
},
],
'NextToken': 'string'
}
Response Structure
(dict) --
ScheduledQueries (list) --
A list of scheduled queries.
(dict) --
Scheduled Query
Arn (string) --
The Amazon Resource Name.
Name (string) --
The name of the scheduled query.
CreationTime (datetime) --
The creation time of the scheduled query.
State (string) --
State of scheduled query.
PreviousInvocationTime (datetime) --
The last time the scheduled query was run.
NextInvocationTime (datetime) --
The next time the scheduled query is to be run.
ErrorReportConfiguration (dict) --
Configuration for scheduled query error reporting.
S3Configuration (dict) --
The S3 configuration for the error reports.
BucketName (string) --
Name of the S3 bucket under which error reports will be created.
ObjectKeyPrefix (string) --
Prefix for the error report key. Timestream by default adds the following prefix to the error report path.
EncryptionOption (string) --
Encryption at rest options for the error reports. If no encryption option is specified, Timestream will choose SSE_S3 as default.
TargetDestination (dict) --
Target data source where final scheduled query result will be written.
TimestreamDestination (dict) --
Query result destination details for Timestream data source.
DatabaseName (string) --
Timestream database name.
TableName (string) --
Timestream table name.
LastRunStatus (string) --
Status of the last scheduled query run.
NextToken (string) --
A token to specify where to start paginating. This is the NextToken from a previously truncated response.
Exceptions
TimestreamQuery.Client.exceptions.AccessDeniedException
TimestreamQuery.Client.exceptions.InternalServerException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.InvalidEndpointException
List all tags on a Timestream query resource.
See also: AWS API Documentation
Request Syntax
response = client.list_tags_for_resource(
ResourceARN='string',
MaxResults=123,
NextToken='string'
)
[REQUIRED]
The Timestream resource with tags to be listed. This value is an Amazon Resource Name (ARN).
dict
Response Syntax
{
'Tags': [
{
'Key': 'string',
'Value': 'string'
},
],
'NextToken': 'string'
}
Response Structure
(dict) --
Tags (list) --
The tags currently associated with the Timestream resource.
(dict) --
A tag is a label that you assign to a Timestream database and/or table. Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize databases and/or tables, for example, by purpose, owner, or environment.
Key (string) --
The key of the tag. Tag keys are case sensitive.
Value (string) --
The value of the tag. Tag values are case sensitive and can be null.
NextToken (string) --
A pagination token to resume pagination with a subsequent call to ListTagsForResourceResponse
.
Exceptions
TimestreamQuery.Client.exceptions.ResourceNotFoundException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.InvalidEndpointException
prepare_query
(**kwargs)¶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
.
See also: AWS API Documentation
Request Syntax
response = client.prepare_query(
QueryString='string',
ValidateOnly=True|False
)
[REQUIRED]
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.
true
, Timestream will only validate that the query string is a valid Timestream query, and not store the prepared query for later use.dict
Response Syntax
{
'QueryString': 'string',
'Columns': [
{
'Name': 'string',
'Type': {
'ScalarType': 'VARCHAR'|'BOOLEAN'|'BIGINT'|'DOUBLE'|'TIMESTAMP'|'DATE'|'TIME'|'INTERVAL_DAY_TO_SECOND'|'INTERVAL_YEAR_TO_MONTH'|'UNKNOWN'|'INTEGER',
'ArrayColumnInfo': {
'Name': 'string',
'Type': {'... recursive ...'}
},
'TimeSeriesMeasureValueColumnInfo': {
'Name': 'string',
'Type': {'... recursive ...'}
},
'RowColumnInfo': [
{
'Name': 'string',
'Type': {'... recursive ...'}
},
]
},
'DatabaseName': 'string',
'TableName': 'string',
'Aliased': True|False
},
],
'Parameters': [
{
'Name': 'string',
'Type': {
'ScalarType': 'VARCHAR'|'BOOLEAN'|'BIGINT'|'DOUBLE'|'TIMESTAMP'|'DATE'|'TIME'|'INTERVAL_DAY_TO_SECOND'|'INTERVAL_YEAR_TO_MONTH'|'UNKNOWN'|'INTEGER',
'ArrayColumnInfo': {
'Name': 'string',
'Type': {'... recursive ...'}
},
'TimeSeriesMeasureValueColumnInfo': {
'Name': 'string',
'Type': {'... recursive ...'}
},
'RowColumnInfo': [
{
'Name': 'string',
'Type': {'... recursive ...'}
},
]
}
},
]
}
Response Structure
(dict) --
QueryString (string) --
The query string that you want prepare.
Columns (list) --
A list of SELECT clause columns of the submitted query string.
(dict) --
Details of the column that is returned by the query.
Name (string) --
Name of the column.
Type (dict) --
Contains the data type of a column in a query result set. The data type can be scalar or complex. The supported scalar data types are integers, Boolean, string, double, timestamp, date, time, and intervals. The supported complex data types are arrays, rows, and timeseries.
ScalarType (string) --
Indicates if the column is of type string, integer, Boolean, double, timestamp, date, time.
ArrayColumnInfo (dict) --
Indicates if the column is an array.
Name (string) --
The name of the result set column. The name of the result set is available for columns of all data types except for arrays.
Type (dict) --
The data type of the result set column. The data type can be a scalar or complex. Scalar data types are integers, strings, doubles, Booleans, and others. Complex data types are types such as arrays, rows, and others.
TimeSeriesMeasureValueColumnInfo (dict) --
Indicates if the column is a timeseries data type.
Name (string) --
The name of the result set column. The name of the result set is available for columns of all data types except for arrays.
Type (dict) --
The data type of the result set column. The data type can be a scalar or complex. Scalar data types are integers, strings, doubles, Booleans, and others. Complex data types are types such as arrays, rows, and others.
RowColumnInfo (list) --
Indicates if the column is a row.
(dict) --
Contains the metadata for query results such as the column names, data types, and other attributes.
Name (string) --
The name of the result set column. The name of the result set is available for columns of all data types except for arrays.
Type (dict) --
The data type of the result set column. The data type can be a scalar or complex. Scalar data types are integers, strings, doubles, Booleans, and others. Complex data types are types such as arrays, rows, and others.
DatabaseName (string) --
Database that has this column.
TableName (string) --
Table within the database that has this column.
Aliased (boolean) --
True, if the column name was aliased by the query. False otherwise.
Parameters (list) --
A list of parameters used in the submitted query string.
(dict) --
Mapping for named parameters.
Name (string) --
Parameter name.
Type (dict) --
Contains the data type of a column in a query result set. The data type can be scalar or complex. The supported scalar data types are integers, Boolean, string, double, timestamp, date, time, and intervals. The supported complex data types are arrays, rows, and timeseries.
ScalarType (string) --
Indicates if the column is of type string, integer, Boolean, double, timestamp, date, time.
ArrayColumnInfo (dict) --
Indicates if the column is an array.
Name (string) --
The name of the result set column. The name of the result set is available for columns of all data types except for arrays.
Type (dict) --
The data type of the result set column. The data type can be a scalar or complex. Scalar data types are integers, strings, doubles, Booleans, and others. Complex data types are types such as arrays, rows, and others.
TimeSeriesMeasureValueColumnInfo (dict) --
Indicates if the column is a timeseries data type.
Name (string) --
The name of the result set column. The name of the result set is available for columns of all data types except for arrays.
Type (dict) --
The data type of the result set column. The data type can be a scalar or complex. Scalar data types are integers, strings, doubles, Booleans, and others. Complex data types are types such as arrays, rows, and others.
RowColumnInfo (list) --
Indicates if the column is a row.
(dict) --
Contains the metadata for query results such as the column names, data types, and other attributes.
Name (string) --
The name of the result set column. The name of the result set is available for columns of all data types except for arrays.
Type (dict) --
The data type of the result set column. The data type can be a scalar or complex. Scalar data types are integers, strings, doubles, Booleans, and others. Complex data types are types such as arrays, rows, and others.
Exceptions
TimestreamQuery.Client.exceptions.AccessDeniedException
TimestreamQuery.Client.exceptions.InternalServerException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.InvalidEndpointException
query
(**kwargs)¶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:
Query
request with the same client token outside of the 5-minute idempotency window.Query
request with the same client token, but change other parameters, within the 5-minute idempotency window.Query aborted as max page response size has been exceeded by the output result row
Invalid pagination token
error.See also: AWS API Documentation
Request Syntax
response = client.query(
QueryString='string',
ClientToken='string',
NextToken='string',
MaxRows=123
)
[REQUIRED]
The query to be run by Timestream.
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:
ClientToken
, the Query SDK generates a ClientToken
on your behalf.Query
invocation only contains the ClientToken
but does not include a NextToken
, that invocation of Query
is assumed to be a new query run.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.ClientToken
is treated as a new request.This field is autopopulated if not provided.
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:
Query
invocations, OR for a duration of up to 1 hour – whichever comes first.NextToken
will return the same set of records. To keep paginating through the result set, you must to use the most recent nextToken
.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.NextToken
should be used to paginate until null
is returned, at which point a new NextToken
should be used.Invalid pagination token
error.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:
1MB
.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.
dict
Response Syntax
{
'QueryId': 'string',
'NextToken': 'string',
'Rows': [
{
'Data': [
{
'ScalarValue': 'string',
'TimeSeriesValue': [
{
'Time': 'string',
'Value': {'... recursive ...'}
},
],
'ArrayValue': {'... recursive ...'},
'RowValue': {'... recursive ...'},
'NullValue': True|False
},
]
},
],
'ColumnInfo': [
{
'Name': 'string',
'Type': {
'ScalarType': 'VARCHAR'|'BOOLEAN'|'BIGINT'|'DOUBLE'|'TIMESTAMP'|'DATE'|'TIME'|'INTERVAL_DAY_TO_SECOND'|'INTERVAL_YEAR_TO_MONTH'|'UNKNOWN'|'INTEGER',
'ArrayColumnInfo': {'... recursive ...'},
'TimeSeriesMeasureValueColumnInfo': {'... recursive ...'},
'RowColumnInfo': {'... recursive ...'}
}
},
],
'QueryStatus': {
'ProgressPercentage': 123.0,
'CumulativeBytesScanned': 123,
'CumulativeBytesMetered': 123
}
}
Response Structure
(dict) --
QueryId (string) --
A unique ID for the given query.
NextToken (string) --
A pagination token that can be used again on a Query
call to get the next set of results.
Rows (list) --
The result set rows returned by the query.
(dict) --
Represents a single row in the query results.
Data (list) --
List of data points in a single row of the result set.
(dict) --
Datum represents a single data point in a query result.
ScalarValue (string) --
Indicates if the data point is a scalar value such as integer, string, double, or Boolean.
TimeSeriesValue (list) --
Indicates if the data point is a timeseries data type.
(dict) --
The timeseries data type represents the values of a measure over time. A time series is an array of rows of timestamps and measure values, with rows sorted in ascending order of time. A TimeSeriesDataPoint is a single data point in the time series. It represents a tuple of (time, measure value) in a time series.
Time (string) --
The timestamp when the measure value was collected.
Value (dict) --
The measure value for the data point.
ArrayValue (list) --
Indicates if the data point is an array.
RowValue (dict) --
Indicates if the data point is a row.
NullValue (boolean) --
Indicates if the data point is null.
ColumnInfo (list) --
The column data types of the returned result set.
(dict) --
Contains the metadata for query results such as the column names, data types, and other attributes.
Name (string) --
The name of the result set column. The name of the result set is available for columns of all data types except for arrays.
Type (dict) --
The data type of the result set column. The data type can be a scalar or complex. Scalar data types are integers, strings, doubles, Booleans, and others. Complex data types are types such as arrays, rows, and others.
ScalarType (string) --
Indicates if the column is of type string, integer, Boolean, double, timestamp, date, time.
ArrayColumnInfo (dict) --
Indicates if the column is an array.
TimeSeriesMeasureValueColumnInfo (dict) --
Indicates if the column is a timeseries data type.
RowColumnInfo (list) --
Indicates if the column is a row.
QueryStatus (dict) --
Information about the status of the query, including progress and bytes scanned.
ProgressPercentage (float) --
The progress of the query, expressed as a percentage.
CumulativeBytesScanned (integer) --
The amount of data scanned by the query in bytes. This is a cumulative sum and represents the total amount of bytes scanned since the query was started.
CumulativeBytesMetered (integer) --
The amount of data scanned by the query in bytes that you will be charged for. This is a cumulative sum and represents the total amount of data that you will be charged for since the query was started. The charge is applied only once and is either applied when the query completes running or when the query is cancelled.
Exceptions
TimestreamQuery.Client.exceptions.AccessDeniedException
TimestreamQuery.Client.exceptions.ConflictException
TimestreamQuery.Client.exceptions.InternalServerException
TimestreamQuery.Client.exceptions.QueryExecutionException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.InvalidEndpointException
tag_resource
(**kwargs)¶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.
See also: AWS API Documentation
Request Syntax
response = client.tag_resource(
ResourceARN='string',
Tags=[
{
'Key': 'string',
'Value': 'string'
},
]
)
[REQUIRED]
Identifies the Timestream resource to which tags should be added. This value is an Amazon Resource Name (ARN).
[REQUIRED]
The tags to be assigned to the Timestream resource.
A tag is a label that you assign to a Timestream database and/or table. Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize databases and/or tables, for example, by purpose, owner, or environment.
The key of the tag. Tag keys are case sensitive.
The value of the tag. Tag values are case sensitive and can be null.
dict
Response Syntax
{}
Response Structure
Exceptions
TimestreamQuery.Client.exceptions.ResourceNotFoundException
TimestreamQuery.Client.exceptions.ServiceQuotaExceededException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.InvalidEndpointException
untag_resource
(**kwargs)¶Removes the association of tags from a Timestream query resource.
See also: AWS API Documentation
Request Syntax
response = client.untag_resource(
ResourceARN='string',
TagKeys=[
'string',
]
)
[REQUIRED]
The Timestream resource that the tags will be removed from. This value is an Amazon Resource Name (ARN).
[REQUIRED]
A list of tags keys. Existing tags of the resource whose keys are members of this list will be removed from the Timestream resource.
dict
Response Syntax
{}
Response Structure
Exceptions
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ResourceNotFoundException
TimestreamQuery.Client.exceptions.InvalidEndpointException
update_scheduled_query
(**kwargs)¶Update a scheduled query.
See also: AWS API Documentation
Request Syntax
response = client.update_scheduled_query(
ScheduledQueryArn='string',
State='ENABLED'|'DISABLED'
)
[REQUIRED]
ARN of the scheuled query.
[REQUIRED]
State of the scheduled query.
None
Exceptions
TimestreamQuery.Client.exceptions.AccessDeniedException
TimestreamQuery.Client.exceptions.InternalServerException
TimestreamQuery.Client.exceptions.ResourceNotFoundException
TimestreamQuery.Client.exceptions.ThrottlingException
TimestreamQuery.Client.exceptions.ValidationException
TimestreamQuery.Client.exceptions.InvalidEndpointException
The available paginators are:
TimestreamQuery.Paginator.ListScheduledQueries
TimestreamQuery.Paginator.ListTagsForResource
TimestreamQuery.Paginator.Query
TimestreamQuery.Paginator.
ListScheduledQueries
¶paginator = client.get_paginator('list_scheduled_queries')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from TimestreamQuery.Client.list_scheduled_queries()
.
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken
will be provided in the output that you can use to resume pagination.
The size of each page.
A token to specify where to start paginating. This is the NextToken
from a previous response.
{
'ScheduledQueries': [
{
'Arn': 'string',
'Name': 'string',
'CreationTime': datetime(2015, 1, 1),
'State': 'ENABLED'|'DISABLED',
'PreviousInvocationTime': datetime(2015, 1, 1),
'NextInvocationTime': datetime(2015, 1, 1),
'ErrorReportConfiguration': {
'S3Configuration': {
'BucketName': 'string',
'ObjectKeyPrefix': 'string',
'EncryptionOption': 'SSE_S3'|'SSE_KMS'
}
},
'TargetDestination': {
'TimestreamDestination': {
'DatabaseName': 'string',
'TableName': 'string'
}
},
'LastRunStatus': 'AUTO_TRIGGER_SUCCESS'|'AUTO_TRIGGER_FAILURE'|'MANUAL_TRIGGER_SUCCESS'|'MANUAL_TRIGGER_FAILURE'
},
],
}
Response Structure
A list of scheduled queries.
Scheduled Query
The Amazon Resource Name.
The name of the scheduled query.
The creation time of the scheduled query.
State of scheduled query.
The last time the scheduled query was run.
The next time the scheduled query is to be run.
Configuration for scheduled query error reporting.
The S3 configuration for the error reports.
Name of the S3 bucket under which error reports will be created.
Prefix for the error report key. Timestream by default adds the following prefix to the error report path.
Encryption at rest options for the error reports. If no encryption option is specified, Timestream will choose SSE_S3 as default.
Target data source where final scheduled query result will be written.
Query result destination details for Timestream data source.
Timestream database name.
Timestream table name.
Status of the last scheduled query run.
TimestreamQuery.Paginator.
ListTagsForResource
¶paginator = client.get_paginator('list_tags_for_resource')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from TimestreamQuery.Client.list_tags_for_resource()
.
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
ResourceARN='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
[REQUIRED]
The Timestream resource with tags to be listed. This value is an Amazon Resource Name (ARN).
A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken
will be provided in the output that you can use to resume pagination.
The size of each page.
A token to specify where to start paginating. This is the NextToken
from a previous response.
dict
Response Syntax
{
'Tags': [
{
'Key': 'string',
'Value': 'string'
},
],
}
Response Structure
(dict) --
Tags (list) --
The tags currently associated with the Timestream resource.
(dict) --
A tag is a label that you assign to a Timestream database and/or table. Each tag consists of a key and an optional value, both of which you define. Tags enable you to categorize databases and/or tables, for example, by purpose, owner, or environment.
Key (string) --
The key of the tag. Tag keys are case sensitive.
Value (string) --
The value of the tag. Tag values are case sensitive and can be null.
TimestreamQuery.Paginator.
Query
¶paginator = client.get_paginator('query')
paginate
(**kwargs)¶Creates an iterator that will paginate through responses from TimestreamQuery.Client.query()
.
See also: AWS API Documentation
Request Syntax
response_iterator = paginator.paginate(
QueryString='string',
ClientToken='string',
PaginationConfig={
'MaxItems': 123,
'PageSize': 123,
'StartingToken': 'string'
}
)
[REQUIRED]
The query to be run by Timestream.
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:
ClientToken
, the Query SDK generates a ClientToken
on your behalf.Query
invocation only contains the ClientToken
but does not include a NextToken
, that invocation of Query
is assumed to be a new query run.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.ClientToken
is treated as a new request.This field is autopopulated if not provided.
A dictionary that provides parameters to control pagination.
The total number of items to return. If the total number of items available is more than the value specified in max-items then a NextToken
will be provided in the output that you can use to resume pagination.
The size of each page.
A token to specify where to start paginating. This is the NextToken
from a previous response.
dict
Response Syntax
{
'QueryId': 'string',
'Rows': [
{
'Data': [
{
'ScalarValue': 'string',
'TimeSeriesValue': [
{
'Time': 'string',
'Value': {'... recursive ...'}
},
],
'ArrayValue': {'... recursive ...'},
'RowValue': {'... recursive ...'},
'NullValue': True|False
},
]
},
],
'ColumnInfo': [
{
'Name': 'string',
'Type': {
'ScalarType': 'VARCHAR'|'BOOLEAN'|'BIGINT'|'DOUBLE'|'TIMESTAMP'|'DATE'|'TIME'|'INTERVAL_DAY_TO_SECOND'|'INTERVAL_YEAR_TO_MONTH'|'UNKNOWN'|'INTEGER',
'ArrayColumnInfo': {'... recursive ...'},
'TimeSeriesMeasureValueColumnInfo': {'... recursive ...'},
'RowColumnInfo': {'... recursive ...'}
}
},
],
'QueryStatus': {
'ProgressPercentage': 123.0,
'CumulativeBytesScanned': 123,
'CumulativeBytesMetered': 123
}
}
Response Structure
(dict) --
QueryId (string) --
A unique ID for the given query.
Rows (list) --
The result set rows returned by the query.
(dict) --
Represents a single row in the query results.
Data (list) --
List of data points in a single row of the result set.
(dict) --
Datum represents a single data point in a query result.
ScalarValue (string) --
Indicates if the data point is a scalar value such as integer, string, double, or Boolean.
TimeSeriesValue (list) --
Indicates if the data point is a timeseries data type.
(dict) --
The timeseries data type represents the values of a measure over time. A time series is an array of rows of timestamps and measure values, with rows sorted in ascending order of time. A TimeSeriesDataPoint is a single data point in the time series. It represents a tuple of (time, measure value) in a time series.
Time (string) --
The timestamp when the measure value was collected.
Value (dict) --
The measure value for the data point.
ArrayValue (list) --
Indicates if the data point is an array.
RowValue (dict) --
Indicates if the data point is a row.
NullValue (boolean) --
Indicates if the data point is null.
ColumnInfo (list) --
The column data types of the returned result set.
(dict) --
Contains the metadata for query results such as the column names, data types, and other attributes.
Name (string) --
The name of the result set column. The name of the result set is available for columns of all data types except for arrays.
Type (dict) --
The data type of the result set column. The data type can be a scalar or complex. Scalar data types are integers, strings, doubles, Booleans, and others. Complex data types are types such as arrays, rows, and others.
ScalarType (string) --
Indicates if the column is of type string, integer, Boolean, double, timestamp, date, time.
ArrayColumnInfo (dict) --
Indicates if the column is an array.
TimeSeriesMeasureValueColumnInfo (dict) --
Indicates if the column is a timeseries data type.
RowColumnInfo (list) --
Indicates if the column is a row.
QueryStatus (dict) --
Information about the status of the query, including progress and bytes scanned.
ProgressPercentage (float) --
The progress of the query, expressed as a percentage.
CumulativeBytesScanned (integer) --
The amount of data scanned by the query in bytes. This is a cumulative sum and represents the total amount of bytes scanned since the query was started.
CumulativeBytesMetered (integer) --
The amount of data scanned by the query in bytes that you will be charged for. This is a cumulative sum and represents the total amount of data that you will be charged for since the query was started. The charge is applied only once and is either applied when the query completes running or when the query is cancelled.