Amazon Timestream Query

2024/04/29 - Amazon Timestream Query - 2 new1 updated api methods

Changes  This change allows users to update and describe account settings associated with their accounts.

UpdateAccountSettings (new) Link ¶

Transitions your account to use TCUs for query pricing and modifies the maximum query compute units that you've configured. If you reduce the value of MaxQueryTCU to a desired configuration, the new value can take up to 24 hours to be effective.

See also: AWS API Documentation

Request Syntax

client.update_account_settings(
    MaxQueryTCU=123,
    QueryPricingModel='BYTES_SCANNED'|'COMPUTE_UNITS'
)
type MaxQueryTCU:

integer

param MaxQueryTCU:

The maximum number of compute units the service will use at any point in time to serve your queries. To run queries, you must set a minimum capacity of 4 TCU. You can set the maximum number of TCU in multiples of 4, for example, 4, 8, 16, 32, and so on.

The maximum value supported for MaxQueryTCU is 1000. To request an increase to this soft limit, contact Amazon Web Services Support. For information about the default quota for maxQueryTCU, see Default quotas.

type QueryPricingModel:

string

param QueryPricingModel:

The pricing model for queries in an account.

rtype:

dict

returns:

Response Syntax

{
    'MaxQueryTCU': 123,
    'QueryPricingModel': 'BYTES_SCANNED'|'COMPUTE_UNITS'
}

Response Structure

  • (dict) --

    • MaxQueryTCU (integer) --

      The configured maximum number of compute units the service will use at any point in time to serve your queries.

    • QueryPricingModel (string) --

      The pricing model for an account.

DescribeAccountSettings (new) Link ¶

Describes the settings for your account that include the query pricing model and the configured maximum TCUs the service can use for your query workload.

You're charged only for the duration of compute units used for your workloads.

See also: AWS API Documentation

Request Syntax

client.describe_account_settings()
rtype:

dict

returns:

Response Syntax

{
    'MaxQueryTCU': 123,
    'QueryPricingModel': 'BYTES_SCANNED'|'COMPUTE_UNITS'
}

Response Structure

  • (dict) --

    • MaxQueryTCU (integer) --

      The maximum number of Timestream compute units (TCUs) the service will use at any point in time to serve your queries.

    • QueryPricingModel (string) --

      The pricing model for queries in your account.

DescribeScheduledQuery (updated) Link ¶
Changes (response)
{'ScheduledQuery': {'LastRunSummary': {'ExecutionStats': {'CumulativeBytesScanned': 'long'}},
                    'RecentlyFailedRuns': {'ExecutionStats': {'CumulativeBytesScanned': 'long'}}}}

Provides detailed information about a scheduled query.

See also: AWS API Documentation

Request Syntax

client.describe_scheduled_query(
    ScheduledQueryArn='string'
)
type ScheduledQueryArn:

string

param ScheduledQueryArn:

[REQUIRED]

The ARN of the scheduled query.

rtype:

dict

returns:

Response Syntax

{
    '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,
                'CumulativeBytesScanned': 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,
                    'CumulativeBytesScanned': 123,
                    'RecordsIngested': 123,
                    'QueryResultRows': 123
                },
                'ErrorReportLocation': {
                    'S3ReportLocation': {
                        'BucketName': 'string',
                        'ObjectKey': 'string'
                    }
                },
                'FailureReason': 'string'
            },
        ]
    }
}

Response Structure

  • (dict) --

    • ScheduledQuery (dict) --

      The scheduled query.

      • Arn (string) --

        Scheduled query ARN.

      • Name (string) --

        Name of the scheduled query.

      • QueryString (string) --

        The query to be run.

      • CreationTime (datetime) --

        Creation time of the scheduled query.

      • State (string) --

        State of the scheduled query.

      • PreviousInvocationTime (datetime) --

        Last time the query was run.

      • NextInvocationTime (datetime) --

        The next time the scheduled query is scheduled to run.

      • ScheduleConfiguration (dict) --

        Schedule configuration.

        • ScheduleExpression (string) --

          An expression that denotes when to trigger the scheduled query run. This can be a cron expression or a rate expression.

      • NotificationConfiguration (dict) --

        Notification configuration.

        • SnsConfiguration (dict) --

          Details on SNS configuration.

          • TopicArn (string) --

            SNS topic ARN that the scheduled query status notifications will be sent to.

      • TargetConfiguration (dict) --

        Scheduled query target store configuration.

        • TimestreamConfiguration (dict) --

          Configuration needed to write data into the Timestream database and table.

          • DatabaseName (string) --

            Name of Timestream database to which the query result will be written.

          • TableName (string) --

            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.

          • TimeColumn (string) --

            Column from query result that should be used as the time column in destination table. Column type for this should be TIMESTAMP.

          • DimensionMappings (list) --

            This is to allow mapping column(s) from the query result to the dimension in the destination table.

            • (dict) --

              This type is used to map column(s) from the query result to a dimension in the destination table.

              • Name (string) --

                Column name from query result.

              • DimensionValueType (string) --

                Type for the dimension.

          • MultiMeasureMappings (dict) --

            Multi-measure mappings.

            • TargetMultiMeasureName (string) --

              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.

            • MultiMeasureAttributeMappings (list) --

              Required. Attribute mappings to be used for mapping query results to ingest data for multi-measure attributes.

              • (dict) --

                Attribute mapping for MULTI value measures.

                • SourceColumn (string) --

                  Source column from where the attribute value is to be read.

                • TargetMultiMeasureAttributeName (string) --

                  Custom name to be used for attribute name in derived table. If not provided, source column name would be used.

                • MeasureValueType (string) --

                  Type of the attribute to be read from the source column.

          • MixedMeasureMappings (list) --

            Specifies how to map measures to multi-measure records.

            • (dict) --

              MixedMeasureMappings are mappings that can be used to ingest data into a mixture of narrow and multi measures in the derived table.

              • MeasureName (string) --

                Refers to the value of measure_name in a result row. This field is required if MeasureNameColumn is provided.

              • SourceColumn (string) --

                This field refers to the source column from which measure-value is to be read for result materialization.

              • TargetMeasureName (string) --

                Target measure name to be used. If not provided, the target measure name by default would be measure-name if provided, or sourceColumn otherwise.

              • MeasureValueType (string) --

                Type of the value that is to be read from sourceColumn. If the mapping is for MULTI, use MeasureValueType.MULTI.

              • MultiMeasureAttributeMappings (list) --

                Required when measureValueType is MULTI. Attribute mappings for MULTI value measures.

                • (dict) --

                  Attribute mapping for MULTI value measures.

                  • SourceColumn (string) --

                    Source column from where the attribute value is to be read.

                  • TargetMultiMeasureAttributeName (string) --

                    Custom name to be used for attribute name in derived table. If not provided, source column name would be used.

                  • MeasureValueType (string) --

                    Type of the attribute to be read from the source column.

          • MeasureNameColumn (string) --

            Name of the measure column.

      • ScheduledQueryExecutionRoleArn (string) --

        IAM role that Timestream uses to run the schedule query.

      • KmsKeyId (string) --

        A customer provided KMS key used to encrypt the scheduled query resource.

      • ErrorReportConfiguration (dict) --

        Error-reporting configuration for the scheduled query.

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

      • LastRunSummary (dict) --

        Runtime summary for the last scheduled query run.

        • InvocationTime (datetime) --

          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.

        • TriggerTime (datetime) --

          The actual time when the query was run.

        • RunStatus (string) --

          The status of a scheduled query run.

        • ExecutionStats (dict) --

          Runtime statistics for a scheduled run.

          • ExecutionTimeInMillis (integer) --

            Total time, measured in milliseconds, that was needed for the scheduled query run to complete.

          • DataWrites (integer) --

            Data writes metered for records ingested in a single scheduled query run.

          • BytesMetered (integer) --

            Bytes metered for a single scheduled query run.

          • CumulativeBytesScanned (integer) --

            Bytes scanned for a single scheduled query run.

          • RecordsIngested (integer) --

            The number of records ingested for a single scheduled query run.

          • QueryResultRows (integer) --

            Number of rows present in the output from running a query before ingestion to destination data source.

        • ErrorReportLocation (dict) --

          S3 location for error report.

          • S3ReportLocation (dict) --

            The S3 location where error reports are written.

            • BucketName (string) --

              S3 bucket name.

            • ObjectKey (string) --

              S3 key.

        • FailureReason (string) --

          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.

      • RecentlyFailedRuns (list) --

        Runtime summary for the last five failed scheduled query runs.

        • (dict) --

          Run summary for the scheduled query

          • InvocationTime (datetime) --

            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.

          • TriggerTime (datetime) --

            The actual time when the query was run.

          • RunStatus (string) --

            The status of a scheduled query run.

          • ExecutionStats (dict) --

            Runtime statistics for a scheduled run.

            • ExecutionTimeInMillis (integer) --

              Total time, measured in milliseconds, that was needed for the scheduled query run to complete.

            • DataWrites (integer) --

              Data writes metered for records ingested in a single scheduled query run.

            • BytesMetered (integer) --

              Bytes metered for a single scheduled query run.

            • CumulativeBytesScanned (integer) --

              Bytes scanned for a single scheduled query run.

            • RecordsIngested (integer) --

              The number of records ingested for a single scheduled query run.

            • QueryResultRows (integer) --

              Number of rows present in the output from running a query before ingestion to destination data source.

          • ErrorReportLocation (dict) --

            S3 location for error report.

            • S3ReportLocation (dict) --

              The S3 location where error reports are written.

              • BucketName (string) --

                S3 bucket name.

              • ObjectKey (string) --

                S3 key.

          • FailureReason (string) --

            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.