亚马逊AWS官方博客
全新功能 — 由 Amazon QuickSight 提供支持的细粒度视觉嵌入
今天,我们宣布了一项新功能,即由 Amazon QuickSight 提供支持的细粒度视觉嵌入。借助此功能,Amazon QuickSight 控制面板中的单个可视化现在可以嵌入高流量的网页和应用程序中。此外,此功能使您能够在最终用户最需要的地方为他们提供丰富的见解,而无需设置服务器或软件或进行基础架构管理。
以下是此新功能的快速预览:
新功能:细粒度视觉嵌入
Amazon QuickSight 是一项基于云的可嵌入式和基于机器学习的商业智能 (BI) 服务,可提供交互式数据可视化、分析和报告,从而在组织内部和最终用户之间实现数据驱动型决策,而无需管理服务器。
Amazon QuickSight 可支持嵌入分析,该功能用于将品牌分析整合到内部门户或公共网站中。客户可以轻松地在应用程序中无缝嵌入交互式控制面板、自然语言查询 (NLQ) 或完整的商业智能创作体验。这便于您的最终用户简化基于数据制定决策的流程。
我们的客户希望能够将各种控制面板的视觉效果嵌入到他们的应用程序和网站中,从而带来深度整合的数据驱动型体验,从而增强最终用户体验。以前,客户需要构建、缩放和维护生成层和图表库以嵌入单独的可视化。
借助由 Amazon QuickSight 提供支持的细粒度视觉嵌入,开发人员和独立软件开发商现在能够使用 API 将控制面板中的任何视觉效果嵌入到其应用程序中。对于企业,他们可以使用“一键嵌入”将视觉效果嵌入到其内部网站中。对于最终用户,细粒度视觉嵌入提供了一种无缝的集成体验,可访问各种关键数据的视觉效果以获取见解。
下面是一个示例视图,我们可以使用此功能在示例 Web 应用程序页面中嵌入视觉效果:
当源数据发生更改或视觉效果更新时,嵌入的视觉效果会自动更新。嵌入的视觉效果可自动扩展,无需从端管理服务器,并在高流量的页面上进行了高性能的优化。
开始使用细粒度视觉嵌入
有两种方法可以使用细粒度视觉嵌入,即使用“一键嵌入”或使用 QuickSight API 生成嵌入 URL。“一键嵌入”功能使非技术用户可以轻松生成嵌入代码,可以直接插入到内部门户或公共网站中。使用 API,独立软件开发商和开发人员可以在其应用程序中嵌入丰富的视觉效果。此外,通过行级安全性,数据访问是安全的,使用户只能访问自己的数据。
要开始使用此功能,请转至 Amazon QuickSight 控制面板。这里,我已经有一个使用数据集的控制面板,您可以从使用样本数据创建 Amazon QuickSight 控制面板的文档中关注该数据集。
使用“一键嵌入”生成嵌入代码
Amazon QuickSight 支持“一键嵌入”功能,无需任何开发工作即可获取嵌入代码。一键嵌入有两种类型:1) 一键式企业级嵌入,2) 一键式公共嵌入。通过企业级嵌入,它允许您使用账户中的注册用户访问控制面板。在公共嵌入中,您可以允许任何人访问控制面板。
要通过“一键嵌入”获取嵌入代码,您可以选择要嵌入的视觉效果,然后选择菜单选项并选择嵌入视觉效果。
选择嵌入视觉效果后,右侧将出现一个新菜单,其中包含所选视觉效果的详细信息。
嵌入代码部分包含 iframe 代码,您可以将其插入到应用程序、门户或网站中。托管这些嵌入视觉效果的域必须位于允许列表中,您可以在允许列出静态域页面上了解更多信息。以下是嵌入代码呈现方式的示例:
当 Amazon QuickSight 中的视觉源发生变化时,它也会反映在嵌入视觉效果的 Web 应用程序或普通应用程序中。此外,QuickSight 的嵌入视觉效果将随着网站流量的增加而自动扩展。
从客户的角度来看,一键嵌入将帮助客户从 Amazon QuickSight 的各种控制面板中为最终用户提供关键数据的视觉效果,客户无需具备技术技能。
以编程方式生成嵌入 URL
除了“一键嵌入”之外,您还可以通过 API 执行视觉嵌入。要通过 API 执行视觉嵌入,您可以使用 AWS CLI 或开发工具包调用 API GenerateEmbedurlforAnonymousUser
或 GenerateEmbedurlForRegisteredUser
。
您可以使用 GenerateEmbedurlforAnonymousUser
API 在应用程序中为用户嵌入视觉效果,无需在 Amazon QuickSight 中预置视觉效果。
您还可以使用 GenerateEmbedurlforRegisteredUser
API 在应用程序中为用户嵌入在 Amazon QuickSight 中预置的视觉效果。
该 API 通过传递 DashboardVisual
中的 ExperienceConfiguration
参数和以下属性来工作:
{
'DashboardId':'<DASHBOARD_ID>',
'SheetId':'<SHEET_ID>',
'VisualId':'<VISUAL_ID>'
}
然后,要获取控制面板
、工作表
和视觉
的 ID,可以在所选视觉效果的开发人员 ID 菜单部分下找到这些属性的值。
使用 CLI 生成嵌入 URL
收集完全部所需的 ID 后,我们可以将其作为参数传递。以下是生成嵌入 URL 的示例 API 命令:
aws quicksight generate-embed-url-for-anonymous-user \
--aws-account-id <ACCOUNT_ID> \
--session-lifetime-in-minutes 15 \
--authorized-resource-arns “<DASHBOARD_ARN>”
--namespace default
--experience-configuration '{"DashboardVisual": \
{
"InitialDashboardVisualId": \
{
"DashboardId”:”<DASHBOARD_ID>”, \
"SheetId”:”<SHEET_ID>”, \
"VisualId”:”<VISUAL_ID” \
}
}}'
如果请求成功,您将收到以下响应。然后,您可以在 Web 或应用程序中使用 EmbedUrl
属性。
{
"Status": 200,
"EmbedUrl": “<EMBED_URL>”,
"RequestId": “<REQUEST_ID>”,
"AnonymousUserArn": “<ARN>”
}
使用 SDK 生成嵌入 URL
除了 AWS CLI 之外,还可以使用 AWS 开发工具包生成嵌入 URL。以下是 Python 示例:
response = client.generate_embed_url_for_anonymous_user(
AwsAccountId='123456789012',
SessionLifetimeInMinutes=15,
Namespace='default',
AuthorizedResourceArns=[
'<DASHBOARD_ARN>',
],
ExperienceConfiguration={
'DashboardVisual': {
'InitialDashboardVisualId': {
'DashboardId':'<DASHBOARD_ID>',
'SheetId':'<SHEET_ID>',
'VisualId':'<VISUAL_ID>'
}
}
},
AllowedDomains=[
'https://YOUR-DOMAIN.com',
]
)
借助 API,您可以灵活地在运行时配置允许的域。从上面的示例中,您可以传递 AllowedDomains
属性中的域。
请求成功后,API 将返回成功的响应,以及来自视觉嵌入的 URL,该 URL 可以插入到外部 Web 应用程序中。响应示例如下所示:
{
"Status": 200,
"EmbedUrl":"<EMBED_URL>",
"RequestId": "<REQUEST_ID>”
}
使用 API 方法使开发人员能够灵活地以编程方式生成嵌入 URL。开发人员可以在 Amazon QuickSight 中指定非注册用户和注册用户对视觉效果的访问。
演示
要查看由 Amazon QuickSight 提供支持的细粒度视觉嵌入的实际效果,请观看以下演示:
定价和可用性
您可以在所有受支持的区域中使用这项新功能,即 Amazon QuickSight 企业版中的细粒度视觉嵌入。有关更多详细信息,请访问文档页面。
祝大家构建顺利。
— Donnie