How to create Quicksight Analysis & Template in CDK

0

I would like to create new Quicksight Analysis & Template in CDK (python): I'm trying to do it with CfnAnalysis class & CfnTemplate the problem is with SourceEntity parameter in both classes. Both of them required to provide arn of each other, but during CREATE_IN_PROGRESS only one of them is ready, so I get an error "Resource of type 'AWS::QuickSight::Analysis' with identifier 'CfnAnalysisId' was not found." I can skip in CfnTemplate parameter SourceAnalysis and give instead SourceTemplate with arn of existing template but then when I try to use this template to create a Dashboard I receive another error: "Given placeholders [placeholder] are not part of template". This is correct but placeholder parameter is part of "SourceAnalysis" parameter so back to the original problem.

In conclusion, I would like to use CDK to create a new template and a new analysis, both objects need each other, so how can this be done?

asked 2 years ago5771 views
6 Answers
1
Accepted Answer

In the end, a workaround was found. A manual step is still needed, but only as a prerequisite.

1.Create manually quicksight template by CLI "aws quicksight create-template --aws-account-id 0123456789 --region region --template-id template --source-entity file://template.json"

2.Use this template ARN as SourceTemplate in new CfnTemplate

3.Create new CfnAnalysis with new CfnTemplate arn as SourceEntity.

answered 2 years ago
profile picture
EXPERT
reviewed 16 days ago
1

Hi,

I just finished automating the Dashboard, Analysis generation in my project using CDK, Codepipeline. I released a lot of code about this in my github repo (https://github.com/gmournos/quicksight-as-code) and published an article in order to help others who try to automate quicksight (https://medium.com/@gmournos/aws-quicksight-as-code-a-unified-approach-for-quicksight-development-and-deployment-using-aws-30bbb6bd253a).

I hope this helps the community

answered 10 months ago
0

Hi.

In order to create Analisys with QuickSight, you need the original Analisys.
So create Analisys manually or by another CloudFormation. It's another base analysis for input to the stack.

In this case, the ARN that the template should reference is the ARN of the analysis passed in the input parameters, not the Analisys you are about to create.

profile picture
EXPERT
iwasa
answered 2 years ago
0

Thank you for your reply, but unfortunately it is insufficient because it focuses on solving one problem and creates another. To create the Analysis, a DataSet is required, which in my case is also built dynamically like Template and Analysis. If I specify in CfnTemplate an ARN from a manually created Analysis in which a different DataSet is specified, I get the error "Given data sets [arn] are not part of analysis". So if I followed this approach, I would have to manually create half the stack

It looks like a bug in CloudFormation here is reported issue.

answered 2 years ago
0

Another customer is facing this very same issue that they are creating analysis via template. Any suggestions and working are welcome?

AWS
answered a year ago
0

Has anyone found a solution for this problem? The error provided in the prior comment persists, "Given data sets [arn] are not part of analysis" for both Dashboards and Analysis creation using a manually created Analysis as the SourceEntity for the templates. You can also create an Analysis via a Definition, I see describe_analysis_definition in the available Quicksight functions but it does not appear to work even after upgrading to AWS CLI v2.

Pat G
answered a year ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions