Issues with Embedding Multiple Visuals in Custom Portal Using "amazon-quicksight-embedding-sdk"

Problem Statement: We have created a dashboard in QuickSight and are embedding 17 various visuals into our custom portal using the embedVisual method of the amazon-quicksight-embedding-sdk. However, we are facing issues during the embedding process. Specifically, we encounter errors while loading the embedded dashboard URL using an iframe.

Errors:

  1. Failed to load resource: the server responded with a status of 429
  2. aws Websocket onclose failed with code: 1006 reason: The connection was closed abnormally, e.g., without sending or receiving a Close control frame

These errors occur randomly for at least 3-4 visuals out of the 17. The visuals that fail to load are not consistent; it varies each time we attempt the embedding process.

Implementation Details:

  • We generate embed URLs for all 17 visuals using the generateEmbedUrlForRegisteredUser method of aws-sdk.
  • We then use the embedVisual method of amazon-quicksight-embedding-sdk to load the embedded visual into an iframe.

Steps Taken:

  1. Generate embed URLs for all visuals.
  2. Load each visual in an iframe using the embedVisual method.

Questions:

  1. What could be causing these errors, and how can we resolve them to ensure all visuals load consistently?
  2. Are there any best practices or known limitations when embedding multiple visuals in a custom portal using the amazon-quicksight-embedding-sdk?
  3. Is there a recommended approach to handle the 429 status error and the websocket onclose error code 1006 to prevent these issues?

Any insights or suggestions from the community would be greatly appreciated.

Thank you!

Hi @manish.chauhan.hs,
You are seeing this error as you are sending many requests within a short period of time. When you want to embed multiple visuals on one page, we recommend to stagger the visual loads. As of now, we suggest to load 3 visuals at a time - this way you should no longer get response status code 429. With upcoming improvements, this number should increase.

If you need more information on the latter, I would suggest that you either talk to your AWS account team or file a case with AWS Support where we can help you further. Here are the steps to open a support case. If your company has someone who manages your AWS account, you might not have direct access to AWS Support and will need to raise an internal ticket to your IT team or whomever manages your AWS account. They should be able to open an AWS Support case on your behalf. Hope this helps!

Did this answer your question? If so, please help the community out by marking this answer as "Solution!