- Newest
- Most votes
- Most comments
This issue appears to be related to how QuickSight loads external images when generating snapshots for scheduled email reports. Based on your description, the images aren't loading in time for the snapshot to be captured, but they do appear after you've manually viewed the dashboard in a browser.
Here are some potential solutions to address this issue:
-
Network and access configuration: Ensure that QuickSight has proper access to your CloudFront distribution. Check that your network's firewall settings permit traffic from
*.aws.amazon.com,amazonaws.com,wss://*.aws.amazon.com, andcloudfront.net. If you're using a proxy server, verify that*.quicksight.aws.amazon.comandcloudfront.netare added to your approved domains list. -
CloudFront caching optimization: Your issue might be related to CloudFront caching behavior. Consider:
- Reviewing your cache policy settings and potentially creating a custom policy if the managed policy doesn't meet your needs
- Adjusting Time to Live (TTL) settings to keep objects in the cache longer
- Ensuring your origin server is setting appropriate caching headers
- Checking compression settings in your cache policy
-
Image delivery format: Since you mentioned your CloudFront setup uses Lambda@Edge with content negotiation based on Accept headers (defaulting to WebP), verify that QuickSight can properly handle this format. Consider modifying your Lambda@Edge function to serve JPG or PNG formats to QuickSight requests specifically.
-
Alternative approach: Instead of using CloudFront URLs directly, you could consider using image components in QuickSight. Each analysis sheet supports up to 10 image components (not counting toward the 50 visual per sheet limit), with file size limits of 1MB per image. Supported formats include .bmp, .jpg/.jpeg, .png, .tiff, and .webp.
-
S3 and CloudFront integration: If your images are stored in a private S3 bucket, you can use CloudFront to serve these images to QuickSight by creating a CloudFront distribution with the appropriate origin domain name and access control settings.
The fact that images appear after manually viewing the dashboard suggests that the caching mechanism is working, but the initial snapshot generation doesn't wait long enough for all resources to load. Unfortunately, there isn't a direct setting to increase the job time for snapshot generation in QuickSight.
Sources
I can't see my visuals - Amazon QuickSight
Cloudfront caching issue | AWS re:Post
Caching web page images when origin is set to alb for Cloudfront | AWS re:Post
Use images from a private Amazon S3 buckets on a Quicksight Dashboard | AWS re:Post
Using image components - Amazon QuickSight
Relevant content
- asked a year ago
- asked 4 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 5 months ago
