Embed URL for amazonbi dashboard

Hi @shreyavj

To embed QuickSight dashboards in your web application using embed URLs, ensure that you have a QuickSight Enterprise Edition subscription.

To fetch an embed URL, you must have QuickSight API access. Since you have 100+ dashboards, automate fetching embed URLs using Boto3 (Python).

Example: (Syntax may vary—modify it as per your requirements)

Note: Use the following API call to fetch all dashboard IDs. Remove any dashboard IDs that you do not want to embed.

import boto3

quicksight = boto3.client('quicksight', region_name="your-region")

response = quicksight.list_dashboards(AwsAccountId="your-aws-account-id")

dashboard_ids = [dashboard['DashboardId'] for dashboard in response['DashboardSummaryList']]
print(dashboard_ids)

# For each dashboard, fetch the embed URL

embed_urls = []

for dashboard_id in dashboard_ids:
    response = quicksight.get_dashboard_embed_url(
        AwsAccountId="your-aws-account-id",
        DashboardId=dashboard_id,
        IdentityType="QUICKSIGHT", # 'IAM'|'QUICKSIGHT'|'ANONYMOUS'
        SessionLifetimeInMinutes=600
    )
    embed_urls.append(response['EmbedUrl'])

print(embed_urls)

Note:

  • SessionLifetimeInMinutes - User session is valid for 15 minutes (default) up to 10 hours (maximum). You can use the optional SessionLifetimeInMinutes parameter to customize session duration.
  • IdentityType="QUICKSIGHT" is for QuickSight users. For external users, use ANONYMOUS

Please refer the below QuickSight documentation and community post this might be helpful for you.