步骤 3:嵌入控制台会话 URL
重要
Amazon QuickSight 推出了用于嵌入分析的新 API:GenerateEmbedUrlForAnonymousUser
和 GenerateEmbedUrlForRegisteredUser
。
您仍然可以使用 GetDashboardEmbedUrl
和 GetSessionEmbedUrl
API 来嵌入控制面板和 QuickSight 控制台,但其不包含最新的嵌入功能。有关最新的嵌入体验,请参阅 将 QuickSight 分析嵌入到您的应用程序中。
在下节中,您可以了解如何使用 Amazon QuickSight Embedding SDK
-
将控制台会话置于 HTML 页面上。
-
将参数传入控制台会话。
-
使用为应用程序自定义的消息处理错误状态。
调用 GetSessionEmbedUrl
API 操作获取可嵌入应用程序的 URL。该 URL 的有效期为 5 分钟,生成的会话的有效期为 10 个小时。该 API 操作为 URL 提供 auth_code
以启用单点登录会话。
下面显示了 get-dashboard-embed-url
的示例响应:
//The URL returned is over 900 characters. For this example, we've shortened the string for //readability and added ellipsis to indicate that it's incomplete. { "Status": "200", "EmbedUrl": "https: //dashboards.example.com/embed/620bef10822743fab329fb3751187d2d...", "RequestId": "7bee030e-f191-45c4-97fe-d9faf0e03713" }
通过使用 QuickSight Embedding SDK
以下示例演示了如何使用生成的 URL。此代码在您的应用程序服务器上生成。
<!DOCTYPE html> <html> <head> <title>Basic Embed</title> <script src="./quicksight-embedding-js-sdk.min.js"></script> <script type="text/javascript"> var dashboard; function embedDashboard() { var containerDiv = document.getElementById("embeddingContainer"); var options = { // replace this dummy url with the one generated via embedding API url: "https://
us-east-1
.quicksight.aws.amazon.com/sn/dashboards/dashboardId?isauthcode=true&identityprovider=quicksight&code=authcode", container: containerDiv, scrolling: "no", height: "700px", width: "1000px", footerPaddingEnabled: true }; dashboard = QuickSightEmbedding.embedDashboard(options); } </script> </head> <body onload="embedDashboard()"> <div id="embeddingContainer"></div> </body> </html>
要让此示例起作用,请确保使用 Amazon QuickSight Embedding SDK 在网站上用 JavaScript 加载嵌入式控制台会话。要获取副本,请执行下列操作之一:
-
从 GitHub 下载 Amazon QuickSight Embedding SDK
。此存储库由一组 QuickSight 开发人员维护。 -
从 https://www.npmjs.com/package/amazon-quicksight-embedding-sdk
下载最新版本的嵌入开发工具包。 -
如果将
npm
用于 JavaScript 依赖项,请通过运行以下命令下载并安装。npm install amazon-quicksight-embedding-sdk