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 optionalSessionLifetimeInMinutes
parameter to customize session duration.IdentityType="QUICKSIGHT"
is for QuickSight users. For external users, useANONYMOUS
Please refer the below QuickSight documentation and community post this might be helpful for you.