aws-cloudformation / cloudformation-coverage-roadmap

The AWS CloudFormation Public Coverage Roadmap
https://aws.amazon.com/cloudformation/
Creative Commons Attribution Share Alike 4.0 International
1.1k stars 53 forks source link

Unable to deploy Timestream scheduled query when querying an empty table #2026

Open furrycatherder opened 2 months ago

furrycatherder commented 2 months ago

Name of the resource

AWS::Timestream::ScheduledQuery

Resource name

No response

Description

Attempting to deploy a ScheduledQuery that queries an empty table results in an exception:

ScheduledQuery: Resource handler returned message: "line 12:25: Column 'foo' does not exist (Service: AmazonTimestreamQuery; Status Code: 400; Error Code: ValidationException; Request ID: OSQH3TTQWMV4BP6W7NKAZS324M; Proxy: null)" (RequestToken: a86574da-20c5-0081-1c7f-05eae4b55b2f, HandlerErrorCode: InvalidRequest)

It would be nice if this were a warning instead of an error, or if the construct could be deployed but execution deferred until the validation passes. The current behavior makes deployment of tiered scheduled queries especially inconvenient.

Other Details

No response

dmeehan1968 commented 1 week ago

Part of the problem here is incomplete implementation of the Table resource. There is schema support for partition keys, but it should also allow for dimension and measure values, which would allow an initial ‘seeding’ of the tables column names.

I understand a workaround is to create a custom resource which has a function attached to seed the table with a single dummy row at deploy time, which then allows the query to be deployed in the same deploy cycle.