AWS QuickSight 快速指南



AWS QuickSight - 概述

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

借助最新的机器学习 (ML) 洞察,QuickSight 使用其内置算法查找历史数据中的任何异常或峰值。这有助于根据这些洞察提前做好业务需求的准备。这是一个 QuickSight 入门快速指南。

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

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

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

Aws Trial Account

AWS QuickSight - 登陆页面

要访问 AWS QuickSight 工具,您可以直接在 Web 浏览器中输入此 URL,或导航到 **AWS 控制台 → 服务**

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

打开此 URL 后,在右上角点击 **“登录控制台”**。

Sign In Console

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

  • 账户 ID 或别名
  • IAM 用户名
  • 密码
Login

登录 QuickSight 后,您将看到以下屏幕:

Quicksight

如上图所示:

**区域 A** - “新建分析”图标用于创建新的分析。单击此图标后,系统会要求您选择任何数据集。您也可以创建新的数据集,如下所示:

New Data Set

**区域 B** - “管理数据”图标将显示已输入 QuickSight 的所有数据集。此选项可用于管理数据集,无需创建任何分析。

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

Data Sets

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

您可以点击每个选项卡查看它们,如下所示:

所有分析

在这里,您可以看到 AWS QuickSight 帐户中的所有现有分析,包括报表和仪表板。

All Analysis

所有仪表板

此选项仅显示 AWS QuickSight 帐户中现有的仪表板。

All Dashboards

教程视频

Tutorial Vedios

打开 QuickSight 控制台的另一种方法是使用以下 URL 导航到 AWS 控制台:

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

登录后,您需要导航到“服务”选项卡并在搜索栏中搜索 QuickSight。如果您最近在 AWS 帐户中使用了 QuickSight 服务,则它将显示在“历史记录”选项卡下。

Services

AWS QuickSight - 使用数据源

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

以下是包含所有内部和外部数据源列表的数据源:

Using Data Source

让我们来看一下如何将 QuickSight 与一些最常用的数据源连接:

上传系统文件

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

使用 S3 格式的文件

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

Data Source Name

清单文件是一个 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

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

New SQL Data Source

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

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

QuickSight 支持以下基于 RDBMS 的数据源:

  • Amazon Athena
  • Amazon Aurora
  • Amazon Redshift
  • Amazon Redshift Spectrum
  • Amazon S3
  • Amazon S3 Analytics
  • 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

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

选择 Athena 时,将显示以下屏幕。您可以输入要赋予 QuickSight 数据源的任何数据源名称。单击 **“验证连接”**。验证连接后,单击 **“创建新数据源”** 按钮。

 Athena Data Source

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

Select

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

Finish Data Set Creation

删除数据源

删除 QuickSight 仪表板中正在使用的任何数据源时,它可能会使关联的数据集无法使用。这通常发生在查询基于 SQL 的数据源时。

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

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

Delete Data Source

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

Data Source Details

AWS QuickSight - 数据源限制

当您在 QuickSight 工具中使用不同的数据源时,会根据数据源应用某些限制。

文件

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

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

表和查询

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

您可以导入 SPICE 时取消选择某些列。

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

人员 ID 销售日期 金额
001 10/14/2017 12.43
002 5/3/2017 25.00
003 未知 18.17
004 3/8/2019 86.02

对于以上值,QuickSight 将在将此数据导入数据集时删除无日期值行。QuickSight 支持以下数据类型:

数据库来源 数字数据类型 字符串数据类型 日期时间数据类型 布尔数据类型
Amazon Athena、Presto
  • bigint
  • decimal
  • double
  • integer
  • real
  • smallint
  • tinyint
  • char
  • varchar
  • date
  • timestamp
  • Boolean
Amazon Aurora、MariaDB 和 MySQL
  • bigint
  • decimal
  • double
  • int
  • integer
  • mediumint
  • numeric
  • smallint
  • tinyint
  • char
  • enum
  • set
  • text
  • varchar
  • date
  • datetime
  • timestamp
  • year
PostgreSQL
  • bigint
  • decimal
  • double
  • integer
  • numeric
  • precision
  • real
  • smallint
  • char
  • character
  • text
  • varchar
  • varying character
  • date
  • timestamp
  • Boolean
Apache Spark
  • bigint
  • decimal
  • double
  • integer
  • real
  • smallint
  • tinyint
  • varchar
  • date
  • timestamp
  • Boolean
Snowflake
  • bigint
  • byteint
  • decimal
  • double
  • doubleprecision
  • float
  • float4
  • float8
  • int
  • integer
  • number
  • numeric
  • real
  • smallint
  • tinyint
  • char
  • character
  • string
  • text
  • varchar
  • date
  • datetime
  • time
  • timestamp
  • timestamp_*
  • Boolean
Microsoft SQL Server
  • bigint
  • bit
  • decimal
  • int
  • money
  • numeric
  • real
  • smallint
  • smallmoney
  • tinyint
  • char
  • nchar
  • nvarchar
  • text
  • varchar
  • date
  • datetime
  • datetime2
  • datetimeoffset
  • smalldatetime
  • bit

AWS QuickSight - 编辑数据集

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

Editing Database

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

Save

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

Add Calculated Filed

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

Data Source

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

AWS QuickSight - 创建新的分析

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

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

Creating New Analysis

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

例如,我们首先选择“可视化类型”下的“水平条形图”。首先,将任意一个字段拖放到中间的可视化区域内。在顶部,您将看到“字段井”,其中包含可视化中使用的字段和相应的轴。您可以点击用户名下方最后一个的下拉箭头。

Visual Types

这将为您提供一个展开视图。我已经选择了“性别”作为Y轴,“职位类别”作为“分组/颜色”。您可以从下拉菜单中修改字段。在“值”下,您可以添加任何数值字段,并对该字段使用聚合函数。默认情况下,可视化将显示行数。

Count of Rows

People Overview Analysis

可视化效果如下所示:

Visual Appear

您可以更改可视化的标题以及许多其他格式选项。点击最右侧的下拉菜单。选项将展开。选择“格式化可视化”。您将在左侧选项卡的“格式化可视化”下看到各种选项。

Dropdown

X轴/Y轴 - 这提供了是否要在相应轴上显示标签或字段名称的选项。它还允许您重命名这些标签。

分组/颜色 - 这提供了更改可视化中默认颜色的选项。

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

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

下图显示了所有选项都已开启的可视化效果:

Five Insights

AWS QuickSight - 添加可视化

要添加新的可视化,请点击顶部“添加”符号。分析中将添加另一个矩形空间。您可以选择不同的可视化类型和字段来创建另一个可视化。

Add Sign

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

  • 添加可视化
  • 添加洞察
  • 添加标题
  • 添加描述
  • 添加计算字段
  • 添加参数
X axis Four Sights

要格式化可视化,您也可以使用图表右上角的下拉箭头按钮。以下选项可用:

  • 最大化
  • 格式化可视化
  • 隐藏图例
  • 导出到CSV
  • 隐藏“其他”类别
  • URL操作
  • 删除
Count Of Records

AWS QuickSight - 使用筛选器进行可视化

QuickSight允许您向创建的可视化添加筛选器。您可以选择将筛选器应用于任何分析下的单个可视化或所有可视化。要添加筛选器,请点击左侧选项卡上的“筛选器”图标。如果存在任何筛选器,它将显示现有筛选器,或者可以根据需要创建筛选器。在下面的示例中,我们没有任何现有筛选器,因此它提供了“创建一个”的选项。

Applied Filters

点击“创建一个”,您可以创建筛选器。这允许您选择是想将筛选器添加到一个可视化还是所有可视化。它还允许您选择要应用筛选器的字段。

Create Filter

在上面的示例中,我们在输入数据集的“出生日期”字段上添加了一个筛选器并指定了一个日期。现在,可视化包含不同职位级别和职位类别的员工的平均任职时间,但仅包括出生日期在1980-01-01之后的员工。

AWS QuickSight - 洞察

Amazon 使用其机器学习功能来分析您的数据并提供洞察。这些洞察向您展示数据中的趋势,帮助预测业务指标并识别关键驱动因素。它节省了您手动分析和创建它们的大量时间。借助洞察,您可以轻松理解各种要点,这些要点有助于您做出最佳决策并实现目标。

点击“洞察”后,左侧面板将显示Quicksight在“建议洞察”下自动计算和创建的洞察。

Suggested Insights

如果您将鼠标悬停在每个洞察标题的右侧,您将看到一个“+”号和三个点。“+”号用于将洞察添加到您的分析中,而三个点则允许您向现有洞察中添加筛选器。要添加洞察,请点击顶部的“添加”符号,然后点击“添加洞察”。

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

Computation

AWS QuickSight - 创建故事

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

Story Board1

AWS QuickSight - 使用参数

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

Create New Parameter

创建参数

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

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

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

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

Multiple Values

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

AWS QuickSight - 分享分析

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

Share Icon

Share Analysis

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

Invite Users

AWS QuickSight - 仪表板

仪表板显示分析的屏幕截图。与分析不同,仪表板仅作为屏幕截图读取。人们只能使用可视化中创建的参数和筛选器来创建新的可视化,但使用相同的图表。

Public Dashboards

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

Public Dashboard Icon

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

Share Dashboard

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

Manage Data

这是一个带有附加筛选器的示例仪表板。您可以看到,除了应用创建可视化时添加的筛选器之外,没有其他编辑仪表板的选项。

Dashboard With Filter

AWS QuickSight - 管理 QuickSight

管理QuickSight用于管理您的当前帐户。您可以添加具有相应角色的用户,管理您的订阅,并检查SPICE容量或列入白名单的嵌入域。您需要管理员访问权限才能在此页面上执行任何活动。

在用户资料下,您将找到管理QuickSight的选项。

Manage Quicksight

点击“管理订阅”后,将出现以下屏幕。它将显示此帐户中的用户及其各自的角色。

Manage Users

您还有一个搜索选项;如果您想特别搜索QuickSight中的现有用户。

您可以使用有效的电子邮件地址邀请用户,也可以使用有效的IAM帐户添加用户。具有IAM角色的用户随后可以登录到他们的QuickSight帐户并查看他们有权访问的仪表板。

Valid IAM Account

您的订阅将显示您订阅的QuickSight版本。

Subscriptions

SPICE容量显示其计算引擎的容量以及迄今为止使用的数量。如果需要,可以选择购买更多容量。

Spice Capacity

帐户设置显示QuickSight帐户的详细信息 - 通知电子邮件地址、AWS对QuickSight的资源权限,或者您也可以选择关闭帐户。

Account Settings

关闭QuickSight帐户时,它会删除与以下对象相关的所有数据:

  • 数据源
  • 数据集
  • 分析
  • 已发布的仪表板

管理VPC连接允许您管理和添加与QuickSight的VPC连接。要添加新的VPC连接,您需要提供以下详细信息:

Manage VPC Connections

Adding VPC Connection

域和嵌入允许您列出要为用户嵌入QuickSight仪表板的域。它仅支持https://域在QuickSight中列入白名单:

https://example.com

如果您想通过选择下面显示的复选框来使用任何子域,您也可以包含它们。当您点击“添加”按钮时,它会将域添加到QuickSight中允许用于嵌入的域名列表中。

Domain

要编辑允许的域,您需要点击位于域名旁边的“编辑”按钮。您可以进行更改并点击“更新”。

Edit Allowed Domain

AWS QuickSight - 版本类型

AWS QuickSight支持不同的版本,这些版本根据用户管理、权限和支持的功能而有所不同 - 标准版企业版。这两个版本都支持QuickSight创建和共享数据可视化的所有功能。

企业版提供对AWS目录的活动目录集成的支持。企业版支持各种其他功能,如下所示:

支持的功能 标准版 企业版
免费作者数量 1 1
免费试用作者数量 (60天) 4 4
包含的SPICE容量 10 GB/用户 10 GB/用户
阅读者 N/A 0.30美元/会话
额外的SPICE容量 0.25美元/GB/月 0.38美元/GB/月
连接到电子表格、数据库、数据湖和业务应用程序
使用AutoGraph轻松分析数据
快速、可扩展的可视化
发布仪表板以进行交互式数据访问
使用SAML或OpenID Connect进行单点登录
网络和移动访问
深入了解详细信息并自定义筛选器
使用AWS CloudTrail启用审核日志
阅读者角色
安全地访问私有VPC和本地的数据
行级安全性
SPICE数据的每小时刷新
安全的数据加密存储
连接到活动目录
使用活动目录组

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

Edition Enterprise

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

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

  • 联合登录。

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

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

您也可以通过点击下拉列表更改现有用户的角色:

  • 管理员
  • 作者
  • 读者

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

Reset Password

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

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

Upgrade Now

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

Upgrade Enterprise Edition

注意 − 将订阅从标准版更改为企业版后,无法回滚。

AWS QuickSight - 管理 IAM 策略

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

注册和使用 Amazon QuickSight 需要以下策略:

标准版

  • ds:AuthorizeApplication
  • ds:CheckAlias
  • ds:CreateAlias
  • ds:CreateIdentityPoolDirectory
  • ds:DeleteDirectory
  • ds:DescribeDirectories
  • ds:DescribeTrusts
  • ds:UnauthorizeApplication
  • iam:CreatePolicy
  • iam:CreateRole
  • iam:ListAccountAliases
  • quicksight:CreateUser
  • quicksight:CreateAdmin
  • quicksight:Subscribe

企业版

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

  • quicksight:GetGroupMapping
  • quicksight:SearchDirectoryGroups
  • quicksight:SetGroupMapping

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

  • iam:AttachRolePolicy
  • iam:CreatePolicy
  • iam:CreatePolicyVersion
  • iam:CreateRole
  • iam:DeletePolicyVersion
  • iam:DeleteRole
  • iam:DetachRolePolicy
  • iam:GetPolicy
  • iam:GetPolicyVersion
  • iam:GetRole
  • iam:ListAttachedRolePolicies
  • iam:ListEntitiesForPolicy
  • iam:ListPolicyVersions
  • iam:ListRoles
  • s3:ListAllMyBuckets

要阻止 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 Policy Simulator

AWS QuickSight - 嵌入仪表板

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

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

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

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

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

Amazon Cognito

步骤 2 - 创建身份池

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

点击“创建新的身份池”。

Identity Pool

输入身份池的相应名称。转到“身份验证提供程序”部分,然后选择“Cognito”选项。

Create Pool

步骤 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"
      }
   ]
}
Policies

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

步骤 5 - 登录到 Cognito 应用程序

下一步是使用用户池中的用户凭证登录到 Cognito 应用程序。当用户登录到应用程序时,Cognito 将生成 3 个令牌:

  • IDToken
  • AccessToken
  • Refresh Token

要创建临时 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 role 方法:

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 中注册用户

下一步是使用步骤 3 中生成的凭据和以下参数使用“quicksight.registerUser”在 QuickSight 中注册用户:

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 SDK

您可以使用 AWS QuickSight SDK 管理以下内容:

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

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

<!DOCTYPE html>
<html>
   <head>
      <title>Sample Embed</title>
      <script type="text/javascript" src="https://unpkg.com/[email protected]/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

  • Web 服务

  • HTTP 请求

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

AWS QuickSight - 开发人员职责

AWS QuickSight 开发人员执行以下工作职责:

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

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

  • 了解不同的 AWS 服务、其用途和配置。

  • 熟练使用 SQL、ETL、数据仓库解决方案和数据库,在具有大型、不同的数据集的业务环境中。

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

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

广告