scheduled_queries
Creates, updates, deletes or gets a scheduled_query resource or lists scheduled_queries in a region
Overview
| Name | scheduled_queries |
| Type | Resource |
| Description | The AWS::Timestream::ScheduledQuery resource creates a Timestream Scheduled Query. |
| Id | awscc.timestream.scheduled_queries |
Fields
- get (all properties)
- list (identifiers only)
| Name | Datatype | Description |
|---|---|---|
arn | string | Amazon Resource Name of the scheduled query that is generated upon creation. |
scheduled_query_name | string | The name of the scheduled query. Scheduled query names must be unique within each Region. |
query_string | 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 | object | Configuration for when the scheduled query is executed. |
notification_configuration | object | 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. |
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. |
scheduled_query_execution_role_arn | string | The ARN for the IAM role that Timestream will assume when running the scheduled query. |
target_configuration | object | Configuration of target store where scheduled query results are written to. |
error_report_configuration | object | Configuration for error reporting. Error reports will be generated when a problem is encountered when writing the query results. |
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. |
sq_name | string | The name of the scheduled query. Scheduled query names must be unique within each Region. |
sq_query_string | 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. |
sq_schedule_configuration | string | Configuration for when the scheduled query is executed. |
sq_notification_configuration | string | 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. |
sq_scheduled_query_execution_role_arn | string | The ARN for the IAM role that Timestream will assume when running the scheduled query. |
sq_target_configuration | string | Configuration of target store where scheduled query results are written to. |
sq_error_report_configuration | string | Configuration for error reporting. Error reports will be generated when a problem is encountered when writing the query results. |
sq_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. |
tags | array | A list of key-value pairs to label the scheduled query. |
region | string | AWS region. |
| Name | Datatype | Description |
|---|---|---|
arn | string | Amazon Resource Name of the scheduled query that is generated upon creation. |
region | string | AWS region. |
For more information, see AWS::Timestream::ScheduledQuery.
Methods
| Name | Resource | Accessible by | Required Params |
|---|---|---|---|
create_resource | scheduled_queries | INSERT | QueryString, ScheduleConfiguration, NotificationConfiguration, ScheduledQueryExecutionRoleArn, ErrorReportConfiguration, region |
delete_resource | scheduled_queries | DELETE | Identifier, region |
update_resource | scheduled_queries | UPDATE | Identifier, PatchDocument, region |
list_resources | scheduled_queries_list_only | SELECT | region |
get_resource | scheduled_queries | SELECT | Identifier, region |
SELECT examples
- get (all properties)
- list (identifiers only)
Gets all properties from an individual scheduled_query.
SELECT
region,
arn,
scheduled_query_name,
query_string,
schedule_configuration,
notification_configuration,
client_token,
scheduled_query_execution_role_arn,
target_configuration,
error_report_configuration,
kms_key_id,
sq_name,
sq_query_string,
sq_schedule_configuration,
sq_notification_configuration,
sq_scheduled_query_execution_role_arn,
sq_target_configuration,
sq_error_report_configuration,
sq_kms_key_id,
tags
FROM awscc.timestream.scheduled_queries
WHERE
region = 'us-east-1' AND
Identifier = '{{ arn }}';
Lists all scheduled_queries in a region.
SELECT
region,
arn
FROM awscc.timestream.scheduled_queries_list_only
WHERE
region = 'us-east-1';
INSERT example
Use the following StackQL query and manifest file to create a new scheduled_query resource, using stack-deploy.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO awscc.timestream.scheduled_queries (
QueryString,
ScheduleConfiguration,
NotificationConfiguration,
ScheduledQueryExecutionRoleArn,
ErrorReportConfiguration,
region
)
SELECT
'{{ query_string }}',
'{{ schedule_configuration }}',
'{{ notification_configuration }}',
'{{ scheduled_query_execution_role_arn }}',
'{{ error_report_configuration }}',
'{{ region }}';
/*+ create */
INSERT INTO awscc.timestream.scheduled_queries (
ScheduledQueryName,
QueryString,
ScheduleConfiguration,
NotificationConfiguration,
ClientToken,
ScheduledQueryExecutionRoleArn,
TargetConfiguration,
ErrorReportConfiguration,
KmsKeyId,
Tags,
region
)
SELECT
'{{ scheduled_query_name }}',
'{{ query_string }}',
'{{ schedule_configuration }}',
'{{ notification_configuration }}',
'{{ client_token }}',
'{{ scheduled_query_execution_role_arn }}',
'{{ target_configuration }}',
'{{ error_report_configuration }}',
'{{ kms_key_id }}',
'{{ tags }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: scheduled_query
props:
- name: scheduled_query_name
value: '{{ scheduled_query_name }}'
- name: query_string
value: '{{ query_string }}'
- name: schedule_configuration
value:
schedule_expression: '{{ schedule_expression }}'
- name: notification_configuration
value:
sns_configuration:
topic_arn: '{{ topic_arn }}'
- name: client_token
value: '{{ client_token }}'
- name: scheduled_query_execution_role_arn
value: '{{ scheduled_query_execution_role_arn }}'
- name: target_configuration
value:
timestream_configuration:
database_name: '{{ database_name }}'
table_name: '{{ table_name }}'
time_column: '{{ time_column }}'
dimension_mappings:
- name: '{{ name }}'
dimension_value_type: '{{ dimension_value_type }}'
multi_measure_mappings:
target_multi_measure_name: '{{ target_multi_measure_name }}'
multi_measure_attribute_mappings:
- source_column: '{{ source_column }}'
measure_value_type: '{{ measure_value_type }}'
target_multi_measure_attribute_name: '{{ target_multi_measure_attribute_name }}'
mixed_measure_mappings:
- measure_name: '{{ measure_name }}'
source_column: '{{ source_column }}'
target_measure_name: '{{ target_measure_name }}'
measure_value_type: '{{ measure_value_type }}'
multi_measure_attribute_mappings: null
measure_name_column: '{{ measure_name_column }}'
- name: error_report_configuration
value:
s3_configuration:
bucket_name: '{{ bucket_name }}'
object_key_prefix: '{{ object_key_prefix }}'
encryption_option: '{{ encryption_option }}'
- name: kms_key_id
value: '{{ kms_key_id }}'
- name: tags
value:
- key: '{{ key }}'
value: '{{ value }}'
UPDATE example
Use the following StackQL query and manifest file to update a scheduled_query resource, using stack-deploy.
/*+ update */
UPDATE awscc.timestream.scheduled_queries
SET PatchDocument = string('{{ {
"ClientToken": client_token,
"Tags": tags
} | generate_patch_document }}')
WHERE
region = '{{ region }}' AND
Identifier = '{{ arn }}';
DELETE example
/*+ delete */
DELETE FROM awscc.timestream.scheduled_queries
WHERE
Identifier = '{{ arn }}' AND
region = 'us-east-1';
Permissions
To operate on the scheduled_queries resource, the following permissions are required:
- Create
- Read
- Update
- Delete
- List
timestream:CreateScheduledQuery,
timestream:DescribeEndpoints,
timestream:TagResource,
iam:PassRole,
kms:DescribeKey,
kms:GenerateDataKey
timestream:DescribeScheduledQuery,
timestream:ListTagsForResource,
timestream:DescribeEndpoints,
kms:GenerateDataKey,
kms:Decrypt
timestream:UpdateScheduledQuery,
timestream:TagResource,
timestream:UntagResource,
timestream:DescribeEndpoints
timestream:DeleteScheduledQuery,
timestream:DescribeScheduledQuery,
timestream:DescribeEndpoints
timestream:ListScheduledQueries,
timestream:DescribeEndpoints