Hey there,
I’m currently trying to embed Generative Q&A into my application. I wanted to first test out the embed URL on AWS Cli to make sure the URL would generate properly and display on a browser. Much like the way I had successfully done with a dashboard prior.
I followed all the instructions on the documentation including setting up permissions. I already have a registered user on Quicksight we’ll call ‘TEST-ROLE/username@gmail.com’ from embedding dashboards that Assumes the authenticated user role TEST-ROLE which has in its policy:
{ "Action": "quicksight:GenerateEmbedUrlForRegisteredUser", "Resource": "*", "Effect": "Allow" },
Following the instructions following I proceeded to call:
aws quicksight generate-embed-url-for-registered-user \ --aws-account-id AWS_ACCOUNT_ID \ --experience-configuration 'GenerativeQnA={InitialTopicId="TOPIC_ID"}' \ --session-lifetime-in-minutes 15 --user-arn arn:aws:quicksight:REGION:AWS_ACCOUNT_ID:user/default/TEST-ROLE/username@gmail.com --profile PROFILE_NAME
This call successfully returns this
{EmbedUrl: EMBED_URL RequestId: 6cc15644-b453-4038-8f43-b01e33fbac3d Status: 200 }
However when I take this URL and paste it in the browser a grey square appears for about a second and then disappears and there is a blank page. I did this for the dashboard call and the dashboard showed no problem.
I thought it might be the Quicksight User’s permission to the topic, however I checked with aws quicksight describe-topic-permissions
and the user has permissions to the topic. Then I thought it might be the role’s permission to topics, so I added
{ "Action": [ "quicksight:DescribeTopicRefresh", "quicksight:ListTopicRefreshSchedules", "quicksight:DescribeTopicRefreshSchedule", "quicksight:DeleteTopic", "quicksight:UpdateTopic", "quicksight:CreateTopicRefreshSchedule", "quicksight:DeleteTopicRefreshSchedule", "quicksight:UpdateTopicRefreshSchedule", "quicksight:DescribeTopic", "quicksight:DescribeTopicPermissions", "quicksight:UpdateTopicPermissions" ], "Resource": "*", "Effect": "Allow" }
To its policy to be safe and see if it’d work. Despite all this I still get the blank page for the embed URL. Am I missing anything?