Aws Quicksight 简明教程

AWS Quicksight - Quick Guide

AWS Quicksight - Overview

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

通过最新的 ML 见解,又名机器学习见解,Quicksight 使用其内置算法找出历史数据中的任何异常或峰值。这样可以帮助根据这些见解提前准备好业务需求。以下是 Quicksight 入门快速指南。

以下是 AWS 的官方产品说明页面-

您还可以通过填写下面提到的信息并单击 Continue 按钮来订阅 AWS 试用帐户。

aws trial account

AWS Quicksight - Landing Page

要访问 AWS Quicksight 工具,您可以直接通过在 Web 浏览器中传递此 URL 或导航至 AWS Console → Services 来直接打开它

打开此 URL 后,在右上角单击 “Sign in to the Console”

sign in console

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

  1. Account ID or alias

  2. IAM User name

  3. Password

login

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

quicksight

如上图所示,

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

new data set

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

Section C − 它显示了您已经连接的各种数据源。您也可以连接到新的数据源或上传文件。

data sets

Section D − 此部分包含用于已创建的分析、已发布的仪表盘和详细说明 Quicksight 的教程视频的图标。

您可以单击每个标签以将其查看如下 −

All analysis

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

all analysis

All dashboards

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

all dashboards

Tutorial videos

tutorial vedios

使用以下 URL 导航到 AWS 控制台是打开 Quicksight 控制台的另一种选择 −

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

services

AWS Quicksight - Using Data Sources

AWS Quicksight 接受来自各种来源的数据。一旦在主页上单击“新数据集”,它就会提供所有可用于的数据源选项。

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

using data source

让我们通过 Quicksight 连接一些最常用的数据源−

Uploading a file from system

它只允许你输入 .csv、.tsv、.clf、.elf.xlsx 和 Json 格式文件。一旦你选择文件,Quicksight 会自动识别文件并显示数据。当你单击 Upload a File 按钮时,需要提供要用于创建数据集的文件位置。

Using a file from S3 format

屏幕将如下显示。在数据源名称下,你可以输入要为所创建数据集显示的名称。此外,可能需要从本地系统上载清单文件或提供清单文件的 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 数据库时,需要以下信息−

  1. DSN name

  2. Type of connection

  3. Database server name

  4. Port

  5. Database name

  6. User name

  7. Password

以下是 Quicksight 中支持的基于 RDBMS 的数据源−

  1. Amazon Athena

  2. Amazon Aurora

  3. Amazon Redshift

  4. Amazon Redshift Spectrum

  5. Amazon S3

  6. Amazon S3 Analytics

  7. Apache Spark 2.0 或更高版本

  8. MariaDB 10.0 or later

  9. Microsoft SQL Server 2012 或更高版本

  10. MySQL 5.1 or later

  11. PostgreSQL 9.3.1 or later

  12. Presto 0.167 or later

  13. Snowflake

  14. Teradata 14.0 or later

Athena

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

当您选择 Athena 时,将出现以下屏幕。您可以输入您希望在 Quicksight 中向您的数据源提供的任何数据源名称。单击 “Validate Connection” 。验证连接后,单击 “Create new source” 按钮

athena data source

现在从下拉列表中选择表名。下拉列表将显示 Athena 中存在的数据库,该数据库将进一步显示该数据库中的表。此外,您还可以单击 “Use custom SQL” 以对 Athena 表运行查询。

select

完成后,您可以单击 “Edit/Preview data”“Visualize” 以编辑数据或根据您的要求直接可视化数据。

finish data set creation

Deleting a data source

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

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

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

delete data source

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

data source details

AWS Quicksight - Data Source Limit

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

File

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

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

Table and Query

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

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

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

Person ID

Sales Date

Amount

001

10/14/2017

12.43

002

5/3/2017

25.00

003

Unknown

18.17

004

3/8/2019

86.02

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

Database Source

Number Data Types

String Data Types

Date time Data Types

Boolean Data Types

Amazon Athena,Presto

bigintdecimaldoubleintegerrealsmallinttinyint

charvarchar

datetimestamp

Boolean

Amazon Aurora, MariaDB,and MySQL

bigintdecimaldoubleintintegermediumintnumericsmallinttinyint

charenumsettextvarchar

datedatetimetimestampyear

PostgreSQL

bigintdecimaldoubleintegernumericprecisionrealsmallint

charcharactertextvarcharvarying character

datetimestamp

Boolean

Apache Spark

bigintdecimaldoubleintegerrealsmallinttinyint

varchar

datetimestamp

Boolean

Snowflake

bigintbyteintdecimaldoubledoubleprecisionfloatfloat4float8intintegernumbernumericrealsmallinttinyint

charcharacterstringtextvarchar

datedatetimetimetimestamptimestamp_*

Boolean

Microsoft SQL Server

bigintbitdecimalintmoneynumericrealsmallintsmallmoneytinyint

charncharnvarchartextvarchar

datedatetimedatetime2datetimeoffsetsmalldatetime

bit

AWS Quicksight - Editing Datasets

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

editing database

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

save

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

add calculated field

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

data source

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

AWS Quicksight - Creating New Analysis

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

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

creating new analysis

选择字段后,Quicksight 会根据该字段自动选择可视化类型。如果您想更改可视化类型,则可以选择一种可视化类型。

例如,我们从在可视化类型下选择“水平条形图”开始。首先,将任意一个字段拖到中心的可视化效果内。顶部,您将看到包含在可视化效果和对应轴中使用的字段的“字段井”。您可以在用户名正下方最后一个位置单击向下箭头。

visual types

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

count of rows
people overview analysis

可视化效果将如下显示 −

visual appear

有选项可以更改可视化效果的标题/标题以及其他格式化选项。单击最右侧的下拉列表。选项将展开。选择“格式化可视化效果”。您将能够在“格式化可视化效果”下看到左侧选项卡中的各种选项。

dropdown

X-Axis/Y-Axis − 如果您想在各自的轴上看到标签或字段名称,这将提供选项。它还允许您重命名这些标签。

Group/Color − 此选项能够更改视觉元素中的默认颜色。

Legend − 此选项能够更改视觉元素中标题的标题和位置。你也可以仅仅通过点击标题来重命名标题。

Data labels − 此选项能够显示每个条形的确切值以及值需要显示的位置。

以下屏幕显示的视觉元素已全部打开−

five insights

AWS Quicksight - Adding Visuals

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

add sign

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

  1. Add Visual

  2. Add Insight

  3. Add Title

  4. Add Description

  5. Add Calculation Field

  6. Add Parameter

xaxis four insights

要设置可视化效果的格式,您也可以使用图表右上角提供的下拉箭头按钮。提供以下选项 −

  1. Maximize

  2. Format visual

  3. Hide legend

  4. Export to CSV

  5. Hide “other” categories

  6. URL actions

  7. Delete

count of records

AWS Quicksight - Using Filters to a Visual

Quicksight 允许您将筛选器添加到正在创建的可视化内容中。您可以选择仅对任何分析下方的一个可视化内容或所有可视化内容应用筛选器。要添加筛选器,请单击左标签上的“筛选器”图标。如果存在任何现有筛选器,它将显示,或者可以根据要求创建筛选器。在以下示例中,我们没有任何现有筛选器,因此它提供了一个“创建一个”选项

applied filters

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

create filter

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

AWS Quicksight - Insights

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

一旦单击见解,左侧面板将在“建议见解”下显示 Quicksight 自动计算并创建的见解。

suggested insights

如果将鼠标悬停在每个见解标题的右侧,将会看到一个“”号和三个点。“”号用于向分析中添加见解,而三个点则提供了向现有见解添加筛选器的选项。若要添加见解,单击顶部的“添加”号并单击“添加见解”。

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

computation

AWS Quicksight - Creating Story

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

story board1

AWS Quicksight - Using Parameters

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

create new parameter

Creating a Parameter

在本节中,我们将看到如何创建参数:

Step 1 - 输入参数的名称。让我们采用性别作为参数。

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

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

multiple values

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

AWS Quicksight - Sharing Analysis

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

share icon
share analysis

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

invite users

AWS Quicksight - Dashboards

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

publish dashboard

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

publish dashboard icon

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

share dashboard

现在可以在主页屏幕上的 “All dashboards” 选项卡下看到仪表板。

manage data

以下是附加了筛选器的仪表板样本。你可以看到,除了应用创建视觉元素时添加的筛选器外,没有其他编辑仪表板的选项。

dashboard with filter

AWS Quicksight - Managing 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 账户时,它会删除与以下对象相关的所有数据 -

  1. Data Sources

  2. Data Sets

  3. Analyses

  4. Published Dashboards

管理 VPC 连接允许你管理和添加 VPC 连接到 Quicksight。要添加一个新的 VPC 连接,你需要提供以下详细信息 -

manage vpc connections
adding vpc connection

域和嵌入允许你白名单化你希望为用户嵌入 Quicksight 仪表板的域。它只支持在 Quicksight 中白名单化的 https:// 域 -

如果你想使用,你还可以选择下面的复选框来包含任何子域。当你点击添加按钮时,它会将域添加到 Quicksight 中允许嵌入的域名的列表中。

domain

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

edit allowed domain

AWS Quicksight - Edition Type

AWS Quicksight 支持不同的版本,它们根据用户管理、权限和支持的功能而有所不同 - StandardEnterprise 。这两个版本都支持 Quicksight 创建和共享数据可视化的所有功能。

企业版提供了对 AWS 目录的 Active Directory 集成的支持。企业版中还支持多种其他功能,如下所示 -

Features Supported

Standard Edition

Enterprise Edition

# of Free Authors

1

1

= 试用期作者(60 天)

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.

连接到电子表格、数据库、数据湖和商业应用

借助 AutoGraph 轻松分析数据

Fast, scalable visualizations

发布适用于互动数据访问的仪表板

单点登录使用 SAML 或 OpenID Connect

Web and mobile access

向下钻取到详细信息并自定义筛选器

使用 AWS CloudTrail 启用审计日志

Reader Role

安全访问私有 VPC 和内部部署中的数据

Row Level Security

每小时刷新 SPICE 数据

在静止状态安全加密数据

Connect to Active Directory

Use Active Directory groups

您可以在 Manage Quicksight 选项中选中 AWS Quicksight 的订阅类型。

edition enterprise

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

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

  2. Federated logins.

  3. Inviting users by email.

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

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

  1. Admin

  2. Author

  3. Reader

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

reset password

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

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

upgrade now

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

upgrade enterprise edition

Note − 一旦您将订阅从标准版更改为企业版,则无法回滚。

AWS Quicksight - Managing IAM Policies

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

注册并使用 Amazon Quicksight 需要以下策略:

Standard Edition

  1. ds:AuthorizeApplication

  2. ds:CheckAlias

  3. ds:CreateAlias

  4. ds:CreateIdentityPoolDirectory

  5. ds:DeleteDirectory

  6. ds:DescribeDirectories

  7. ds:DescribeTrusts

  8. ds:UnauthorizeApplication

  9. iam:CreatePolicy

  10. iam:CreateRole

  11. iam:ListAccountAliases

  12. quicksight:CreateUser

  13. quicksight:CreateAdmin

  14. quicksight:Subscribe

Enterprise Edition

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

  1. quicksight:GetGroupMapping

  2. quicksight:SearchDirectoryGroups

  3. quicksight:SetGroupMapping

您还可以允许 user to manage permissions for AWS resources in Quicksight 。以下 IAM 策略应该在这两个版本中分配:

  1. iam:AttachRolePolicy

  2. iam:CreatePolicy

  3. iam:CreatePolicyVersion

  4. iam:CreateRole

  5. iam:DeletePolicyVersion

  6. iam:DeleteRole

  7. iam:DetachRolePolicy

  8. iam:GetPolicy

  9. iam:GetPolicyVersion

  10. iam:GetRole

  11. iam:ListAttachedRolePolicies

  12. iam:ListEntitiesForPolicy

  13. iam:ListPolicyVersions

  14. iam:ListRoles

  15. s3:ListAllMyBuckets

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

IAM policy for dashboard embedding

要在网页中嵌入 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? [https://policysim.aws.amazon.com/home/index.jsp? ]

iam policy simulator

AWS Quicksight - Embedding Dashboard

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

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

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

Step 1 - Creating user pools and users

在 AWS Cognito 中创建用户池并创建用户。转到 Amazon Cognito → Manage User Pools → Create a User Pool

amazon cognito

Step 2 - Creating an identity pool

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

单击“创建新身份池”。

identity pool

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

create pool

Step 3 - Creating Cognito roles

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

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

Step 4 - Assigning Custom Policy

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

{
   "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”,而不是 “*” 以限制用户仅访问一个仪表板。

Step 5 - Logging into Cognito application

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

  1. IDToken

  2. AccessToken

  3. 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 角色方法 −

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);
   })
}

Step 6 - Registering the user in Quicksight

下一步是使用通过以下参数生成的凭证通过 “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”);
   }
})

Step 7 - Updating AWS Configuration file

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

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

Step 8 - Generating embed URL for Quicksight dashboard

使用步骤 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 一样,嵌入式仪表板还支持以下功能 −

  1. Drill-down option

  2. 自定义操作(链接到新标签页)

  3. On-screen filters

  4. Download to CSV

  5. Sorting on visuals

  6. Email report opt-in

  7. 将仪表板重置为默认值选项

  8. 撤销/重做仪表板上的操作

AWS Quicksight - AWS SDKs

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

  1. User and group management

  2. Embedding dashboards

以下是用于显示嵌入式仪表板的示例 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,您应该熟悉以下内容−

  1. JSON

  2. Web services

  3. HTTP requests

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

AWS Quicksight - Developer Responsibilities

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

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

  2. 了解客户需求并设计 AWS 中的解决方案来设置 ETL 和商务智能环境。

  3. 了解不同的 AWS 服务、它们的用途和配置。

  4. 熟练使用 SQL、ETL、数据仓库解决方案和在具有大规模、分散数据集的业务环境中的数据库。

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

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