I am able to embed quicksight console to my website using const embeddedConsoleExperience = await this.embeddingContext.embedConsole(this.frameOptions, this.contentOptions);
I am trying to detect the url, when user navigates on different links (dataset, analysis, dashboard) from within the embeded console. Any suggestion on how to accomplish this?
My ultimate goal is to find out the analysis id or dashboard id from the url.
@Koushik_Muthanna I embed console url to my website and open the embeded url defaulting user to the analysis page. From here user can publish the analysis and then go to the dashboard page. I need to know the dashboard id the of the dashboard user just created from the analysis to store it in the database. Since user does not see the url when I embed console to my page, I am trying to find an intuitive way to detect the dashboard id programmatically. Please advise.
Hi Koushik, My user does not know the dashboard id they just created from the embedded console. I am trying to instruct our user to find their newly created dashboard id, and enter it to a text box so that we can save it in the database. Do you have any advice on how my user can find the dashboard id easily from the embedded console where they do not see the URL. I am looking to see if I can create embedded callback when user publishes a analysis from embedded console to save the dashboard id in database.
Hi @tuhin24 - Welcome to AWS QuickSight community and thanks for posting the question. The dashboard id is created by QS internally and from end user prospective, they should not aware about this. End user can always see the dashboard name and this information can be stored. By saying that, what is the end goal for this requirement. Why you are trying to store the dashboard ids in the dashboard. Please give more details around the requirement.
Once the dashboard id is saved in the database by the admin. The dashboard will be shown to the executive from their internal website. We will need to know the dashaboard id for that purpose. Please let me know if you have any additional questions.
So we have two steps:
In step 1: The admin creates the dashboard and gives read access to their Executive account and saves the dashbaord id to the database from a SAAS website.
in Step 2: Executives should be able to see this dashboard from their internal website. For this we need to know the dashboard id.
Again, I do not have the dashboard id which is one of the parameters I need to pass to that API. QuickSight does not support API that returns only the dashboards that a particular user has access to. Looping through all the dashboards for for an AWS account is not ideal for multi-tenant application.
Please consider adding a button next to the Dashboard name. Clicking on this button should copy the dashboard id to the clipboard.
Hoping below additional info might help you to resolve the issue.
Now QuickSight assets Create, Update, and Delete (CUD) events are captured in Amazon EventBridge. With EventBridge, we can respond automatically to events in QuickSight such as a new dashboard creation or update. You can write custom lambda function to capture the event and in the payload you will be having Dashboardid along with user details.
Once the dashboard id is saved in the database by the admin. The dashboard will be shown to the executive from their internal website. We will need to know the dashaboard id for that purpose. Please let me know if you have any additional questions.
So we have two steps:
In step 1: The admin creates the dashboard and gives read access to their Executive account and saves the dashbaord id to the database from a SAAS website.
in Step 2: Executives should be able to see this dashboard from their internal website. For this we need to know the dashboard id.
Saving the dashboard id is not enough as different executives might have access to different dashboards. How would you know which dashboard an executive should see ?
The user based embedding Workshop Studio has sample lambda code that should give you an idea on fetching dashboard id which you have to pass for an user.
Again, I do not have the dashboard id which is one of the parameters I need to pass to that API. QuickSight does not support API that returns only the dashboards that a particular user has access to. Looping through all the dashboards for for an AWS account is not ideal for multi-tenant application.