AWS Quicksight - 快速指南


AWS Quicksight - 概述

AWS Quicksight 是最强大的商业智能工具之一,可让您在几分钟内创建交互式仪表板,以提供对组织的业务洞察。有多种可视化或图形格式可用于创建仪表板。仪表板会随着数据的更新或计划而自动更新。您还可以将 Quicksight 中创建的仪表板嵌入到您的 Web 应用程序中。

借助最新的 ML 见解(也称为机器学习见解),Quicksight 使用其内置算法来查找历史数据中的任何类型的异常或峰值。这有助于根据这些见解提前准备好业务需求。以下是 Quicksight 入门快速指南。

以下是 AWS 的官方产品描述页面 -

https://aws.amazon.com/quicksight/

您还可以通过填写以下信息并单击“继续”按钮来订阅 AWS 试用帐户。

AWS 试用账户

AWS Quicksight - 登陆页面

要访问 AWS Quicksight 工具,您可以通过在 Web 浏览器中传递此 URL 或导航到AWS 控制台 → 服务来直接打开它

https://aws.amazon.com/quicksight/

打开此 URL 后,单击右上角的“登录到控制台”

登录控制台

您需要提供以下详细信息才能登录 Quicksight 工具 -

  • 帐户 ID 或别名
  • IAM 用户名
  • 密码
登录

登录 Quicksight 后,您将看到以下屏幕 -

快视

如上图所示,

A 部分- “新分析”图标用于创建新分析。当您单击此按钮时,它会要求您选择任何数据集。您还可以创建一个新的数据集,如下所示 -

新数据集

B 部分- “管理数据”图标将显示已输入 Quicksight 的所有数据集。此选项可用于管理数据集而不创建任何分析。

C 部分- 它显示您已经连接到的各种数据源。您还可以连接到新的数据源或上传文件。

数据集

D 部分- 此部分包含已创建的分析的图标、已发布的仪表板和详细解释 Quicksight 的教程视频。

您可以单击每个选项卡来查看它们,如下所示 -

全部分析

在这里,您可以查看 AWS Quicksight 账户中的所有现有分析,包括报告和仪表板。

所有分析

所有仪表板

此选项仅显示 AWS Quicksight 账户中的现有控制面板。

所有仪表板

教程视频

教程视频

打开 Quicksight 控制台的其他选项是使用以下 URL 导航到 AWS 控制台 -

https://aws.amazon.com/console/

登录后,您需要导航到“服务”选项卡并在搜索栏中搜索 Quicksight。如果您最近在 AWS 账户中使用过 Quicksight 服务,它将在“历史记录”选项卡下看到。

服务

AWS Quicksight - 使用数据源

AWS Quicksight 接受来自各种来源的数据。单击主页上的“新数据集”后,它会为您提供所有可以使用的数据源的选项。

以下是包含所有内部和外部来源列表的来源 -

使用数据源

让我们将 Quicksight 与一些最常用的数据源连接起来 -

从系统上传文件

它仅允许您输入 .csv、.tsv、.clf、.elf.xlsx 和 Json 格式文件。选择文件后,Quicksight 会自动识别该文件并显示数据。单击“上传文件”按钮时,您需要提供要用于创建数据集的文件的位置。

使用 S3 格式的文件

屏幕将如下所示。在数据源名称下,您可以输入要为要创建的数据集显示的名称。此外,您还需要从本地系统上传清单文件或提供清单文件的 S3 位置。

数据源名称

Manifest 文件是一个 json 格式的文件,它指定输入文件的 url/位置及其格式。您可以输入多个输入文件,前提是格式相同。这是清单文件的示例。用于传递输入文件位置的“URI”参数是S3。

{
   "fileLocations": [
      {
         "URIs": [
            "url of first file",
            "url of second file",
            "url of 3rd file and so on"
         ]
      },
   
   ],
}
"globalUploadSettings": {
   "format": "CSV",
   "delimiter": ",",
   "textqualifier": "'",
   "containsHeader": "true"
}

globalUploadSettings中传递的参数为默认参数。您可以根据您的要求更改这些参数。

MySQL

您需要在字段中输入数据库信息才能连接到数据库。一旦它连接到您的数据库,您就可以从中导入数据。

新的 SQL 数据源

连接到任何 RDBMS 数据库时需要以下信息 -

  • DSN名称
  • 连接类型
  • 数据库服务器名称
  • 港口
  • 数据库名称
  • 用户名
  • 密码

Quicksight 支持以下基于 RDBMS 的数据源 -

  • 亚马逊雅典娜
  • 亚马逊极光
  • 亚马逊红移
  • 亚马逊红移频谱
  • 亚马逊S3
  • 亚马逊 S3 分析
  • Apache Spark 2.0 或更高版本
  • MariaDB 10.0 或更高版本
  • Microsoft SQL Server 2012 或更高版本
  • MySQL 5.1 或更高版本
  • PostgreSQL 9.3.1 或更高版本
  • Presto 0.167 或更高版本
  • Snowflake
  • Teradata 14.0 或更高版本

雅典娜

Athena 是用于在表上运行查询的 AWS 工具。您可以选择 Athena 中的任何表,或对这些表运行自定义查询,并在 Quicksight 中使用这些查询的输出。选择数据源有几个步骤

当您选择 Athena 时,会出现以下屏幕。您可以输入您想要为 Quicksight 中的数据源指定的任何数据源名称。单击“验证连接”。连接验证后,单击“创建新源”按钮

雅典娜数据源

现在从下拉列表中选择表名称。下拉列表将显示 Athena 中存在的数据库,这将进一步显示该数据库中的表。否则,您可以单击“使用自定义 SQL”在 Athena 表上运行查询。

选择

完成后,您可以单击“编辑/预览数据”“可视化”来编辑数据或根据您的要求直接可视化数据。

完成数据集创建

删除数据源

当您删除任何 Quicksight 仪表板中正在使用的数据源时,可能会导致关联的数据集不可用。当您查询基于 SQL 的数据源时,通常会发生这种情况。

当您创建基于S3、Salesforce 或 SPICE 的数据集时,它不会影响您使用任何数据集的能力,因为数据存储在 SPICE 中;但是在这种情况下刷新选项不可用。

要删除数据源,请选择数据源。导航到创建数据集页面上的“从现有数据源”选项卡。

删除数据源

在删除之前,您还可以确认预计的表大小和数据源的其他详细信息。

数据源详细信息

AWS Quicksight - 数据源限制

当您在 Quicksight 工具中使用不同的数据源时,根据数据源存在某些适用的限制。

文件

您最多可以使用清单文件中指定的 25GB 总大小。此限制取决于导入到 SPICE 后的文件大小。

清单文件中支持的文件数量为 1000 个,并且每个文件中的列数也有一些限制。

表和查询

当查询大表时,建议使用Where或Having条件来减少导入到SPICE的数据数量。导入 SPICE 的查询结果不应超过 25 GB。

将数据导入 SPICE 时,您可以取消选择某些列。

如果您的数据源包含 Quicksight 不支持的数据类型,AWS Quicksight 会跳过这些值。

人员ID 销售日期 数量
001 2017年10月14日 12.43
002 2017 年 5 月 3 日 25:00
003 未知 18.17
004 2019年3月8日 86.02

根据上述值,Quicksight 在将这些数据导入数据集中时将删除无日期值行。Quicksight 支持以下数据类型 -

数据库来源 数字数据类型 字符串数据类型 日期时间数据类型 布尔数据类型
亚马逊雅典娜,急板
  • 大整数
  • 小数
  • 双倍的
  • 整数
  • 真实的
  • 小整数
  • 小整数
  • 字符
  • varchar
  • 日期
  • 时间戳
  • 布尔值
Amazon Aurora、MariaDB 和 MySQL
  • 大整数
  • 小数
  • 双倍的
  • 整数
  • 整数
  • 中型整数
  • 数字
  • 小整数
  • 小整数
  • 字符
  • 枚举
  • 文本
  • varchar
  • 日期
  • 约会时间
  • 时间戳
PostgreSQL
  • 大整数
  • 小数
  • 双倍的
  • 整数
  • 数字
  • 精确
  • 真实的
  • 小整数
  • 字符
  • 特点
  • 文本
  • varchar
  • 不同的性格
  • 日期
  • 时间戳
  • 布尔值
阿帕奇火花
  • 大整数
  • 小数
  • 双倍的
  • 整数
  • 真实的
  • 小整数
  • 小整数
  • varchar
  • 日期
  • 时间戳
  • 布尔值
Snowflake
  • 大整数
  • 字节型
  • 小数
  • 双倍的
  • 双精度
  • 漂浮
  • 浮动4
  • 浮点数8
  • 整数
  • 整数
  • 数字
  • 数字
  • 真实的
  • 小整数
  • 小整数
  • 字符
  • 特点
  • 细绳
  • 文本
  • varchar
  • 日期
  • 约会时间
  • 时间
  • 时间戳
  • 时间戳_*
  • 布尔值
微软SQL服务器
  • 大整数
  • 少量
  • 小数
  • 整数
  • 数字
  • 真实的
  • 小整数
  • 小钱
  • 小整数
  • 字符
  • 恩查尔
  • nvarchar
  • 文本
  • varchar
  • 日期
  • 约会时间
  • 日期时间2
  • 日期时间偏移量
  • 小日期时间
  • 少量

AWS Quicksight - 编辑数据集

当您创建要在 Quicksight 中使用的新数据集时,将显示以下消息。您可以根据需要预览或编辑数据。您可以更改某些字段的类型、重命名标题或根据输入字段添加一些计算字段。

编辑数据库

单击编辑/预览数据后,您将能够看到输入数据集上的标题和字段。这是一个示例数据集 -

节省

还可以选择添加计算字段。您可以在输入字段上使用内置函数来创建新字段。有很多选项,例如连接多个字段、将单个字段解串为多个字段、日期之间的时间差等。完整列表如下所示 -

添加计算字段

添加或修改字段后,只需单击“保存并可视化”或单击顶部的“保存”即可。“保存”按钮将使您保留在现有屏幕上,而“保存并可视化”将带您进入视觉创建屏幕。

数据源

要取消更改,请单击顶部的“取消”按钮。

AWS Quicksight - 创建新分析

分析是一种或多种视觉效果的组合。视觉效果是以图形、图表或表格格式表示数据。有多种格式可用于创建任何视觉效果。这包括饼图、水平条形图、垂直条形图和数据透视表。

根据业务需求修改输入数据集后,双击数据集并单击可视化以开始创建新的分析。它将向您显示以下屏幕或工作区。

创建新分析

选择字段后,Quicksight 会根据该字段自动选择视觉效果类型。如果要更改视觉类型,可以选择其中一种视觉类型。

例如,我们首先选择视觉类型下的水平栏。首先,将任意一个字段拖动到中心的视觉对象内。在顶部,您将看到“字段井”,其中包含视觉和相应轴中使用的字段。您可以单击用户名下方最后一个的向下箭头。

视觉类型

这将为您提供更广阔的视野。我在 Y 轴上选择了性别,在组/颜色下选择了工作类别。您可以从下拉列表中修改字段。在值下,您可以添加任何数字字段并在该字段上使用聚合函数。默认情况下,视觉效果将显示行数。

行数

人员概况分析

视觉效果如下 -

视觉外观

有一些选项可以更改视觉效果的标题/标题以及其他格式选项的数量。单击最右侧的下拉菜单。选项将扩大。选择“视觉格式”。您将能够在“视觉格式”下的左侧选项卡中看到各种选项。

落下

X 轴/Y 轴- 如果您想查看相应轴上的标签或字段名称,则可以选择此选项。它还允许您重命名这些标签。

组/颜色- 这提供了更改视觉效果中默认颜色的选项。

图例- 这提供了更改标题和标题在视觉效果中的位置的选项。您还可以通过单击标题来重命名它。

数据标签- 这提供了显示每个条的精确值以及需要显示值的位置的选项。

下面的屏幕显示了所有功能都打开时的视觉效果 -

五点见解

AWS Quicksight - 添加视觉效果

要添加新的视觉效果,请单击顶部的“添加”标志。另一个矩形空间将添加到分析中。您可以选择不同的视觉对象类型和字段来创建另一个视觉对象。

添加标志

当您单击“添加”按钮时,您可以选择将以下内容添加到现有分析中 -

  • 添加视觉效果
  • 增加洞察力
  • 添加标题
  • 添加描述
  • 添加计算字段
  • 添加参数
X轴四瞄准具

要格式化视觉效果,您还可以使用图表右上角的下拉箭头按钮。以下选项可用 -

  • 最大化
  • 格式化视觉
  • 隐藏图例
  • 导出为 CSV
  • 隐藏“其他”类别
  • 网址操作
  • 删除
记录数

AWS Quicksight - 使用过滤器进行视觉效果

Quicksight 允许您向正在创建的视觉效果添加过滤器。您可以选择仅将过滤器应用于任何分析下的单个视觉对象或所有视觉对象。要添加过滤器,请单击左侧选项卡上的“过滤器”图标。如果有的话,它将显示现有的过滤器,或者可以根据要求创建过滤器。在下面的示例中,我们没有任何现有的过滤器,因此它提供了“创建一个”选项

应用过滤器

单击“创建一个”后,您可以创建过滤器。这允许您选择是否要仅向一个或所有视觉效果添加过滤器。它还允许您选择要应用过滤器的字段。

创建过滤器

在上面的示例中,我们在输入数据集的“出生日期”字段中添加了一个过滤器并指定了一个日期。现在,视觉效果包含不同工作级别和工作类别下员工的平均任期,但仅包括出生日期在 1980-01-01 之后的员工。

AWS Quicksight - 见解

亚马逊利用其机器学习功能来分析您的数据并提供见解。这些见解向您显示数据趋势,帮助预测业务指标并确定关键驱动因素。它可以节省您手动分析和创建它们的大量时间。借助见解,您可以轻松了解各个要点,帮助您确定和做出最佳决策,并实现您的目标。

单击“见解”后,左侧面板将在“建议的见解”下显示由 Quicksight 自动计算和创建的见解

建议的见解

如果将鼠标悬停在每个见解标题的右侧,您将看到一个“+”号和 3 个点。“+”号用于将见解添加到您的分析中,而 3 个点则为您提供将过滤器添加到现有见解的选项。要添加见解,请单击顶部的“添加”标志,然后单击“添加见解”。

您可以进一步选择要执行的计算类型并将该见解添加到您的分析中。“预测”和异常检测由机器学习提供支持,可在 Quicksight 的“企业版”中使用

计算

AWS Quicksight - 创建故事

故事是一种选项,您可以捕获一系列屏幕并逐个播放它们。例如,如果您想查看具有不同过滤器选项的视觉效果,您可以使用story。要创建故事,请单击最左侧面板上的故事。默认情况下,有一个名为 Storyboard 1 的故事。现在使用顶部最右侧面板上的捕获图标捕获屏幕。屏幕的每次捕获也称为场景。您可以捕获多个场景,这些场景将添加到“故事板 1”下。一旦您的主数据源刷新,故事中的数据就会自动刷新。

故事板1

AWS Quicksight - 使用参数

参数是为传递用户控制权以修改仪表板而创建的变量。可以使用输入数据集的字段或为分析创建的过滤器来创建参数。例如,您使用过滤器创建参数,仪表板用户可以直接应用过滤器,而无需创建任何过滤器。

创建新参数

创建参数

在本节中,我们将了解如何创建参数 -

步骤 1 - 输入参数名称。让我们以性别为参数。

步骤 2 - 选择数据类型。默认情况下,它是字符串。

步骤 3 - 选择如下可能的选项。

多重价值

将添加该参数。您可以选择向仪表板添加控件。

AWS Quicksight - 共享分析

分析准备就绪后,可以通过电子邮件或其他 Quicksight 用户与用户共享。右上角菜单中有一个“共享”图标

分享图标

股票分析

默认情况下,只有作者或管理员才能访问分析。您需要向用户提供访问权限才能查看分析。单击“管理分析访问”后,它将显示所有注册用户。您可以选择要扩展访问权限的用户,然后单击“邀请用户”。用户将收到电子邮件通知,一旦接受通知,他们将能够通过电子邮件获得分析。

邀请用户

AWS Quicksight - 仪表板

仪表板显示分析的屏幕截图。与 Analysis 不同,仪表板仅以屏幕截图的形式读取。人们可以只使用在视觉效果中创建的参数和过滤器来创建新的视觉效果,但具有相同的图表

公共仪表板

要生成您创建的分析的仪表板,只需单击共享图标下的发布仪表板即可。为仪表板提供任意名称,然后单击“发布仪表板”图标。

公共仪表板图标

您可以选择与该帐户中的所有用户或仅与特定用户共享仪表板。

共享仪表板

现在,仪表板在主屏幕上的“所有仪表板”选项卡下可见。

管理数据

这是附有过滤器的示例仪表板。您可以看到,除了应用创建视觉效果时添加的过滤器之外,没有任何选项可以编辑仪表板。

带过滤器的仪表板

AWS Quicksight - 管理 Quicksight

Manage Quicksight is to manage your current account. You can add users with respective roles, manage your subscription, and check SPICE capacity or whitelist domains for embedding. You would require admin access to perform any activity on this page.

Under the user profile, you will find the option to manage Quicksight.

管理 Quicksight

On clicking Manage subscription, below screen will appear. It will show the users in this account and their respective roles.

管理用户

You also have a search option; in case you want to particularly search for an existing user in Quicksight.

You can invite users with valid email address or you can add users with a valid IAM account. The users with IAM role can then login to their Quicksight account and view the dashboard to which they have access.

有效的 IAM 账户

Your Subscriptions will show the edition of Quicksight you are subscribed to.

订阅

SPICE capacity shows the capacity of their calculation engine being opted for and the amount used so far. There is an option of purchasing more capacity if required.

香料容量

Account settings shows details of Quicksight account − notification email address, AWS resource permissions to Quicksight, or you also have an option to close the account.

帐号设定

When you close Quicksight account, it deletes all the data related to below objects −

  • Data Sources
  • Data Sets
  • Analyses
  • Published Dashboards

Manage VPC connection allows you to manage and add VPC connection to Quicksight. To add a new VPC connection, you need to provide the following details −

管理 VPC 连接

添加VPC连接

Domains and embedding allows you to whitelist the domain on which you want to embed Quicksight dashboards for the users. It only supports https:// domain to whitelist in Quicksight −

https://example.com

You can also include any subdomains if you want to use by selecting the checkbox shown below. When you click on Add button, it adds the domain to the list of domain names allowed in Quicksight for embedding.

领域

To edit an allowed domain, you need to click on Edit button located beside the domain name. You can make changes and click on Update.

编辑允许的域

AWS Quicksight - Edition Type

AWS Quicksight supports different editions which vary as per user management, permissions and features supported − Standard and Enterprise. Both of these editions support all the Quicksight features for creating and sharing data visualizations.

Enterprise edition offers support for Active Directory integration to AWS directory. There are various other features which are supported in Enterprise edition as given below −

Features Supported Standard Edition Enterprise Edition
# of Free Authors 1 1
# of Free Trial Authors (60Days) 4 4
Included SPICE Capacity 10 GB/User 10 GB/User
Readers N/A $0.30/session
Additional SPICE Capacity $0.25/GB/mo. $0.38/GB/mo.
Connect to spreadsheets, databases, data lakes, and business apps
Easily analyze data with AutoGraph
Fast, scalable visualizations
Publish dashboards for interactive data access
Single-Sign-On with SAML or OpenID Connect
Web and mobile access
Drill-down to detail and customize filters
使用 AWS CloudTrail 启用审核日志
读者角色
安全访问私有 VPC 和本地部署中的数据
行级安全性
每小时刷新 SPICE 数据
静态数据加密
连接到活动目录
使用 Active Directory 组

您可以使用管理 Quicksight选项检查 AWS Quicksight 的订阅类型。

企业版

在企业版中,AWS Quicksight 允许您使用以下任何方式管理用户 -

  • 使用 Microsoft Active Directory:在企业版中,您可以添加/删除 Microsoft Active Directory 组来创建和停用用户帐户。您可以直接访问目录组或使用 AD 连接器访问目录组。

  • 联合登录。

  • 通过电子邮件邀请用户。

要在 Quicksight 中管理 AD 用户/组,您必须导航到管理 Quicksight → 管理用户/管理组

您还可以通过单击下拉列表来更改现有用户的角色 -

  • 行政
  • 作者
  • 读者

AWS Quicksight 管理员还可以使用管理用户选项重置现有用户的密码,如下所示 -

重设密码

您可以使用管理帐户选项从 AQS Quicksight 标准版更新到企业版。要执行升级,用户应具有 AWS Quicksight 管理员权限。

单击右上角的个人资料图标 → 立即升级。

现在升级

单击升级后,将出现以下屏幕。要完成升级,请单击升级按钮。

升级企业版

注意- 一旦您将订阅从标准版更改为企业版,您就无法将其回滚。

AWS Quicksight - 管理 IAM 策略

要管理 Quicksight 账户的 IAM 策略,您可以使用根用户或 IAM 凭证。建议使用 IAM 凭证而不是 root 用户来管理资源访问和策略。

注册和使用 Amazon Quicksight 需要以下策略 -

标准版

  • ds:授权应用程序
  • ds:检查别名
  • ds:创建别名
  • ds:创建身份池目录
  • ds:删除目录
  • ds:描述目录
  • ds:描述信托
  • ds:取消授权应用程序
  • iam:创建策略
  • iam:创建角色
  • iam:列出帐户别名
  • 快速洞察:创建用户
  • 快速洞察:创建管理员
  • 快视:订阅

企业版

除了上述政策外,企业版还需要以下权限 -

  • Quicksight:获取组映射
  • Quicksight:搜索目录组
  • fastsight:设置组映射

您还可以允许用户在 Quicksight 中管理 AWS 资源的权限。应在两个版本中分配以下 IAM 策略 -

  • iam:附加角色策略
  • iam:创建策略
  • iam:创建策略版本
  • iam:创建角色
  • iam:删除策略版本
  • iam:删除角色
  • iam:分离角色策略
  • iam:获取策略
  • iam:获取策略版本
  • iam:获取角色
  • iam:列出附加角色策略
  • iam:ListEntitiesForPolicy
  • iam:列出策略版本
  • iam:列表角色
  • s3:列出所有我的桶

要防止 AWS 管理员取消订阅 Quicksight,您可以拒绝所有用户“quicksight:Unsubscribe”

用于仪表板嵌入的 IAM 策略

要将 AWS Quciksight 仪表板 URL 嵌入网页中,您需要将以下 IAM 策略分配给用户 -

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Action": "quicksight:RegisterUser",
         "Resource": "*",
         "Effect": "Allow"
      },
      {
         "Action": "quicksight:GetDashboardEmbedUrl", 
         "Resource": "arn:aws:quicksight:us-east-1: 
         868211930999:dashboard/ 
         f2cb6cf2-477c-45f9-a1b3-639239eb95d8 ",
         "Effect": "Allow"
      }
   ]
}

您可以使用 Quicksight 中的 IAM 策略模拟器来管理和测试这些角色和策略。以下是访问 IAM 策略模拟器的链接 -

https://policysim.aws.amazon.com/home/index.jsp?#

IAM 策略模拟器

AWS Quicksight - 嵌入仪表板

您还可以将 Quicksight 仪表板嵌入到外部应用程序/网页中,或者可以使用 AWS Cognito 服务控制用户访问。要执行用户控制,您可以在 Cognito 中创建用户池和身份池,并将嵌入仪表板策略分配给身份池。

AWS Cognito 是一项 IAM 服务,允许管理员创建和管理临时用户以提供对应用程序的访问权限。通过使用身份池,您可以管理这些用户池的权限。

让我们看看如何生成安全的仪表板 URL 并执行用户控制 -

步骤 1 - 创建用户池和用户

在 AWS Cognito 中创建用户池并创建用户。转至Amazon Cognito → 管理用户池 → 创建用户池

亚马逊认知

第 2 步 - 创建身份池

创建用户池后,下一步是创建身份池。转到https://console.aws.amazon.com/cognito/home?region=us-east-1

单击“创建新身份池”。

身份池

输入身份池的适当名称。转到身份验证提供程序部分并选择“Cognito”选项。

创建池

第 3 步 - 创建 Cognito 角色

输入用户池 ID(您的用户池 ID)和应用程序客户端 ID(转到用户池中的应用程序客户端并复制 ID)。

接下来是单击“创建池”,然后单击“允许”在 IAM 中创建身份池的角色。它将创建 2 个 Cognito 角色。

第 4 步 - 分配自定义策略

下一步是将自定义策略分配给在上述步骤中创建的身份角色 -

{
   "Version": "2012-10-17",
   "Statement": [
      {
         "Action": "quicksight:RegisterUser",
         "Resource": "*",
         "Effect": "Allow"
      },
      {
         "Action": "quicksight:GetDashboardEmbedUrl",
         "Resource": "*",
         "Effect": "Allow"
      },
      {
         "Action": "sts:AssumeRole",
         "Resource": "*",
         "Effect": "Allow"
      }
   ]
}
政策

您可以在“quicksight:GetDashboardEmbedUrl”下传递仪表板 Amazon 资源名称 (ARN),而不是“*”,以限制用户只能访问一个仪表板。

第 5 步 - 登录 Cognito 应用程序

下一步是使用用户池中的用户凭据登录 Cognito 应用程序。当用户登录应用程序时,Cognito 会生成 3 个令牌 -

  • IDToken
  • 访问令牌
  • 刷新令牌

要创建临时 IAM 用户,凭据如下所示 -

AWS.config.region = 'us-east-1';
AWS.config.credentials = new AWS.CognitoIdentityCredentials({
   IdentityPoolId:"Identity pool ID", Logins: {
      'cognito-idp.us-east-1.amazonaws.com/UserPoolID': AccessToken
   }
});

为了生成临时 IAM 凭证,您需要使用以下参数调用 sts.assume 角色方法 -

var params = {
   RoleArn: "Cognito Identity role arn", RoleSessionName: "Session name"
};
sts.assumeRole(params, function (err, data) {
   if (err) console.log( err, err.stack); 
   // an error occurred
   else {
      console.log(data);
   })
}

步骤 6 - 在 Quicksight 中注册用户

下一步是使用“quicksight.registerUser”在 Quicksight 中注册用户,获取步骤 3 中生成的凭据,并使用以下参数 -

var params = {
   AwsAccountId: “account id”,
   Email: 'email',
   IdentityType: 'IAM' ,
   Namespace: 'default',
   UserRole: ADMIN | AUTHOR | READER | RESTRICTED_AUTHOR | RESTRICTED_READER,
   IamArn: 'Cognito Identity role arn',
   SessionName: 'session name given in the assume role creation',
};
quicksight.registerUser(params, function (err, data1) {
   if (err) console.log("err register user”); 
   // an error occurred
   else {
      // console.log("Register User1”);
   }
})

第 7 步 - 更新 AWS 配置文件

接下来是更新步骤 5 中生成的用户的 AWS 配置。

AWS.config.update({
   accessKeyId: AccessToken,
   secretAccessKey: SecretAccessKey ,
   sessionToken: SessionToken,
   "region": Region
});

第 8 步 - 为 Quicksight 仪表板生成嵌入 URL

使用步骤 5 中创建的凭据,使用以下参数调用 Quicksight.getDashboardEmbedUrl 以生成 URL。

var params = {
   AwsAccountId: "Enter AWS account ID",
   DashboardId: "Enter dashboard Id",
   IdentityType: "IAM",
   ResetDisabled: true,
   SessionLifetimeInMinutes: between 15 to 600 minutes,
   UndoRedoDisabled: True | False
}
quicksight.getDashboardEmbedUrl(params,function (err, data) {
   if (!err) {
      console.log(data);
   } else {
      console.log(err);
   }
});

您必须使用上面生成的 URL 从应用程序调用“QuickSightEmbedding.embedDashboard”。

与 Amazon Quicksight 一样,嵌入式仪表板也支持以下功能 -

  • 向下钻取选项
  • 自定义操作(链接到新选项卡)
  • 屏幕过滤器
  • 下载到 CSV
  • 按视觉效果排序
  • 选择加入电子邮件报告
  • 将仪表板重置为默认选项
  • 在仪表板上撤消/重做操作

AWS Quicksight - AWS 开发工具包

您可以使用 AWS Quicksight SDK 来管理以下内容 -

  • 用户和组管理
  • 嵌入仪表板

以下显示了用于显示嵌入式仪表板的示例 HTML 代码 -

<!DOCTYPE html>
<html>
   <head>
      <title>Sample Embed</title>
      <script type="text/javascript" src="https://unpkg.com/amazon-quicksight-embedding-sdk@1.0.1/dist/quicksight-embedding-js-sdk.min.js"></script>
      <script type="text/javascript">
         function embedDashboard() {
            var containerDiv = document.getElementById("dashboardContainer");
            var params = {
               url: "https://us-east-1.quicksight.aws.amazon.com/sn/dashboards/xxx-x-x-xx-x-x-x-x-x-x-x-xx-xx-x-xx",
               container: containerDiv,
               parameters: {
                  country: 'United States'
               },
               height: "600px",
               width: "800px"
            };
            var dashboard = QuickSightEmbedding.embedDashboard(params);
            dashboard.on('error', function() {});
            dashboard.on('load', function() {});
            dashboard.setParameters({country: 'Canada'});
         }
      </script>
   </head>
<html>

要使用 AWS SDK,您应该熟悉以下内容 -

  • JSON

  • 网页服务

  • HTTP 请求

  • 一种或多种编程语言,例如 JavaScript、Java、Python 或 C#。

AWS Quicksight - 开发人员的责任

以下工作职责由 AWS Quicksight 开发人员执行 -

  • 人员应具有分析、报告和商业智能工具方面的相关工作经验。

  • 了解客户需求并在 AWS 中设计解决方案以设置 ETL 和商业智能环境。

  • 了解不同的 AWS 服务及其使用和配置。

  • 精通在具有大规模、不同数据集的业务环境中使用 SQL、ETL、数据仓库解决方案和数据库。

  • 复杂的定量和数据分析技能。

  • 了解 AWS IAM 策略、角色和 AWS 服务的管理员。