

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 连接到 Amazon Quick Sight 中的数据
连接到数据

担任许多不同角色的人使用 Amazon Quick Sight 来帮助他们进行分析和高级计算、设计数据仪表板、嵌入分析以及做出更明智的决策。在发生任何这种情况之前，需要了解您的数据的人将其添加到 [Quick Sight 数据集](https://docs.aws.amazon.com/quicksuite/latest/userguide/creating-data-sets)中。Quick Sight 支持直接连接和从各种[数据源](https://docs.aws.amazon.com/quicksuite/latest/userguide/working-with-data-sources)上传。**功能和使用案例**

**Amazon Quick 标准版功能**  
在 Quick 标准版中提供数据后，您可以执行以下操作：  
+ 使用字段格式、层次结构、数据类型转换和计算来转换数据集。
+ 根据新创建的数据集创建一项或多项数据分析。
+ 与其他人共享您的分析，以便他们可以帮助设计分析。
+ 在数据分析中添加图表、图形、更多数据集和多个页面（称为工作表）。
+ 使用自定义格式和主题营造视觉吸引力。
+ 使用参数、控件、筛选条件和自定义操作让它们具有交互性。
+ 合并多个数据来源的数据，然后构建新的层次结构，以便向下钻取和进行仅在分析期间可用的计算，例如聚合、窗口函数等。
+ 将分析发布为交互式数据控制面板。
+ 共享控制面板，这样其他人即使不使用控制面板所基于的分析，也可以使用该控制面板。
+ 添加更多数据以创建更多分析和控制面板。

**Amazon Quick** **企业版功能**  
当您的数据在 Quick Enterprise 版本中可用后，您可以根据自己的角色执行不同的操作。如果您可以构建数据集、设计分析和发布控制面板，那么您可以执行使用标准版的人员可以执行的所有操作。  
此外，以下是您可以执行的其他任务的一些示例：  
+ 使用 Quick Sight 见解创建分析，包括基于机器学习 (ML) 的预测、异常和异常值检测以及关键驱动因素识别的见解。
+ 使用文本、颜色、图像和计算设计叙述洞察。
+ 添加来自虚拟私有云 (VPCs) 和本地数据源的数据，并对静态数据进行加密。
+ 通过添加行和列级别安全性来控制数据集的访问权限。
+ 每小时刷新导入的数据集。
+ 共享通过电子邮件发送的报告。

**应用程序开发**  
如果您开发应用程序或使用 AWS SDKs 和 AWS Command Line Interface (AWS CLI)，则可以执行以下操作以及更多操作：  
+ 将嵌入式分析和嵌入式交互式控制面板添加到网站和应用程序。
+ 使用 API 操作管理数据来源和数据集。
+ 使用数据摄取 API 操作更频繁地刷新导入的数据。
+ 使用 API 操作从分析和控制面板中编写脚本、传输和制作模板。
+ 根据系统管理员管理的设置，以编程方式为人员分配安全角色。

**Quick 中的管理功能**  
如果您在 Quick 中执行管理功能，则可以执行以下及更多操作：  
+ 使用共享文件夹管理安全性，以组织团队的工作，并使用控制面板、分析和数据集帮助团队成员进行协作。
+ 将 Quick Sight 添加到您的 VPC 以允许访问 VPC 和本地数据源中的数据。
+ 通过对 AWS 数据来源的精细访问控制来保护敏感数据。
+ 手动将人员分配给 Quick author 安全角色，这样他们就可以按每月固定费用准备数据集、设计分析和发布数据仪表板。
+ 手动为用户分配快速阅读器安全角色，以便他们可以安全地与已发布的数据仪表板pay-per-session 进行交互。

**控制面板订阅**  
如果您订阅控制面板，则可以执行以下操作：  
+ 使用和订阅由专家团队设计的交互式控制面板。
+ 享受简化整洁的界面。
+ 通过电子邮件查看控制面板快照。
+ 专注于利用触手可及的数据做出决策。

连接或导入数据后，您可以创建数据集来塑造和准备要共享和重用的数据。您可以在 “**数据” 页面上查看可用的数据**集，在 Amazon Quick Sight 起始页上选择 “**数据**” 即可进入该页面。**您可以在 “创建数据集” 页面上查看可用数据源并创建新数据集，您可以通过在 “**数据**” 页面上选择 “**创建**”，然后选择 “**新建数据集**” 来访问该页面。**

**Topics**
+ [

# 支持的数据来源
](supported-data-sources.md)
+ [

# 通过集成和数据集连接到您的数据
](connecting-to-data-examples.md)
+ [

# 数据来源限额
](data-source-limits.md)
+ [

# 支持的数据类型和值
](supported-data-types-and-values.md)
+ [

# 使用数据集
](working-with-datasets.md)
+ [

# 在 Amazon Quick Sight 中使用数据源
](working-with-data-sources.md)

# 支持的数据来源


Amazon Quick Sight 支持各种数据源，您可以使用这些数据源为分析提供数据。支持以下数据来源。

## 连接到关系数据


您可以使用以下任何关系数据存储作为 Amazon Quick Sight 的数据源：
+ Amazon Athena
+ Amazon Aurora
+ AWS Glue 可以使用与 AWS Glue 数据目录兼容的服务（例如 Athena 或 Redshift Spectrum）访问数据目录
+ 亚马逊 OpenSearch 服务
+ Amazon Redshift
+ Amazon Redshift Spectrum
+ Amazon S3
+ Amazon S3 分析
+ Apache Impala
+ Apache Spark 2.0 或更高版本
+ AWS IoT Analytics
+ Spark 1.6 或更高版本上的 Databricks（仅限 E2 平台），最高版本 3.0 
+ Exasol 7.1.2 或更高版本
+ 谷歌 BigQuery
+ MariaDB 10.0 或更高版本
+ Microsoft SQL Server 2012 或更高版本
+ MySQL 5.7 或更高版本
**注意**  
自 2023 年 10 月起，MySQL 社区已不再支持 MySQL 版本 5.7。这意味着 Amazon Quick Sight 将不再支持 MySQL 5.7 的新功能、增强功能、错误修复或安全补丁。我们将尽最大努力支持现有查询工作负载。Quick Sight 客户仍然可以将 MySQL 5.7 数据集与 Quick Sight 一起使用，但我们鼓励客户将其的 MySQL 数据库 (DB) 升级到主版本 8.0 或更高版本。要查看 Amazon RDS 提供的声明，请参阅 [Amazon RDS Extended Support opt-in behavior is changing. Upgrade your Amazon RDS for MySQL 5.7 database instances before February 29, 2024 to avoid potential increase in charges](https://repost.aws/articles/ARHdQg4IelQS2uyXkNrINw-A/announcement-amazon-rds-extended-support-opt-in-behavior-is-changing-upgrade-your-amazon-rds-for-mysql-5-7-database-instances-before-february-29-2024-to-avoid-potential-increase-in-charges)。  
Amazon RDS 已更新其针对 Amazon RDS MySQL 8.3 的安全设置。默认情况下，从 Quick Sight 到 Amazon RDS MySQL 8.3 的所有连接都支持 SSL。这是 MySQL 8.3 连接唯一可用的选项。  
适用于 MySQL 连接的 TLS 1.2 需要 MySQL 版本 5.7.28 或更高版本。对于 5.7.28 以下的 MySQL 版本，Quick Sight 会回退到 TLS 1.1。如果您的安全要求要求 TLS 1.2，请确保您的 MySQL 或 Aurora MySQL 数据库运行的是 5.7.28 或更高版本。
+ Oracle 12c 或更高版本
+ PostgreSQL 9.3.1 或更高版本
**注意**  
以下连接器支持从 Amazon Quick Sight 对 PostgreSQL 进行基于 SCRAM 的身份验证：RDS 托管的 PostgreSQL、Aurora PostgreSQL 和 Vanilla PostgreSQL。如果使用了相应的 PostgreSQL 引擎版本，并且在 PostgreSQL 中为 SCRAM 设置了正确的配置，则无需在 Quick Sight 中进行其他配置。如果您在通过 Quick Sight 向 PostgreSQL 建立 SCRAM 身份验证时仍然遇到问题，请创建支持请求单。
+ Presto 0.167 或更高版本
+ Snowflake
+ Starburst
+ Trino
+ Teradata 14.0 或更高版本
+ Timestream

**注意**  
您可以通过支持的数据来源链接或导入此处未列出的其他数据来源来进行访问。

Amazon Redshift 集群、Amazon Athena 数据库和 Amazon RDS 实例必须位于 AWS。其他数据库实例必须处于以下环境之一才能通过 Amazon Quick Sight 进行访问：
+ Amazon EC2
+ 本地数据库
+ 在数据中心或其他可通过互联网访问的环境中的数据

有关更多信息，请参阅 [Amazon Quick 中的基础设施安全](infrastructure-and-network-access.md)。

## 导入文件数据


可将 Amazon S3 或本地网络中的文件用作数据来源。Quick Sight 支持以下格式的文件：
+ CSV 和 TSV – 逗号分隔和制表符分隔的文本文件
+ ELF 和 CLF – 扩展日志格式文件和常用日志格式文件
+ JSON – 平面或半结构化数据文件
+ XLSX – Microsoft Excel 文件

Quick Sight 支持 UTF-8 文件编码，但不支持 UTF-8（带有 BOM）。

可以原样导入在 Amazon S3 中使用 zip 或 gzip（[www.gzip.org](http://www.gzip.org)）压缩的文件。如果使用另一个压缩程序压缩 Amazon S3 中的文件，或者这些文件位于本地网络上，请在导入之前解压缩这些文件。

### JSON 数据


Amazon Quick Sight 原生支持 JSON 平面文件和 JSON 半结构化数据文件。

您可以上传 JSON 文件，也可以连接到包含 JSON 数据的 Amazon S3 存储桶。Amazon Quick Sight 会自动对 JSON 文件和嵌入式 JSON 对象执行架构和类型推断。然后，它会展平 JSON，以便您可以分析和可视化应用程序生成的数据。

对 JSON 平面文件数据的基本支持包括以下内容：
+ 推断架构
+ 确定数据类型
+ 展平数据
+ 从平面文件解析 JSON (JSON 嵌入式对象)

对 JSON 文件结构 (.json) 的支持包括以下内容：
+ 带结构的 JSON 记录
+ 包含根元素作为数组的 JSON 记录

您还可以使用 `parseJson` 函数从文本文件中的 JSON 对象提取值。例如，如果您的 CSV 文件的其中一个字段中嵌入了 JSON 对象，则可以从指定的键值对（KVP）中提取值。有关此操作的更多信息，请参阅[parseJson](parseJson-function.md)。

不支持以下 JSON 功能：
+ 读取结构中包含记录列表的 JSON
+ 列出 JSON 记录中的属性和列表对象；导入过程中会跳过这些属性和对象
+ 自定义上传或配置设置
+ 用于 SQL 和分析的 parseJSON 函数
+ 关于无效 JSON 的错误消息
+ 从 JSON 结构提取 JSON 对象
+ 读取带分隔符的 JSON 记录

在数据准备期间，您可以使用 `parseJson` 函数解析平面文件。该函数会从有效的 JSON 结构和列表中提取元素。

支持以下 JSON 值：
+ JSON 对象
+ 字符串 (带双引号)
+ 数字 (整数和浮点)
+ 布尔值
+ NULL

## 软件即服务（SaaS）


Quick Sight 可以通过直接连接或使用开放授权 () 连接到各种软件即服务 (SaaSOAuth) 数据源。

支持直接连接的 SaaS 源包括以下内容：
+ Jira
+ ServiceNow

使用的 SaaS 来源 OAuth 需要您在 SaaS 网站上授权连接。为此，Quick Sight 必须能够通过网络访问 SaaS 数据源。这些源包括以下内容：
+ Adobe Analytics
+ GitHub
+ Salesforce

  您可以使用以下版本的 Salesforce 中的报告或对象作为 Amazon Quick Sight 的数据源：
  + Enterprise Edition
  + 无限制版本
  + 开发人员版本

## 本地数据源


要连接到本地数据源，您需要将数据源和特定于 Quick 的网络接口添加到 Amazon Virtual Private Cloud（亚马逊 VPC）。正确配置后，基于 Amazon VPC 的 VPC 与您在自己的数据中心中运行的传统网络类似。它使您能够保护和隔离资源之间的流量。您可以定义和控制网络元素以满足您的需求，同时仍然可以从云网络和可扩展的 AWS基础架构中受益。

有关详细信息，请参阅 [Amazon Quick 中的基础设施安全](infrastructure-and-network-access.md)。

# 通过集成和数据集连接到您的数据
Connect 连接到您的数据

您可以将 Amazon Quick Sight 连接到不同类型的数据源。这包括驻留在 Software-as-a-Service (SaaS) 应用程序中的数据、存储在 Amazon S3 存储桶中的平面文件、来自 Salesforce 等第三方服务的数据，以及来自 Athena 的查询结果。使用以下示例了解有关连接到特定数据来源的要求的详细信息。

**Topics**
+ [

# 使用 Amazon Athena 数据创建数据集
](create-a-data-set-athena.md)
+ [

# 将亚马逊 OpenSearch 服务与 Amazon Quick Sight 配合使用
](connecting-to-os.md)
+ [

# 使用 Amazon S3 文件创建数据集
](create-a-data-set-s3.md)
+ [

# 使用 Apache Spark 创建数据来源
](create-a-data-source-spark.md)
+ [

# 在 Quick Sight 中使用数据砖块
](quicksight-databricks.md)
+ [

# 使用 Google BigQuery 创建数据集
](quicksight-google-big-query.md)
+ [

# 使用 Google Sheets 数据来源创建数据集
](create-a-dataset-google-sheets.md)
+ [

# 使用 Apache Impala 数据来源创建数据集
](create-a-dataset-impala.md)
+ [

# 使用 Microsoft Excel 文件创建数据集
](create-a-data-set-excel.md)
+ [

# 使用 Presto 创建数据来源
](create-a-data-source-presto.md)
+ [

# 使用 Snowflake 搭配 Amazon Quick
](connecting-to-snowflake.md)
+ [

# 在 Amazon Quick Sight 中使用 Star
](connecting-to-starburst.md)
+ [

# 从 SaaS 源创建数据来源和数据集
](connecting-to-saas-data-sources.md)
+ [

# 从 Salesforce 创建数据集
](create-a-data-set-salesforce.md)
+ [

# 将 Trino 与 Amazon Quick Sigh
](connecting-to-trino.md)
+ [

# 使用本地文本文件创建数据集
](create-a-data-set-file.md)
+ [

# 在 Amazon Quick Sight 中使用亚马逊 Timestream 数据
](using-data-from-timestream.md)

# 使用 Amazon Athena 数据创建数据集
Amazon Athena

使用以下过程创建连接到 Amazon Athena 数据或 Athena 联合查询数据的新数据集。

**连接到 Amazon Athena**

1. 首先创建一个新数据集。从左侧的导航窗格中选择 “**数据**”。

1. 选择 “**创建**”，然后选择 “**新建数据集**”。

1. 

   1. 要使用现有 Athena 连接配置文件（常用），请选择要使用的现有数据源的卡片。选定**选择**。

      卡片标有 Athena 数据来源图标和创建该连接的人员提供的名称。

   1. 要创建新的 Athena 连接配置文件（不太常见），请使用以下步骤：

      1. 选择 “**新建数据源**”，然后选择 **Athena** 数据源卡。

      1. 选择**下一步**。

      1. 对于**数据来源名称**，输入描述性名称。

      1. 对于 **Athena 工作组**，选择工作组。

      1. 选择**验证连接**以测试连接。

      1. 选择**创建数据来源**。

      1. （可选）选择要作为查询运行的 IAM 角色 ARN。

1. 在**选择您的表**屏幕上，执行以下操作：

   1. 对于**目录**，请选择下列选项之一：
      + 如果您使用的是 Athena 联合查询，请选择要使用的目录。
      + 否则，请选择 **AwsDataCatalog**。

   1. 选择下列选项之一：
      + 要编写 SQL 查询，请选择**使用自定义 SQL**。
      + 要选择数据库和表，请从**目录**下的下拉菜单中选择包含数据库的目录。从**数据库**下的下拉菜单中选择数据库，然后从为数据库显示的**表**列表中选择一个表。

   如果您没有相应权限，则会收到以下错误消息：“You don't have sufficient permissions to connect to this dataset or run this query.” 请联系您的 Quick 管理员寻求帮助。有关更多信息，请参阅 [授权连接到 Amazon Athena](athena.md)。

1. 选择**编辑/预览数据**。

1. 选择**可视化**，使用表创建数据集并分析数据。有关更多信息，请参阅 [分析和报告：在 Amazon Quick Sight 中可视化数据](working-with-visuals.md)。

# 将亚马逊 OpenSearch 服务与 Amazon Quick Sight 配合使用
亚马逊 OpenSearch 服务

接下来，您可以了解如何使用 Amazon Quick Sight 连接到您的亚马逊 OpenSearch 服务数据。

## 为 OpenSearch 服务创建新的 Quick Sight 数据源连接
为亚马逊 OpenSearch 服务创建数据源连接

接下来，你可以找到如何连接到 OpenSearch 服务

在继续操作之前，需要授权 Amazon Quick Sight 才能连接到亚马逊 OpenSearch 服务。如果未启用连接，则在尝试连接时会出现错误。Quick Sight 管理员可以授权 AWS 资源连接。

**授权 Quick Sight 启动与 OpenSearch 服务的连接**

1. 点击右上角的个人资料图标打开菜单，然后选择**快速管理**。如果您在个人资料菜单上看不到 “**快速管理**” 选项，请向 Amazon Quick 管理员寻求帮助。

1. 选择**安全和权限**、**添加或删除**。

1. 启用该选项**OpenSearch**。

1. 选择**更新**。

访问 OpenSearch 服务后，您可以创建一个数据源，以便人们可以使用指定的域。

**连接到 OpenSearch 服务**

1. 首先创建一个新数据集。从左侧导航窗格中选择**数据**，然后选择**创建**和**新建数据集**。

1. 选择**亚马逊 OpenSearch**数据源卡。

1. 例如`OpenSearch Service ML Data`，在**数据源名称**中，输入 OpenSearch 服务数据源连接的描述性名称。由于您可以通过与 S OpenSearch ervice 的连接创建许多数据集，因此最好使用简洁的名称。

1. 对于**连接类型**中，选择要使用的网络。这可以是基于 Amazon VPC 的虚拟私有云（VPC），也可以是公有网络。的列表 VPCs 包含 VPC 连接的名称，而不是 VPC IDs。这些名称由 Quick 管理员定义。

1. 对于**域**，选择要连接的 OpenSearch 服务域。

1. 选择 “**验证连接**” 以检查您是否可以成功连接到 OpenSearch 服务。

1. 选择**创建数据来源**以继续。

1. 对于**表**，选择要使用的表格，然后选择**选择**以继续。

1. 请执行以下操作之一：
   + 要将数据导入 Quick Sight 内存引擎（名为SPICE），请选择 “**导入到” SPICE 以加快分析速度**。有关如何启用 OpenSearch 数据导入功能的信息，请参见[授权连接到 Amazon 服务 OpenSearch](opensearch.md)。
   + 要允许 Quick Sight 在每次刷新数据集或使用分析或仪表板时对您的数据运行查询，请选择**直接查询您的数据**。

     要在使用 OpenSearch 服务数据的已发布仪表板上启用自动刷新， OpenSearch 服务数据集需要使用直接查询。

1. 选择**编辑/预览**，然后选择**保存**以保存数据集并将其关闭。

## 管理 OpenSearch 服务数据的权限
管理 OpenSearch 服务权限

以下过程介绍如何查看、添加和撤消权限以允许访问同一 S OpenSearch ervice 数据源。您添加的用户必须是 Quick Sight 中的活跃用户，然后才能添加他们。

**编辑数据来源的权限**

1. 选择左侧的 “**数据**”，然后向下滚动以找到用于您的 Amazon OpenSearch 服务连接的数据源卡。以 `US Amazon OpenSearch Service Data` 为例。

1. 选择 **Amazon OpenSearch** 数据集。

1. 在打开的数据集详细信息页面上，选择**权限**选项卡。

   此时会显示当前权限。

1. 要添加权限，请选择**添加用户和组**，然后按照以下步骤操作：

   1. 添加用户或组以允许他们使用相同的数据集。

   1. 添加完要添加的所有人后，选择要应用于他们的**权限**。

1. （可选）要编辑权限，可以选择**查看者**或**拥有者**。
   + 选择**查看者**以允许读取权限。
   + 选择 “**所有者**” 以允许该用户编辑、共享或删除此 Quick Sight 数据集。

1. （可选）要撤销权限，请选择**撤销访问权限**。在您撤销某人的访问权限后，他们将无法使用此数据来源创建新的数据集。但是，他们现有的数据集仍然可以访问此数据来源。

1. 完成后，请选择 **Close**。

## 为 OpenSearch 服务添加新的 Quick Sight 数据集
为 OpenSearch 服务添加新的 Quick Sight 数据集

在您拥有现有的 S OpenSearch ervice 数据源连接后，可以创建用于分析的 OpenSearch 服务数据集。

**使用 OpenSearch 服务创建数据集**

1. 在起始页面上，选择**数据**、**创建**、**新建数据集**。

1. 向下滚动到 OpenSearch 服务连接的数据源卡。如果您有许多数据来源，则可以使用页面顶部的搜索栏来查找名称部分匹配的数据来源。

1. 选择 A **mazon OpenSearch** 数据源卡，然后选择**创建数据集**。

1. 对于**表**，选择要使用的 OpenSearch 服务索引。

1. 选择**编辑/预览**。

1. 选择**保存**，以保存并关闭数据集。

## 向分析中添加 OpenSearch 服务数据


获得 OpenSearch 服务数据集后，可以将其添加到 Quick Sight 分析中。在开始之前，请确保您的现有数据集包含要使用的 OpenSearch 服务数据。

**向分析中添加 OpenSearch 服务数据**

1. 选择左侧的**分析**。

1. 请执行以下操作之一：
   + 要创建新分析，请选择右侧的**新分析**。
   + 要添加到现有分析，请打开要编辑的分析。
     + 选择左上角附近的铅笔图标。
     + 选择**添加数据集**。

1. 选择要添加的 OpenSearch 服务数据集。

   有关在可视化中使用 OpenSearch 服务的信息，请参阅[使用 OpenSearch 服务的限制](#limitations-for-es)。

1. 有关更多信息，请参阅 [Working with analyses](https://docs.aws.amazon.com/quicksight/latest/user/working-with-analyses.html)。

## 使用 OpenSearch 服务的限制


以下限制适用于使用 OpenSearch 服务数据集：
+ OpenSearch 服务数据集支持视觉类型、排序选项和筛选选项的子集。
+ 要在使用 OpenSearch 服务数据的已发布仪表板上启用自动刷新， OpenSearch 服务数据集需要使用直接查询。
+ 不支持多个子查询操作。为避免在可视化过程中出现错误，请勿将多个字段添加到字段井，每个可视化使用一到两个字段，并避免使用**颜色**字段井。
+ 不支持自定义 SQL。
+ 不支持跨数据集联接和自联接。
+ 不支持计算字段。
+ 不支持文本字段。
+ 不支持“其他”类别。如果您将 OpenSearch 服务数据集与支持 “其他” 类别的可视化项一起使用，请使用视觉对象上的菜单禁用 “其他” 类别。

# 使用 Amazon S3 文件创建数据集
Amazon S3 文件

要使用来自 Amazon S3 的一个或多个文本文件（.csv、.tsv、.clf 或.elf）创建数据集，请为 Quick Sight 创建清单。Quick Sight 使用此清单来识别您要使用的文件以及导入这些文件所需的上传设置。使用 Amazon S3 创建数据集时，文件数据会自动导入 [SPICE](spice.md) 中。

您必须授予 Quick Sight 访问您想要从中读取文件的任何 Amazon S3 存储桶的权限。有关授予 Quick Sight AWS 资源访问权限的信息，请参阅[配置 Amazon Quick Sight 对 AWS 数据源的访问权限](access-to-aws-resources.md)。

**Topics**
+ [

# 支持的 Amazon S3 清单文件格式
](supported-manifest-file-format.md)
+ [

# 创建 Amazon S3 数据集
](create-a-data-set-s3-procedure.md)
+ [

# 使用其他 AWS 账户中的 S3 文件的数据集
](using-s3-files-in-another-aws-account.md)

# 支持的 Amazon S3 清单文件格式


您可以使用 JSON 清单文件在 Amazon S3 中指定要导入到 Quick Sight 中的文件。这些 JSON 清单文件可以使用下述快速浏览格式，也可以使用亚马逊 Redshift 数据库开发者指南中[使用清单指定数据文件](https://docs.aws.amazon.com/redshift/latest/dg/loading-data-files-using-manifest.html)中描述的 *Amazon Redshift* 格式。您无需使用 Amazon Redshift 就能使用 Amazon Redshift 清单文件格式。

例如`my_manifest.json`，如果您使用 Quick Sight 清单文件，则其扩展名必须为.json。如果使用 Amazon Redshift 清单文件，则可以使用任何扩展名。

如果你使用亚马逊 Redshift 清单文件，Quick Sight 会像亚马逊 Redshift 一样处理可选`mandatory`选项。如果找不到关联的文件，Quick Sight 将结束导入过程并返回错误。

您选择导入的文件必须是分隔的文本（例如 .csv 或 .tsv）、日志 (.clf)、扩展日志 (.elf) 格式或 JSON (.json)。一个清单文件中标识的所有文件都必须使用相同的文件格式。另外，所有文件必须具有相同数量和类型的列。Quick Sight 支持 UTF-8 文件编码，但不支持带字节顺序标记 (BOM) 的 UTF-8。如果您要导入 JSON 文件，则对于 `globalUploadSettings`，请指定 `format`，而不是 `delimiter`、`textqualifier` 和 `containsHeader`。

确保您指定的任何文件都位于您已授予 Quick Sight 访问权限的 Amazon S3 存储桶中。有关授予 Quick Sight AWS 资源访问权限的信息，请参阅[配置 Amazon Quick Sight 对 AWS 数据源的访问权限](access-to-aws-resources.md)。

## Quick Sight 的清单文件格式


Quick Sight 清单文件使用以下 JSON 格式。

```
{
    "fileLocations": [
        {
            "URIs": [
                "uri1",
                "uri2",
                "uri3"
            ]
        },
        {
            "URIPrefixes": [
                "prefix1",
                "prefix2",
                "prefix3"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "JSON",
        "delimiter": ",",
        "textqualifier": "'",
        "containsHeader": "true"
    }
}
```

使用 `fileLocations` 元素中的字段可指定要导入的文件，使用 `globalUploadSettings` 元素中的字段可指定这些文件的导入设置，如字段分隔符。

清单文件元素如下所述：
+ **fileLocations** – 可以使用该元素指定要导入的文件。您可以使用 `URIs` 和/或 `URIPrefixes` 数组来执行该操作。您必须在其中任意一项中至少指定一个值。
  + **URIs**— 使用此数组列 URIs出要导入的特定文件。

    Quick Sight 可以访问任何文件中的 Amazon S3 文件 AWS 区域。但是，如果与 Quick 账户使用的 AWS 区域不同，则必须使用标识 Amazon S3 存储桶区域的 URI 格式。

    URIs 支持以下格式。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-manifest-file-format.html)
  + **URIPrefixes**— 使用此数组列出 S3 存储桶和文件夹的 URI 前缀。将导入指定的存储桶或文件夹中的所有文件。Quick Sight 以递归方式从子文件夹中检索文件。

    Quick Sight 可以访问任何 AWS 区域存储桶中的 Amazon S3 存储桶或文件夹。 AWS 区域 如果 S3 存储桶与 Quick 账户使用的格式不同，请务必使用标识 S3 存储桶的 URI 前缀格式。

    支持以下格式的 URI 前缀。  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-manifest-file-format.html)
+ **globalUploadSettings**—（可选）使用此元素指定 Amazon S3 文件的导入设置，例如字段分隔符。如果未指定此元素，Quick Sight 将使用本节中字段的默认值。
**重要**  
对于日志 (.clf) 和扩展日志 (.elf) 文件，只有这部分中的 **format** 字段适用，因此，您可以跳过其他字段。如果选择包括它们，其值将被忽略。
  + **format** –（可选）指定要导入的文件的格式。有效的格式为 **CSV**、**TSV**、**CLF**、**ELF** 和 **JSON**。默认值为 **CSV**。
  + **delimiter** –（可选）指定文件字段分隔符。必须映射到 `format` 字段中指定的文件类型。有效的格式为用于 .csv 文件的逗号 (**,**) 和用于 .tsv 文件的制表符 (**\$1t**)。默认值为逗号 (**,**)。
  + **textqualifier** –（可选）指定文件文本限定符。有效格式为单引号 (**'**)、双引号 (**\$1"**)。开头的反斜线是 JSON 中的双引号必须使用的转义字符。默认值为双引号 (**\$1"**)。如果您的文本不需要文本限定符，则不要包含此属性。
  + **containsHeader** –（可选）指定文件是否具有标题行。有效的格式为 **true** 或 **false**。默认值为 **true**。

### Quick Sight 的清单文件示例


以下是已完成的 Quick Sight 清单文件的一些示例。

以下示例显示一个清单文件，它指定两个要导入的特定 .csv 文件。这些文件对文本限定符使用双引号。默认值是可接受的，因此，跳过 `format`、`delimiter` 和 `containsHeader` 字段。

```
{
    "fileLocations": [
        {
            "URIs": [
                "https://yourBucket.s3.amazonaws.com/data-file.csv",
                "https://yourBucket.s3.amazonaws.com/data-file-2.csv"
            ]
        }
    ],
    "globalUploadSettings": {
        "textqualifier": "\""
    }
}
```

以下示例显示一个清单文件，它指定一个要导入的特定 .tsv 文件。该文件还包含其他 AWS 区域中的存储桶，其中包含要导入的其他 .tsv 文件。默认值是可接受的，因此跳过 `textqualifier` 和 `containsHeader` 字段。

```
{
    "fileLocations": [
        {
            "URIs": [
                "https://s3.amazonaws.com/amzn-s3-demo-bucket/data.tsv"
            ]
        },
        {
            "URIPrefixes": [
                "https://s3-us-east-1.amazonaws.com/amzn-s3-demo-bucket/"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "TSV",
        "delimiter": "\t"
    }
}
```

以下示例指定两个包含要导入的 .clf 文件的存储桶。一个与 Quick 账户 AWS 区域 相同，另一个在不同账户中 AWS 区域。`delimiter`、`textqualifier` 和 `containsHeader` 字段不适用于日志文件，因此跳过这些字段。

```
{
    "fileLocations": [
        {
            "URIPrefixes": [
                "https://amzn-s3-demo-bucket1.your-s3-url.com",
                "s3://amzn-s3-demo-bucket2/"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "CLF"
    }
}
```

以下示例使用 Amazon Redshift 格式指定要导入的 .csv 文件。

```
{
    "entries": [
        {
            "url": "https://amzn-s3-demo-bucket.your-s3-url.com/myalias-test/file-to-import.csv",
            "mandatory": true
        }
    ]
}
```

以下示例使用 Amazon Redshift 格式指定两个要导入的 JSON 文件。

```
{
    "fileLocations": [
        {
            "URIs": [
                "https://yourBucket.s3.amazonaws.com/data-file.json",
                "https://yourBucket.s3.amazonaws.com/data-file-2.json"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "JSON"
    }
}
```

# 创建 Amazon S3 数据集


**创建 Amazon S3 数据集**

1. 选中 [数据来源限额](data-source-limits.md) 以确保目标文件设置未超出数据来源限制。

1. 使用 [支持的 Amazon S3 清单文件格式](supported-manifest-file-format.md)中指定的格式之一创建清单文件，以确定要导入的文本文件。

1. 将清单文件保存到本地目录中，或者将其上传到 Amazon S3 中。

1. 在快速入门页面上，选择**数据**。

1. 在**数据**页面上，选择**创建**，然后选择**新数据集**。

1. 选择 Amazon S3 图标，然后选择**下一步**。

1. 对于**数据来源名称**，输入数据来源的描述。这应该是帮助将该数据来源与其他数据来源区分开来的名称。

1. 对于 **Upload a manifest file**，请执行以下操作之一：
   + 要使用本地清单文件，请选择 **Upload**，然后选择 **Upload a JSON manifest file**。对于 **Open**，请选择一个文件，然后选择 **Open**。
   + 要使用 Amazon S3 中的清单文件，请选择 **URL**，然后输入该清单文件的 URL。要在 Amazon S3 控制台中查找预先存在的清单文件的 URL，请导航到并选择相应的文件。随即显示属性面板，包括链接 URL。您可以复制 URL 并将其粘贴到 Quick Sight 中。

1. 选择**连接**。

1. 要确保已完成连接，请选择 **Edit/Preview data**。否则，选择 **Visualize** 以原样使用数据创建分析。

   如果选择**编辑/预览数据**，您可以在准备数据过程中指定数据集名称。否则，数据集名称与将与清单文件名称匹配。

   要了解数据准备的更多信息，请参阅[使用 Amazon Quick Sight 准备数据](preparing-data.md)。

## 基于多个 Amazon S3 文件创建数据集


您可以使用以下几种方法之一在 Quick Sight 中合并或合并来自 Amazon S3 存储桶的文件：
+ **使用清单组合文件** – 在这种情况下，这些文件必须具有相同数量的字段（列）。文件的相同位置中的字段必须具有匹配的数据类型。例如，每个文件中的第一个字段必须具有相同的数据类型。第二个字段、第三个字段以及后续字段也是如此。Quick Sight 从第一个文件中获取字段名称。

  必须在清单中明确列出这些文件。但是，它们不必位于同一个 Amazon S3 存储桶内。

  此外，这些文件还必须遵循[支持的 Amazon S3 清单文件格式](supported-manifest-file-format.md)中所述的规则。

  有关使用清单组合文件的更多详细信息，请参阅[使用 Amazon S3 文件创建数据集](create-a-data-set-s3.md)。
+ **不使用清单合并文件** – 要将多个文件合并为一个文件而不必在清单中单独列出这些文件，您可以使用 Athena。在使用这种方法时，您只需查询您的文本文件，就像它们位于数据库的表中一样。有关更多信息，请参阅大数据博客中的 [Analyzing data in Amazon S3 using Athena](https://aws.amazon.com/blogs/big-data/analyzing-data-in-s3-using-amazon-athena/)。
+ **在导入之前使用脚本附加文件** – 在上传之前，您可以使用用于组合文件的脚本。

# 使用其他 AWS 账户中的 S3 文件的数据集
使用其他账户的 S3 文件

使用本节学习如何设置安全性，以便您可以使用 Quick Sight 访问其他 AWS 账户中的 Amazon S3 文件。

为了让您能够访问其他账户中的文件，该账户的所有者必须先设置 Amazon S3，以便为您授予读取该文件的权限。然后，在 Quick Sight 中，您必须设置对与您共享的存储桶的访问权限。在这两个步骤完成后，您可以使用清单来创建数据集。

**注意**  
 要访问与公众共享的文件，您不需要设置任何特殊安全性。但是，您仍然需要清单文件。

**Topics**
+ [

## 将 Amazon S3 设置为允许从其他 Quick 账户进行访问
](#setup-S3-to-allow-access-from-a-different-quicksight-account)
+ [

## 设置 Quick Sight 以访问其他 AWS 账户中的 Amazon S3 文件
](#setup-quicksight-to-access-S3-in-a-different-account)

## 将 Amazon S3 设置为允许从其他 Quick 账户进行访问
设置 Amazon S3 以允许另一个账户

使用本节来学习如何在 Amazon S3 文件中设置权限，这样 Quick Sight 就可以通过其他 AWS 账户访问这些文件。

有关从您的 Quick Sight 账户访问其他账户的 Amazon S3 文件的信息，请参阅[设置 Quick Sight 以访问其他 AWS 账户中的 Amazon S3 文件](#setup-quicksight-to-access-S3-in-a-different-account)。有关 S3 权限的更多信息，请参阅[管理对 Amazon S3 资源的访问权限](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)和[如何在对象上设置权限？](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/set-object-permissions.html)

您可以使用以下过程，从 S3 控制台设置此访问权限。或者，您可以使用 AWS CLI 或通过编写脚本来授予权限。如果您有大量要共享的文件，则可以改为在 `s3:GetObject` 操作上创建 S3 存储桶策略。要使用存储桶策略，请将其添加到存储桶权限，而不是文件权限。有关存储桶策略的信息，请参阅《Amazon S3 开发人员指南》[https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html](https://docs.aws.amazon.com/AmazonS3/latest/dev/example-bucket-policies.html)中的*桶策略示例。*

**从 S3 控制台设置来自其他 Quick 账户的访问权限**

1. 获取您要与之共享的 AWS 账户电子邮件的电子邮件地址。或者，您可以获取并使用规范用户 ID。有关规范用户的更多信息 IDs，请参阅*AWS 一般*参考中的[AWS 账户标识符](https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html)。

1. 登录 AWS 管理控制台 并打开 Amazon S3 控制台，网址为[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。

1. 找到您要与 Quick Sight 共享的 Amazon S3 存储桶。选择**权限**。

1. 选择 “**添加帐户**”，然后输入要与之共享的 AWS 帐户的电子邮件地址或粘贴规范用户 ID。该电子邮件地址应该是 AWS 账户的主要电子邮件地址。

1. 对于**读取存储桶权限**和**列出对象**，两者都选择**是**。

   选择 **Save** 以确认。

1. 找到要共享的文件，然后打开该文件的权限设置。

1. 输入您要与之共享的 AWS 账户的电子邮件地址或规范用户 ID。该电子邮件地址应该是该 AWS 账户的主电子邮件地址。

1. 为 Quick Sight 需要访问的每个文件启用**读取对象**权限。

1. 通知 Quick 用户这些文件现已可供使用。

## 设置 Quick Sight 以访问其他 AWS 账户中的 Amazon S3 文件
设置 Quick Sight 以访问另一个 Amazon S3 账户

使用本节学习如何设置 Quick Sight，这样您就可以在其他 AWS 账户中访问 Amazon S3 文件。有关允许其他人从其 Quick 账户访问您的 Amazon S3 文件的信息，请参阅[将 Amazon S3 设置为允许从其他 Quick 账户进行访问](#setup-S3-to-allow-access-from-a-different-quicksight-account)。

使用以下步骤从 Quick Sight 访问其他账户的 Amazon S3 文件。其他 AWS 账户中的用户必须与您共享其 Amazon S3 存储桶中的文件，然后才能使用此过程。

**通过 Quick Sight 访问其他账户的 Amazon S3 文件**

1. 验证其他 AWS 账户中的一个或多个用户是否向您的账户授予了对相关 S3 存储桶的读写权限。

1. 选择您的个人资料图标，然后选择 “**管理 Quick Sight**”。

1. 选择 **Security & permissions (安全性和权限)**。

1. 在 **Quick Sight 访问 AWS 服务**下，选择**管理**。

1. 选择**选择 S3 存储桶**。

1. 在**选择 Amazon S3 存储桶**屏幕上，选择**可在 AWS中访问的 S3 存储桶**选项卡。

   默认选项卡名为**关联到 Quick Sight 账户的 S3 存储桶**。它显示了您的 Quick 账户有权访问的所有存储桶。

1. 请执行以下操作之一：
   + 要添加您有权使用的所有存储桶，请选择**从其他 ** 账户选择可访问的存储桶 AWS 。
   + 如果您要添加一个或多个 Amazon S3 存储桶，请输入其名称。它必须精确匹配该 Amazon S3 存储桶的唯一名称。

     如果您没有适当的权限，则会看到错误消息“We can't connect to this S3 bucket. 确保您指定的任何 S3 存储桶都与用于创建此 Quick AWS 账户的账户相关联。” 如果您既没有帐户权限也没有 Quick Sight 权限，则会显示此错误消息。
**注意**  
要使用亚马逊 Athena，Quick Sight 需要访问雅典娜使用的亚马逊 S3 存储桶。  
您可以将它们逐一添加到此处，也可以使用 “**从其他 AWS 账户中选择可访问的存储桶**” 选项。

1. 选择 **Select buckets** 以确认您的选择。

1. 根据 Amazon S3 创建新的数据集，并上传您的清单文件。有关 Amazon S3 数据集的更多信息，请参阅 [使用 Amazon S3 文件创建数据集](create-a-data-set-s3.md)。

# 使用 Apache Spark 创建数据来源
Apache Spark

你可以使用 Quick Sight 直接连接到 Apache Spark，也可以通过 Spark SQL 连接到 Spark。使用查询结果或直接链接到表或视图，您可以在 Quick Sight 中创建数据源。您可以通过 Spark 直接查询数据，也可以将查询结果导入 [SPICE](spice.md)。

在将 Quick Sight 与 Spark 产品配合使用之前，必须为 Quick Sight 配置 Spark。

Quick Sight 要求您的 Spark 服务器使用 LDAP 进行保护和身份验证，该版本适用于 Spark 2.0 或更高版本。如果 Spark 配置为允许未经身份验证的访问，Quick Sight 会拒绝与服务器的连接。要将 Quick Sight 用作 Spark 客户端，必须将 LDAP 身份验证配置为与 Spark 配合使用。

Spark 文档包含有关如何进行此设置的信息。首先，您需要对其进行配置，以启用通过 HTTPS 进行的前端 LDAP 身份验证。有关 Spark 的一般信息，请参阅 [Apache Spark 网站](http://spark.apache.org/)。有关 Spark 和安全性的专门信息，请参阅 [Spark 安全文档](http://spark.apache.org/docs/latest/security.html)。

要确保已将服务器配置为 Quick Sight 访问权限，请按照中的说明进行操作[网络和数据库配置要求](configure-access.md)。

# 在 Quick Sight 中使用数据砖块
Databricks

使用本节学习如何从 Quick Sight 连接到 Databricks。

**连接到 Databricks**

1. 首先创建一个新数据集。从左侧的导航窗格中选择 “**数据**”。

1. 选择**创建**，然后选择**新数据集**。

1. 选择 **Databricks** 数据来源卡片。

1. 对于**数据来源名称**，为 Databricks 数据来源连接输入描述性名称，例如 `Databricks CS`。您可以通过与 Databricks 的连接创建许多数据集，因此最好使用简洁的名称。

1. 对于**连接类型**，选择您正在使用的网络类型。
   + **公有网络** – 如果您的数据是公开共享的。
   + **VPC** – 如果您的数据位于 VPC 内。
**注意**  
如果您使用的是 VPC，但其未列出，请咨询管理员。

1.  对于**数据库服务器**，输入在 Databricks 连接详细信息中指定的**工作区的主机名**。

1.  对于 **HTTP 路径**，输入在 Databricks 连接详细信息中指定的 **spark 实例的部分 URL**。

1.  对于**端口**，输入在 Databricks 连接详细信息中指定的**端口**。

1.  对于**用户名**和**密码**，输入您的连接凭证。

1.  要验证连接是否正常，请单击**验证连接**。

1.  要完成并创建数据来源，请单击**创建数据来源**。

## 为 Databricks 添加新的 Quick Sight 数据集
为 Databricks 添加新的 Quick Sight 数据集

拥有 Databricks 数据的现有数据来源连接后，您可以创建 Databricks 数据集以用于分析。

**使用 Databricks 创建数据集**

1. 选择左侧的 “**数据**”，然后向下滚动以查找 Databricks 连接的数据源卡。如果您有许多数据来源，则可以使用页面顶部的搜索栏来查找名称部分匹配的数据来源。

1. 选择 **Databricks** 数据来源卡片，然后选择**创建数据集**。

1. 要指定要连接的表，请先选择要使用的“目录”和“架构”。然后对于**表**，选择要使用的表。如果您更想使用自己的 SQL 语句，请选择**使用自定义 SQL**。

1. 选择**编辑/预览**。

1. （可选）要添加更多数据，请按以下步骤进行操作：

   1. 选择右上角的**添加数据**。

   1. 要连接到不同的数据，请选择**切换数据来源**，然后选择不同的数据集。

   1. 按照 UI 提示完成数据添加。

   1. 将新数据添加到同一数据集后，选择**配置此联接**（两个红点）。为每个附加表设置联接。

   1. 如果要添加计算字段，请选择**添加计算字段**。

   1. 要从 SageMaker AI 添加模型，请选择 A **ugment with。 SageMaker**此选项仅在 Quick Enterprise 版中可用。

   1. 清除任何您要省略的字段的复选框。

   1. 更新任何您要更改的数据类型。

1. 完成后，选择**保存**，以保存并关闭数据集。

## Quick Sight 管理员关于连接 Databricks 的指南
Quick Sight 管理员主题：Databricks 连接

你可以使用 Amazon Quick Sight 连接到 Databricks AWS无论你是通过 Marketpl AWS ace AWS 还是通过 Databricks 网站注册，你都可以连接 Databricks。

在连接到 Databricks 之前，您需要创建或识别连接所需的现有资源。使用本节来帮助你收集从 Quick Sight 连接到 Databricks 所需的资源。
+ 要了解如何获取 Databricks 连接的详细信息，请参阅 [Databricks ODBC and JDBC connections](https://docs.databricks.com/integrations/jdbc-odbc-bi.html#get-server-hostname-port-http-path-and-jdbc-url)。
+ 要了解如何获取 Databricks 凭证（个人访问令牌或用户名和密码）进行身份验证，请参阅 [Databricks documentation](https://docs.databricks.com/index.html) 中的 [Authentication requirements](https://docs.databricks.com/integrations/bi/jdbc-odbc-bi.html#authentication-requirements)。

  要连接到 Databricks 集群，您需要 `Can Attach To` 和 `Can Restart` 权限。这些权限在 Databricks 中进行管理。有关更多信息，请参阅 [Databricks documentation](https://docs.databricks.com/index.html) 中的 [Permission Requirements](https://docs.databricks.com/integrations/jdbc-odbc-bi.html#permission-requirements)。
+ 如果您要为 Databricks 设置私有连接，则可以详细了解如何配置 VPC 以与 Quick Sight 配合使用，请参阅 Quick Sight 文档中的使用 [Amazon Quick Sight 连接到 VPC](https://docs.aws.amazon.com/quicksight/latest/user/working-with-aws-vpc.html)。如果连接不可见，请向系统管理员确认该网络是否已开放 [Amazon Route 53 的入站端点](https://docs.aws.amazon.com/quicksight/latest/user/vpc-route-53.html)。Databricks 工作区的主机名使用公有 IP，需要有 DNS TCP 和 DNS UDP 入站和出站规则，以允许 Route 53 安全组的 DNS 端口 53 上的流量。管理员需要创建包含 2 条入站规则的安全组：一条用于端口 53 到 VPC CIDR 的 DNS（TCP），另一条用于端口 53 到 VPC CIDR 的 DNS（UDP）。

  [如果您使用的是 PrivateLink 而不是公共连接，则要了解与 Databricks 相关的详细信息，请参阅 Databricks [文档 AWS PrivateLink中的启用](https://docs.databricks.com/administration-guide/cloud-configurations/aws/privatelink.html)。](https://docs.databricks.com/index.html)

# 使用 Google BigQuery 创建数据集
Google BigQuery

**注意**  
当 Quick Sight 使用和传输从中收到的信息时Google APIs，它会遵守 [GoogleAPI 服务用户数据政策](https://developers.google.com/terms/api-services-user-data-policy)。

Google BigQuery 是一个完全托管的无服务器数据仓库，客户可以使用它来管理和分析他们的数据。Google BigQuery 客户使用 SQL 来查询他们的数据，而无需任何基础设施管理。

## 使用 Google BigQuery 创建数据来源连接


**先决条件**

开始之前，请确保您已具备以下条件。这些都是使用 Google BigQuery 创建数据来源连接所必需的：
+ **项目 ID** – 与您的 Google 账户关联的项目 ID。要找到它，请导航到Google Cloud控制台，然后选择要连接到 Quick Sight 的项目的名称。复制新窗口中显示的项目 ID 并记录下来以供日后使用。
+ **数据集区域** – Google BigQuery 项目所在的 Google 区域。要找到数据集区域，请导航到 Google BigQuery 控制台并选择**资源管理器**。找到并展开您想要连接的项目，然后选择您想要使用的数据集。数据集区域出现在打开的弹出窗口中。
+ **Google 账户登录凭证** – 您的 Google 账户的登录凭证。如果您没有此信息，请与 Google 账户管理员联系。
+ **Google BigQuery权限** — 要将您的Google账户与 Quick Sight 关联，请确保您的Google账户具有以下权限：
  + `Project` 级别的 `BigQuery Job User`。
  + `Dataset` 或 `Table` 级别的 `BigQuery Data Viewer`。
  + `Project` 级别的 `BigQuery Metadata Viewer`。

有关如何检索先前必备信息的信息，请参阅[使用Google Cloud BigQuery和 Quick Sight 释放统一商业智能的力量](https://aws.amazon.com/blogs/business-intelligence/unlock-the-power-of-unified-business-intelligence-with-google-cloud-bigquery-and-amazon-quicksight/)。

使用以下步骤将您的 Quick 帐户与您的Google BigQuery数据源关联。

**从 Quick Sight 创建与Google BigQuery数据源的新连接**

1. 打开 [Quick 控制台](https://quicksight.aws.amazon.com/)。

1. 从左侧导航窗格中选择 “**数据**”。

1. 选择**创建**，然后选择**新建数据集**

1. 选择 **Google BigQuery** 磁贴。

1. 添加您之前在先决条件部分记录的数据来源详细信息：
   + **数据来源名称** – 数据来源的名称。
   + **项目 ID** – Google Platform 项目 ID。此字段区分大小写。
   + **数据集区域** – 您要连接到的项目的 Google 云平台数据集区域。

1. 选择**登录**。

1. 在打开的新窗口中，输入您要连接的 Google 账户的登录凭证。

1. 选择 “**继续**” 以授予 Quick Sight 访问权限Google BigQuery。

1. 创建新的数据来源连接后，继续执行以下过程中的 [Step 4](#gbq-step-4)。

## 为添加新的 Quick Sight 数据集 Google BigQuery


与 Google BigQuery 创建数据来源连接后，您可以创建 Google BigQuery 数据集以供分析。使用 Google BigQuery 的数据集只能存储在 SPICE 中。

**使用 Google BigQuery 创建数据集**

1. 打开 [Quick 控制台](https://quicksight.aws.amazon.com/)。

1. 从起始页中，选择**数据**。

1. 选择**创建**，然后选择**新建数据集**

1. 选择**Google BigQuery**磁贴，然后选择**创建数据集**。

1. <a name="gbq-step-4"></a>对于**表**，执行以下操作之一：
   + 选择要使用的表。
   + 选择**使用自定义 SQL** 以使用您自己的个人 SQL 语句。有关在 Quick Sight 中使用自定义 SQL 的更多信息，请参阅[使用 SQL 自定义数据](adding-a-SQL-query.md)。

1. 选择**编辑/预览**。

1. （可选）在打开的**数据准备**页面中，您可以使用计算字段、筛选器和联接为数据添加自定义项。

1. 完成更改后，选择**保存**以保存并关闭数据集。

# 使用 Google Sheets 数据来源创建数据集
Google Sheets

Google Sheets 是一款基于 Web 的电子表格应用程序，使用户能够实时创建、编辑和协作处理数据。凭借其全面的函数和公式，它成为商业智能和分析的强大数据来源。用户可以高效地组织、分析和分享见解，而其无缝协作功能使其成为从事数据驱动型项目的团队的理想平台。

## Amazon Quick 中的管理员配置


Amazon Quick 管理员需要执行一次性设置才能启用 Google 表格作为数据源。有关详细说明和重要注意事项，请参阅[博客](https://aws.amazon.com//blogs/business-intelligence/transform-your-google-sheets-data-into-powerful-analytics-with-amazon-quicksight/)。

## 使用 Google Sheets 数据来源创建数据集


按照以下过程使用 Google Sheets 数据来源创建数据集。

**使用 Google Sheets 数据来源创建数据集**

1. 在快速入门页面中，选择**数据集**。

1. 在**数据集**页面上，选择**新数据集**。

1. 选择**谷歌表格**。

1. 输入数据来源的名称，然后选择**连接**。

1. 当重定向到 Google 的登录页面时，请执行以下操作：

   1. 输入您的 Google 账户凭证，然后选择**下一步**。

   1. 查看授权您的 AWS 帐号连接 Google 表格的权限，然后选择 “**继续**”。

1. 在**选择您的表**菜单中，找到您的数据。该菜单显示您的 Google 账户中的所有文件夹、子文件夹、工作表和选项卡。要显示选项卡，请从显示的列表中选择一个工作表。

1. 选择要使用的选项卡。

1. 选择**编辑/预览数据**以导航至数据准备页面。选择**添加数据**以包含任何其他选项卡。

1. 配置联接，然后选择 “**发布和可视化**”，使用 Quick Sight 分析您的 Google 表格数据。

**注意**  
此连接器仅支持 SPICE 功能。
如果您的 OAuth 令牌过期（在摄取错误报告中或创建新数据集时可见），请通过在数据源上选择 **“编辑”** 并对其进行更新来重新授权。

# 使用 Apache Impala 数据来源创建数据集
Impala

Apache Impala 是一款高性能大规模并行处理 (MPP) SQL 查询引擎，旨在在 Apache Hadoop 上原生运行。使用以下步骤在 Quick Sight 和 Apache Impala 之间建立安全连接。

Quick Sight 和 Apache Impala 之间的所有流量都使用 SSL 进行加密。Quick Sight 支持 Impala 连接的标准用户名和密码身份验证。

要建立连接，您需要在 Impala 实例中配置 SSL 设置，准备身份验证凭据，使用您的 Impala 服务器详细信息在 Quick Sight 中设置连接，并验证连接以确保数据访问安全。

**使用 Apache Impala 数据来源创建数据集**

1. 在快速入门页面上，选择**数据**。

1. 在**数据**页面上，选择**创建**。

1. 选择**数据来源**。

1. 选择 **Impala**，然后选择 “**下一步**”。

1. 输入数据来源的名称。

1. 对于公共连接：

   1. 输入**数据库服务器**、**HTTP 路径**、**端口**、**用户名**和**密码**的连接详细信息。

   1. 验证成功后，选择**创建数据来源**。

1. 对于私有连接：

   1. 在输入连接详细信息之前，请与管理员协调以设置 VPC 连接。

     您或您的管理员可以[在 Quick 中配置 VPC 连接](vpc-creating-a-connection-in-quicksight.md)。SSL 默认启用，以确保数据传输安全。如果遇到连接验证错误，请验证连接和 VPC 详细信息。

     如果问题仍然存在，请咨询您的管理员以确认您的证书颁发机构已包含在 Quick Sight [批准的证书列表中](configure-access.md#ca-certificates)。

1. 在**选择您的表**菜单中，您可以：

   1. 选择特定架构或表，然后选择**选择**。

   1. 选择**使用自定义 SQL** 来编写您自己的 SQL 查询。

1. 完成选择后，您将被重定向到数据准备页面。对数据进行任何调整，然后选择 “**发布和可视化**”，在 Quick Sight 中分析您的 Impala 数据。

**注意**  
此连接器支持：  
用户名和密码身份验证
公共和私有连接
表发现和自定义 SQL 查询
摄取期间的完整数据刷新
仅限 SPICE 存储

# 使用 Microsoft Excel 文件创建数据集
Microsoft Excel 文件

要使用 Microsoft Excel 文件数据来源创建数据集，请从本地或网络驱动器上传 .xlsx 文件。数据将导入到 [SPICE](spice.md) 中。

 有关使用 Amazon S3 数据来源创建新的 Amazon S3 数据集的更多信息，请参阅 [使用现有的 Amazon S3 数据来源创建数据集](create-a-data-set-existing.md#create-a-data-set-existing-s3) 或 [使用 Amazon S3 文件创建数据集](create-a-data-set-s3.md)。

**基于 Excel 文件创建数据集**

1. 选中 [数据来源限额](data-source-limits.md) 以确保目标文件未超出数据来源限制。

1. 在快速入门页面上，选择**数据**。

1. 在**数据**页面上，选择**创建**，然后选择**新数据集**。

1. 选择 **Upload a file** (上传文件)。

1. 在 **Open** 对话框中，选择一个文件，然后选择 **Open**。

   文件大小必须不超过 1 GB 才能上传到 Quick Sight。

1. 如果 Excel 文件包含多个工作表，请选择要导入的工作表。以后可通过准备数据对此进行更改。

1. 
**注意**  
在下列屏幕中，有几种方式可准备数据。每一种方式都会转到 **Prepare Data** 屏幕。该屏幕与数据导入完成后可以访问的屏幕相同。即使在上传完成后，您也可以在该屏幕中更改上传设置。

    选择 **Select** 确认设置。或者，您可以选择 **Edit/Preview data (编辑/预览数据)** 以立即准备数据。

   下一个屏幕显示数据预览。数据预览不能直接更改。

1. 如果数据标题和内容看起来不正确，您可以选择**编辑设置并准备数据**以更正文件上传设置。

   否则，请选择**下一步**。

1. 在 **Data Source Details** 屏幕上，您可以选择 **Edit/Preview data**。您可以在**准备数据**屏幕中指定数据集名称。

   如果不需要准备数据，可以选择原样使用数据创建分析。选择**可视化**。这样做会使数据集与源文件同名，并转至**分析**屏幕。要了解数据准备和 Excel 上传设置的更多信息，请参阅[使用 Amazon Quick Sight 准备数据](preparing-data.md)。

**注意**  
如果您想随时对文件进行更改（例如添加新字段），则必须在 Microsoft Excel 中进行更改，并使用 Quick Sight 中的更新版本创建新的数据集。有关更改数据集可能产生的影响的更多信息，请参阅 [编辑数据集时要考虑的事项](edit-a-data-set.md#change-a-data-set)。

# 使用 Presto 创建数据来源
：Presto

Presto（也称为 PrestoDB）是一种开源的分布式 SQL 查询引擎，设计用于针对任何规模的数据进行快速分析查询。它同时支持非关系数据来源和关系数据来源。支持的非关系数据源包括 Hadoop 分布式文件系统 (HDFS)、Amazon S3、Cassandra、MongoDB 和。 HBase支持的关系数据来源包括 MySQL、PostgreSQL、Amazon Redshift、Microsoft SQL Server 和 Teradata。

有关 Presto 的更多信息，请参阅以下内容：
+ [presto 简介，](https://aws.amazon.com/big-data/what-is-presto/)网站上对 Presto 的描述。 AWS 
+ 在《亚马逊 EMR 发布指南》中@@ [使用亚马逊弹性 MapReduce (EMR) 创建 prest *o* 集群](https://docs.aws.amazon.com/emr/latest/ReleaseGuide/emr-presto.html)。
+ 有关 Presto 的一般信息，请参阅 [Presto 文档](https://trino.io/docs/current/)。

您通过 Presto 查询引擎运行的查询结果可以转换为 Quick Sight 数据集。Presto 在后端数据库中处理分析查询。然后，它将结果返回给 Quick Sight 客户端。可以直接通过 Presto 查询数据，也可以将查询结果导入 SPICE。

在使用 Quick Sight 作为 Presto 客户端运行查询之前，请务必配置数据源配置文件。您需要在 Quick Sight 中为要访问的每个 Presto 数据源提供数据源配置文件。可以按照以下过程创建到 VPC 的连接。

**从 Amazon Quick Sight（控制台）创建与 presto 数据源的新连接**

1. 在 Amazon Quick Sight 起始页面上，选择左侧**的数据**。

1. 选择**创建**，然后选择**新数据集**。

1. 选择 **Presto** 磁贴。
**注意**  
在大多数浏览器中，您可以使用 Ctrl-F 或 Cmd-F 打开搜索框，然后输入 **presto** 进行查找。

1. 添加新数据来源的设置：
   + ****数据来源名称**** – 为您的数据来源输入描述性名称。此名称显示在**数据集**屏幕底部的**现有数据来源**部分中。
   + ****连接类型**** – 选择连接到 Presto 时需要使用的连接类型。

     要通过公有网络进行连接，请选择**公有网络**。

     如果您使用公有网络，则必须使用轻型目录访问协议 (LDAP) 保护您的 Presto 服务器和验证身份。有关将 Presto 配置为使用 LDAP 的信息，请参阅 Presto 文档中的 [LDAP authentication](https://trino.io/docs/current/security/ldap.html)。

     要通过虚拟专用连接进行连接，请从 **VPC 连接**列表中选择相应的 VPC 名称。

     如果您的 Presto 服务器允许未经身份验证的访问，则 AWS 要求您使用私有 VPC 连接安全地连接到该服务器。有关配置新 VPC 的信息，请参阅[在 Amazon Quick Sight 中配置 VPC 连接](working-with-aws-vpc.md)。
   + ****数据库服务器**** – 数据库服务器的名称。
   + ****端口****-服务器用来接受来自 Amazon Quick Sight 的传入连接的端口 
   + ****目录**** – 要使用的目录的名称。
   + ****需要身份验证**** –（可选）仅当选择 VPC 连接类型时，才会显示此选项。如果您要连接的 Presto 数据来源不需要身份验证，请选择**否**。否则，请保留默认设置（**是**）。
   + ****用户名**** – 输入用于连接到 Presto 的用户名。Quick Sight 将相同的用户名和密码应用于使用此数据源配置文件的所有连接。如果您想与其他账户分开监控 Quick Sight，请为每个 Quick Sight 数据源配置文件创建一个 Presto 帐户。

     您使用的 Presto 账户必须能够访问数据库，并至少能够在一个表上运行 `SELECT` 语句。
   + ****密码**** – 要与 Presto 用户名一起使用的密码。Amazon Quick Sight 会加密您在数据源配置文件中使用的所有凭证。有关更多信息，请参阅 [Amazon Quick 中的数据加密](data-encryption.md)。
   + ****启用 SSL**** – 默认启用 SSL。

1. 选择**验证连接**以测试设置。

1. 验证您的设置后，选择**创建数据来源**以完成连接。

# 使用 Snowflake 搭配 Amazon Quick
Snowflake

Snowflake 是一个 AI 数据云平台，提供从数据仓库和协作到数据科学和生成式人工智能的数据解决方案。Snowflake 是一家拥有多项 AWS 认证的[AWS 合作伙伴](https://partners.amazonaws.com/partners/001E000000d8qQcIAI/Snowflake)，其中包括生成式 AI、Machine Learning、数据和分析以及零售领域的 AWS ISV 能力。

Amazon Quick Sight 提供了两种连接 Snowflake 的方式：使用你的 Snowflake 登录凭证或使用客户证书。 OAuth 使用以下部分来了解这两种连接方法。

**Topics**
+ [

## 使用登录凭据创建与 Snowflake 的 Quick Sight 数据源连接
](#create-connection-to-snowflake)
+ [

## 使用客户端凭OAuth据创建与 Snowflake 的 Quick Sight 数据源连接
](#create-connection-to-snowflake-oauth-credentials)

## 使用登录凭据创建与 Snowflake 的 Quick Sight 数据源连接
使用登录凭证进行连接

 使用本节学习如何使用你的 Snowflake 登录凭据在 Quick Sight 和 Snowflake 之间建立连接。Quick Sight 和 Snowflake 之间的所有流量均通过 SSL 启用。

**在 Quick Sight 和 Snowflake 之间创建连接**

1. 打开 [Quick 控制台](https://quicksight.aws.amazon.com/)。

1. 在左侧导航窗格中，选择**数据**，然后选择**创建**，然后选择**新建数据集**。

1. 选择 **Snowflake** 数据来源卡片。

1. 在出现的弹出窗口中，输入以下信息：

   1. 对于**数据来源名称**，为您的 Snowflake 数据来源连接输入描述性名称。您可以通过与 Snowflake 的连接创建许多数据集，因此最好使用简洁的名称。

   1. 对于**连接类型**，选择正在使用的网络类型。如果您的数据是公开共享的，请选择**公共网络**。如果数据位于 VPC 内，请选择 **VPC**。要在 Quick Sight 中配置 VPC 连接，请参阅[在 Amazon Quick 中管理 VPC 连接](vpc-creating-a-connection-in-quicksight.md)。

   1. 对于**数据库服务器**，输入在 Snowflake 连接详细信息中指定的主机名。

1. 在**数据库名称和仓库**中，输入要连接的相应 Snowflake 数据库和仓库。

1. 对于**用户名**和**密码**，输入您的 Snowflake 凭证。

在 Quick Sight 账户和 Snowflake 账户之间成功创建数据源连接后，就可以开始[创建数据集](creating-data-sets.md)创建包含 Snowflake 数据的数据源连接了。

## 使用客户端凭OAuth据创建与 Snowflake 的 Quick Sight 数据源连接
使用 OAuth 客户端凭证进行连接

[你可以使用OAuth客户凭据通过 Quick Sight 将你的 Quick Sight 账户与 Snowflake 关联起来。 APIs](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSource.html) *OAuth*是一种标准授权协议，通常用于具有高级安全要求的应用程序。当你使用 OAuth 客户端凭据连接到 Snowflake 时，你可以使用 Quick Sight APIs 和 Quick Sight 用户界面创建包含 Snowflake 数据的数据集。有关在 Snowflake 中配置 OAuth 的更多信息，请参阅 [Snowflake OAuth overview](https://docs.snowflake.com/en/user-guide/oauth-snowflake-overview)。

Quick Sight 支持`client credentials`OAuth授权类型。 OAuth客户端凭证用于获取用于 machine-to-machine通信的访问令牌。此方法适用于客户端需要访问服务器上托管的资源而无需用户参与的情况。

在 OAuth 2.0 的客户端凭证流中，有几种客户端身份验证机制可用于向授权服务器对客户端应用程序进行身份验证。Quick Sight 支持基于 OAuth Snowflake 的客户端凭证，用于以下两种机制：
+ **令牌（基于客户端密钥的 OAuth）**：基于密钥的客户端身份验证机制与客户端凭证一起使用来授予流，以便向授权服务器进行身份验证。此身份验证方案要求将 OAuth 客户端应用的 `client_id` 和 `client_secret` 存储在 Secrets Manager 中。
+ **X509（基于客户端私有密钥 JWT 的 OAuth）**：基于 X509 证书密钥的解决方案为 OAuth 机制提供了额外的安全层，使用客户端证书（而非客户端密钥）进行身份验证。此方法主要由私有客户端使用，他们使用此方法向授权服务器进行身份验证，并且两个服务之间具有很强的信任度。

Quick Sight 已验证与以下身份提供商的OAuth连接：
+ OKTA
+ PingFederate

### 在 Secrets Manager 中存储 OAuth 凭证
存储 OAuth 凭证

OAuth 客户端凭证仅用于 machine-to-machine用例，不是为交互式而设计的。要在 Quick Sight 和 Snowflake 之间创建数据源连接，请在 Secrets Manager 中创建一个包含你的客户端应用程序凭据的新密钥。OAuth使用新密钥创建的秘密 ARN 可用于在 Quick Sight 中创建包含 Snowflake 数据的数据集。有关在 Quick Sight 中使用 Secrets Manager 密钥的更多信息，请参阅[在 Quick 中使用 AWS Secrets Manager 密钥而不是数据库凭证](secrets-manager-integration.md)。

您需要在 Secrets Manager 中存储的凭证由您使用的 OAuth 机制决定。基于 X509 OAuth 的密钥需要以下 key/value 配对：
+ `username`：连接到 Snowflake 时要使用的 Snowflake 账户用户名
+ `client_id`：OAuth 客户端 ID
+ `client_private_key`：OAuth 客户端私有密钥
+ `client_public_key`：OAuth 客户端证书公钥及其加密算法（例如 `{"alg": "RS256", "kid", "cert_kid"}`）

基于令牌OAuth的密钥需要以下 key/value 配对：
+ `username`：连接到 Snowflake 时要使用的 Snowflake 账户用户名
+ `client_id`：OAuth 客户端 ID
+ `client_secret`：OAuth 客户端密钥

### 使用 Quick Sight 创建 Snowflake OAuth 连接 APIs
示例

在 Secrets Manager 中创建包含你的 Snowflake OAuth 凭据的密钥并将你的 Quick 账户关联到 Secrets Manager 后，你可以使用 Quick Sight 和 SDK 在 Quick Sight 和 Snowflake 之间建立数据源连接。 APIs 以下示例使用令牌OAuth客户端凭据创建 Snowflake 数据源连接。

```
{
    "AwsAccountId": "AWSACCOUNTID",
    "DataSourceId": "UNIQUEDATASOURCEID",
    "Name": "NAME",
    "Type": "SNOWFLAKE",
    "DataSourceParameters": {
        "SnowflakeParameters": {
            "Host": "HOSTNAME",
            "Database": "DATABASENAME",
            "Warehouse": "WAREHOUSENAME",
            "AuthenticationType": "TOKEN",
            "DatabaseAccessControlRole": "snowflake-db-access-role-name",
            "OAuthParameters": {
              "TokenProviderUrl": "oauth-access-token-endpoint", 
              "OAuthScope": "oauth-scope",
              "IdentityProviderResourceUri" : "resource-uri",
              "IdentityProviderVpcConnectionProperties" : {
                "VpcConnectionArn": "IdP-VPC-connection-ARN" 
             }
        }
    },
    "VpcConnectionProperties": {
        "VpcConnectionArn": "VPC-connection-ARN-for-Snowflake"
    }
    "Credentials": {
        "SecretArn": "oauth-client-secret-ARN"
    }
}
```

有关 CreateDatasource API 操作的更多信息，请参阅[CreateDataSource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSource.html)。

在 Quick Sight 和 Snowflake 之间建立连接并使用 Quick Sight APIs 或 SDK 创建数据源后，新的数据源将显示在 Quick Sight 中。Quick Sight 作者可以使用此数据源来创建包含 Snowflake 数据的数据集。表的显示基于在 `CreateDataSource` API 调用中传递的 `DatabaseAccessControlRole` 参数中使用的角色。如果在创建数据来源连接时未定义此参数，则使用默认 Snowflake 角色。

在 Quick Sight 账户和 Snowflake 账户之间成功创建数据源连接后，就可以开始[创建数据集](creating-data-sets.md)创建包含 Snowflake 数据的数据源连接了。

# 在 Amazon Quick Sight 中使用 Star
Starburst

Starburst 是一项功能齐全的数据湖分析服务，建立在大规模并行处理（MPP）查询引擎 Trino 之上。使用本节学习如何从 Amazon Quick Sight 连接到 Starburst。Quick Sight 和 Starburst 之间的所有流量均通过 SSL 启用。如果你要连接 Starburst Galaxy，你可以通过登录你的 Starburst Galaxy 账户，然后选择 Partner Connect，然后选择 **Quick** Sight 来获取必要的**连接**详情。您应该能够看到诸如主机名和端口之类的信息。Amazon Quick Sight 支持 Starburst 的基本用户名和密码身份验证。

Quick Sight 提供了两种连接 Starburst 的方式：使用你的 Starburst 登录凭据或使用OAuth客户凭据。使用以下部分来了解这两种连接方法。

**Topics**
+ [

## 使用登录凭据创建与 Starburst 的 Quick Sight 数据源连接
](#create-connection-to-starburst)
+ [

## 使用OAuth客户端凭据创建与 Starburst 的 Quick Sight 数据源连接
](#create-connection-to-starburst-oauth)

## 使用登录凭据创建与 Starburst 的 Quick Sight 数据源连接
使用登录凭证进行连接

1. 首先创建一个新数据集。在左侧导航窗格中，选择**数据**，然后选择**创建**，然后选择**新建数据集**。

1. 选择 **Starburst** 数据来源卡片。

1. 选择 Starburst 产品类型。为本地 Starburst 实例选择 **Starburst Enterprise**。为托管式实例选择 **Starburst Galaxy**。

1. 对于**数据来源名称**，为您的 Starburst 数据来源连接输入描述性名称。您可以通过与 Starburst 的连接创建许多数据集，因此最好使用简洁的名称。

1. 对于**连接类型**，选择您正在使用的网络类型。如果您的数据是公开共享的，请选择**公共网络**。如果您的数据位于 VPC 内，请选择 **VPC**。要在 Amazon Quick Sight 中[配置 VPC 连接，请参阅在 Amazon Quick Sight 中配置 VPC 连接](https://docs.aws.amazon.com/quicksight/latest/user/vpc-creating-a-connection-in-quicksight.html)。此连接类型不适用于 Starburst Galaxy。

1. 对于**数据库服务器**，输入在 Starburst 连接详细信息中指定的主机名。

1. 对于**目录**，输入在 Starburst 连接详细信息中指定的目录。

1. 对于**端口**，输入在 Starburst 连接详细信息中指定的端口。Starburst Galaxy 的默认端口为 443。

1. 对于**用户名**和**密码**，输入 Starburst 连接凭证。

1. 要验证连接是否正常，请选择**验证连接**。

1. 要完成并创建数据来源，请选择**创建数据来源**。

**注意**  
Amazon Quick Sight 和 Starburst 之间的连接已使用 Starburst 版本 420 进行了验证。

在 Quick Sight 和 Starburst 账户之间成功创建数据源连接后，就可以开始[创建数据集](creating-data-sets.md)连接包含 Starburst 数据了。

## 使用OAuth客户端凭据创建与 Starburst 的 Quick Sight 数据源连接
使用 OAuth 客户端凭证进行连接

你可以使用OAuth客户凭据通过 Quick Sight 将你的 Quick Sight 账户与 Starburs [t APIs](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSource.html) 关联起来。 *OAuth*是一种标准授权协议，通常用于具有高级安全要求的应用程序。当你使用OAuth客户端凭据连接到 Starburst 时，你可以使用 Quick Sight APIs 和 Quick Sight 用户界面创建包含 Starburst 数据的数据集。有关在 Starburst 中配置 OAuth 的更多信息，请参阅 [OAuth 2.0 authentication](https://docs.starburst.io/latest/security/oauth2.html)。

Quick Sight 支持`client credentials`OAuth授权类型。 OAuth客户端凭证用于获取用于 machine-to-machine通信的访问令牌。此方法适用于客户端需要访问服务器上托管的资源而无需用户参与的情况。

在 OAuth 2.0 的客户端凭证流中，有几种客户端身份验证机制可用于向授权服务器对客户端应用程序进行身份验证。Quick Sight 支持基于 OAuth Starburst 的客户端凭证，用于以下两种机制：
+ **令牌（基于客户端密钥的 OAuth）**：基于密钥的客户端身份验证机制与客户端凭证一起使用来授予流，以便向授权服务器进行身份验证。此身份验证方案要求将 OAuth 客户端应用的 `client_id` 和 `client_secret` 存储在 Secrets Manager 中。
+ **X509（基于客户端私有密钥 JWT 的 OAuth）**：基于 X509 证书密钥的解决方案为 OAuth 机制提供了额外的安全层，使用客户端证书（而非客户端密钥）进行身份验证。此方法主要由私有客户端使用，他们使用此方法向授权服务器进行身份验证，并且两个服务之间具有很强的信任度。

Quick Sight 已验证与以下身份提供商的OAuth连接：
+ OKTA
+ PingFederate

### 在 Secrets Manager 中存储 OAuth 凭证
存储 OAuth 凭证

OAuth客户端凭证仅用于 machine-to-machine用例，不是为交互式而设计的。要在 Quick Sight 和 Starburst 之间创建数据源连接，请在 Secrets Manager 中创建一个包含客户端应用程序凭据的新密钥。OAuth使用新密钥创建的秘密 ARN 可用于在 Quick Sight 中创建包含 Starburst 数据的数据集。有关在 Quick Sight 中使用 Secrets Manager 密钥的更多信息，请参阅[在 Quick 中使用 AWS Secrets Manager 密钥而不是数据库凭证](secrets-manager-integration.md)。

您需要在 Secrets Manager 中存储的凭证由您使用的 OAuth 机制决定。基于 X509 OAuth 的密钥需要以下 key/value 配对：
+ `username`：连接到 Starburst 时要使用的 Starburst 账户用户名
+ `client_id`：OAuth 客户端 ID
+ `client_private_key`：OAuth 客户端私有密钥
+ `client_public_key`：OAuth 客户端证书公钥及其加密算法（例如 `{"alg": "RS256", "kid", "cert_kid"}`）

基于令牌OAuth的密钥需要以下 key/value 配对：
+ `username`：连接到 Starburst 时要使用的 Starburst 账户用户名
+ `client_id`：OAuth 客户端 ID
+ `client_secret`：OAuth 客户端密钥

### 使用 Quick Sight 创建 Starburst OAuth 连接 APIs
示例

在 Secrets Manager 中创建包含你的 Starburst OAuth 凭据的密钥并将你的 Quick 账户关联到 Secrets Manager 后，你可以使用 Quick Sight 和 SDK 在 Quick Sight 和 Starburst APIs 之间建立数据源连接。以下示例使用令牌 OAuth 客户端凭证创建 Starburst 数据来源连接。

```
{
    "AwsAccountId": "AWSACCOUNTID",
    "DataSourceId": "DATASOURCEID",
    "Name": "NAME",
    "Type": "STARBURST",
    "DataSourceParameters": {
        "StarburstParameters": {
            "Host": "STARBURST_HOST_NAME",
            "Port": "STARBURST_PORT",
            "Catalog": "STARBURST_CATALOG",
            "ProductType": "STARBURST_PRODUCT_TYPE",     
            "AuthenticationType": "TOKEN",
            "DatabaseAccessControlRole": "starburst-db-access-role-name",
            "OAuthParameters": {
              "TokenProviderUrl": "oauth-access-token-endpoint", 
              "OAuthScope": "oauth-scope",
              "IdentityProviderResourceUri" : "resource-uri",
              "IdentityProviderVpcConnectionProperties" : {
                "VpcConnectionArn": "IdP-VPC-connection-ARN"
            }
        }
    },
    "VpcConnectionProperties": {
        "VpcConnectionArn": "VPC-connection-ARN-for-Starburst"
    },
    "Credentials": {
        "SecretArn": "oauth-client-secret-ARN"
    }
}
```

有关 CreateDatasource API 操作的更多信息，请参阅[CreateDataSource](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSource.html)。

在 Quick Sight 和 Starburst 之间建立连接并使用 Quick Sight APIs 或 SDK 创建数据源后，新的数据源将显示在 Quick Sight 中。Quick Sight 作者可以使用此数据源来创建包含 Starburst 数据的数据集。表的显示基于在 `CreateDataSource` API 调用中传递的 `DatabaseAccessControlRole` 参数中使用的角色。如果在创建数据来源连接时未定义此参数，则使用默认 Starburst 角色。

在 Quick Sight 和 Starburst 账户之间成功创建数据源连接后，就可以开始[创建数据集](creating-data-sets.md)连接包含 Starburst 数据了。

# 从 SaaS 源创建数据来源和数据集
SaaS 源

要分析和报告来自软件即服务 (SaaS) 应用程序的数据，您可以使用 SaaS 连接器直接从 Quick Sight 访问您的数据。SaaS 连接器简化了使用 OAuth 访问第三方应用程序源的过程，而不需要将数据导出到中间数据存储。

您可以使用基于云或基于服务器的 SaaS 应用程序实例。要连接到企业网络上运行的 SaaS 应用程序，请确保 Quick Sight 可以通过网络访问该应用程序的域名系统 (DNS) 名称。如果 Quick Sight 无法访问 SaaS 应用程序，则会生成未知主机错误。

以下是一些您可以使用 SaaS 数据的方法示例：
+ 使用 Jira 跟踪问题和错误的工程团队可以报告开发人员效率和错误解决情况。
+ 营销组织可以将 Quick Sight 与 Adobe Analytics 集成，以构建整合的仪表板，以可视化其在线和网络营销数据。

使用以下过程，通过连接到利用软件即服务（SaaS）提供的源来创建数据来源和数据集。在本步骤中，我们使用与的连接 GitHub 作为示例。其他 SaaS 数据来源遵循相同的流程，但屏幕（特别是 SaaS 屏幕）可能看起来不同。

**通过 SaaS 连接到源来创建数据来源和数据集**

1. 在快速入门页面上，选择**数据**。

1. 在**数据**页面上，选择**创建**，然后选择**新建数据集**。

1. 选择代表您要使用的 SaaS 源的图标。例如，您可以选择 Adobe Analytics 或 GitHub。

   对于使用 OAuth 的源，连接器将您转到 SaaS 站点以授权连接，然后才能创建数据来源。

1. 为数据来源选择一个名称，然后输入该名称。如果具有更多屏幕提示，请输入相应的信息。然后选择**创建数据来源**。

1. 如果系统显示提示，请在 SaaS 登录页面上输入您的凭证。

1. 出现提示时，授权您的 SaaS 数据源与 Quick Sight 之间的连接。

   以下示例显示了 Quick Sight 访问 GitHub 账户以查看 Quick Sight 文档的授权。
**注意**  
Quick Sight 文档现已在上线 GitHub。如果要更改本用户指南，则可以使用直接 GitHub 对其进行编辑。

   （可选）如果您的 SaaS 帐户是组织帐户的一部分，则在授权 Quick Sight 的过程中，可能会要求您申请组织访问权限。如果要执行此操作，请按照 SaaS 屏幕上的提示进行操作，然后选择授权 Quick Sight。

1. 授权完成后，请选择要连接到的表或对象。然后选择 **Select**。

1. 在**完成数据集创建**屏幕上，选择以下选项之一：
   + 要保存数据来源和数据集，请选择**编辑/预览数据**。然后从顶部菜单栏中选择**保存**。
   + 要原样使用数据创建数据集和分析，请选择**可视化**。此选项可自动保存数据来源和数据集。

     要在创建分析前准备数据，您也可以选择**编辑/预览数据**。数据准备屏幕将打开。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。

以下限制适用：
+ SaaS 源必须支持 REST API 操作，Quick Sight 才能连接到它。
+ 如果您要连接到 Jira，则 URL 必须是公有地址。
+ 如果没有足够的 [SPICE](spice.md) 容量，请选择 **Edit/Preview data** (编辑/预览数据)。在数据准备屏幕中，您可以从数据集中删除字段以缩减其大小，也可以应用筛选条件减少返回的行数。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。

# 从 Salesforce 创建数据集
Salesforce

使用以下过程连接到 Salesforce 并选择报告或对象以提供数据，从而创建数据集。

**使用 Salesforce 从报告或对象创建数据集**

1. 选中 [数据来源限额](data-source-limits.md) 以确保您的目标报告或对象不超出数据来源限制。

1. 在快速入门页面上，选择**数据**。

1. 在**数据**页面上，选择**创建**，然后选择**新数据集**。

1. 选择 **Salesforce** 图标。

1. 为数据来源输入一个名称，然后选择**创建数据来源**。

1. 在 Salesforce 登录页面上，输入您的 Salesforce 凭证。

1. 对于 **Data elements: contain your data**，选择 **Select**，然后选择 **REPORT** 或 **OBJECT**。
**注意**  
不支持将已加入的报表作为 Quick Sight 数据源。

1. 请选择以下选项之一：
   + 要在创建分析前准备数据，请选择 **Edit/Preview data** 打开数据准备。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。
   + 否则，请选择一个报告或对象，然后选择 **Select**。

1. 请选择以下选项之一：
   + 要原样使用数据创建数据集和分析，请选择**可视化**。
**注意**  
如果没有足够的 [SPICE](spice.md) 容量，请选择 **Edit/Preview data** (编辑/预览数据)。在数据准备期间，您可以从数据集中删除字段以缩减其大小，也可以应用筛选条件减少返回的行数。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。
   + 要在创建分析前准备数据，请选择 **Edit/Preview data** 打开所选报告或对象的数据准备。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。

**注意**  
用户通过命名空间隔离进行身份验证的嵌入式控制台部署不支持 Salesforce 连接器。 OAuth 身份验证流程需要直接访问 Amazon Quick Sight 控制台才能完成登录过程。

# 将 Trino 与 Amazon Quick Sigh
Trino

Trino 是一款大规模并行处理（MPP）查询引擎，旨在快速查询包含数 PB 数据的数据湖。使用本节学习如何从 Amazon Quick Sight 连接到 Trino。Amazon Quick Sight 和 Trino 之间的所有流量均通过 SSL 启用。Amazon Quick Sight 支持对 Trino 进行基本的用户名和密码身份验证。

## 为 Trino 创建数据来源连接
Trino

1. 首先创建一个新数据集。从左侧导航窗格中选择 “**数据**”。选择**创建**，然后选择**新数据集**。

1. 选择 **Trino** 数据来源卡片。

1. 对于**数据来源名称**，为您的 Trino 数据来源连接输入描述性名称。您可以通过与 Trino 的连接创建许多数据集，因此最好使用简洁的名称。

1. 对于**连接类型**，选择您正在使用的网络类型。如果您的数据是公开共享的，请选择**公共网络**。如果您的数据位于 VPC 内，请选择 **VPC**。要在 Amazon Quick Sight 中[配置 VPC 连接，请参阅在 Amazon Quick Sight 中配置 VPC 连接](https://docs.aws.amazon.com/quicksight/latest/user/vpc-creating-a-connection-in-quicksight.html)。

1. 对于**数据库服务器**，输入在 Trino 连接详细信息中指定的主机名。

1. 对于**目录**，输入在 Trino 连接详细信息中指定的目录。

1. 对于**端口**，输入在 Trino 连接详细信息中指定的端口。

1. 对于**用户名**和**密码**，输入 Trino 的连接凭证。

1. 要验证连接是否正常，请选择**验证连接**。

1. 要完成并创建数据来源，请选择**创建数据来源**。

## 为 Trino 添加新的 Amazon Quick Sight 数据集


完成 Trino 的[数据来源创建过程](https://docs.aws.amazon.com/create-connection-to-starburst.html)后，您可以创建用于分析的 Trino 数据集。您可以使用新的或现有的 Trino 数据来源创建新的数据集。当您创建新的数据源时，Amazon Quick Sight 会立即引导您创建数据集，如下所示的步骤 3。如果您使用现有的数据来源创建新数据集，请从下面的步骤 1 开始操作。

要使用 Trino 数据来源创建数据集，请参阅以下步骤。

1. 从起始页中，选择**数据**。选择**创建**，然后选择**新数据集**。

1. 选择您创建的 Trino 数据源。

1. 选择**创建数据集**。

1. 要指定要连接的表，请选择一个架构。如果您不想选择架构，也可以使用自己的 SQL 语句。

1. 要指定要连接的表，请先选择要使用的**架构**。对于**表**，选择要使用的表。如果您更想使用自己的 SQL 语句，请选择**使用自定义 SQL**。

1. 选择**编辑/预览**。

1. （可选）要添加更多数据，请按以下步骤进行操作：

1. 选择右上角的**添加数据**。

1. 要连接到不同的数据，请选择**切换数据来源**，然后选择不同的数据集。

1. 按照提示完成数据添加。

1. 将新数据添加到同一数据集后，选择**配置此联接**（两个红点）。为每个附加表设置联接。

1. 如果要添加计算字段，请选择**添加计算字段**。

1. 清除任何您要省略的字段的复选框。

1. 更新任何您要更改的数据类型。

1. 完成后，选择**保存**，以保存并关闭数据集。

**注意**  
Quick Sight 和 Trino 之间的连接已使用 Trino 版本 410 进行了验证。

# 使用本地文本文件创建数据集
文本文件

要使用本地文本文件数据来源创建数据集，请确定文件的位置，然后上传文件。在创建数据集期间，文件数据将自动导入到 [SPICE](spice.md) 中。

**基于本地文本文件创建数据集**

1. 选中 [数据来源限额](data-source-limits.md) 以确保目标文件未超出数据来源限制。

   支持的文件类型包括 .csv、.tsv、.json、.clf 或 .elf 文件。

1. 在快速入门页面上，选择**数据**。

1. 选择**创建**，然后选择**新数据集**。

1. 选择 **Upload a file** (上传文件)。

1. 在 **Open** 对话框中，浏览到一个文件并选中它，然后选择 **Open**。

   文件大小必须不超过 1 GB 才能上传到 Quick Sight。

1. 要在创建数据集之前准备数据，请选择**编辑/预览数据**。否则，选择 **Visualize** 以原样使用数据创建分析。

   如果选择前者，可在准备数据的过程中指定数据集名称。如果选择后者，将创建与源文件同名的数据集。要了解数据准备的更多信息，请参阅[使用 Amazon Quick Sight 准备数据](preparing-data.md)。

# 在 Amazon Quick Sight 中使用亚马逊 Timestream 数据
Timestream 数据

接下来，你可以找到如何使用 Amazon Quick Sight 连接到你的 Amazon Timestream 数据。有关简要概述，请参阅上的 [Amazon Timestream 入门和亚马逊 QuickSight](https://youtu.be/TzW4HWl-L8s)视频教程。 YouTube

## 为 Timestream 数据库创建新的 Amazon Quick Sight 数据源连接
为 Timestream 创建数据来源连接

接下来，你可以找到如何从亚马逊 Quick Sight 连接到亚马逊 Timestream。

在继续操作之前，需要授权亚马逊 Quick Sight 才能连接到亚马逊 Timestream。如果未启用连接，则在尝试连接时会出现错误。Quick Sight 管理员可以授权 AWS 资源连接。要进行授权，请点击右上角的配置文件图标打开菜单。选择 “**管理**” QuickSight、“**安全和权限”**、**“添加或删除**”。然后启用 Amazon Timestream 的复选框，然后选择**更新**以进行确认。有关更多信息，请参阅 [配置 Amazon Quick Sight 对 AWS 数据源的访问权限](access-to-aws-resources.md)。

**连接到 Amazon Timestream**

1. 首先创建一个新数据集。从左侧的导航窗格中选择 “**数据**”。

1. 选择**创建**，然后选择**新数据集**。

1. 选择 Timestream 数据来源卡片。

1. 对于**数据来源名称**，为 Timestream 数据来源连接输入描述性名称，例如 `US Timestream Data`。您可以通过与 Timestream 的连接创建许多数据集，因此最好使用简洁的名称。

1. 选择**验证连接**，检查是否可以成功连接到 Timestream。

1. 选择**创建数据来源**以继续。

1. 对于**数据库**，选择**选择**以查看可用选项列表。

1. 选择要使用数据库，然后选择**选择**以继续。

1. 请执行以下操作之一：
   + 要将数据导入 Quick Sight 的内存引擎（名为SPICE），请选择 “**导入到” SPICE 以加快分析速度**。
   + 要允许 Quick Sight 在每次刷新数据集或使用分析或仪表板时对您的数据运行查询，请选择**直接查询您的数据**。

   如果要在使用 Timestream 数据的已发布控制面板上启用自动刷新，则 Timestream 数据集需要使用直接查询。

1. 选择**编辑/预览**，然后选择**保存**以保存数据集并将其关闭。

1. 对要在数据集中打开的与 Timestream 并发直接连接数重复这些步骤。例如，假设您要在 Quick Sight 数据集中使用四个表。当前，Quick Sight 数据集一次只能从 Timestream 数据源连接到一个表。要在同一个数据集中使用四个表，需要在 Quick Sight 中添加四个数据源连接。

## 管理 Timestream 数据的权限
管理 Timestream 权限

以下过程介绍如何查看、添加和撤销权限以允许访问同一 Timestream 数据来源。您添加的用户必须是 Quick Sight 中的活跃用户，然后才能添加他们。

**编辑数据集的权限**

1. 选择左侧**的数据**，然后向下滚动以查找您的 Timestream 连接的数据集。以 `US Timestream Data` 为例。

1. 选择 **Timestream** 数据集将其打开。

1. 在打开的数据集详细信息页面上，选择**权限**选项卡。

   此时会显示当前权限。

1. 要添加权限，请选择**添加用户和组**，然后按照以下步骤操作：

   1. 添加用户或组以允许他们使用相同的数据集。

   1. 添加完要添加的所有人后，选择要应用于他们的**权限**。

1. （可选）要编辑权限，可以选择**查看者**或**拥有者**。
   + 选择**查看者**以允许读取权限。
   + 选择 “**所有者**” 以允许该用户编辑、共享或删除此 Quick Sight 数据源。

1. （可选）要撤销权限，请选择**撤销访问权限**。撤销某人的访问权限后，他们将无法创建、编辑、共享或删除数据集。

1. 完成后，请选择 **Close**。

## 为时间流添加新的 Quick Sight 数据集
为 Amazon Timestream 添加新的 Quick Sight 数据集

拥有 Timestream 数据的现有数据来源连接后，您可以创建 Timestream 数据集以用于分析。

目前，您只能对数据集中的单个表使用 Timestream 连接。要将来自多个 Timestream 表的数据添加到单个数据集中，请为每个表创建一个额外的 Quick Sight 数据源连接。

**使用 Amazon Timestream 创建数据集**

1. 在左侧选择**数据**，然后向下滚动以找到您的 Timestream 连接的数据源卡。如果您有许多数据来源，则可以使用页面顶部的搜索栏来查找名称部分匹配的数据来源。

1. 选择 **Timestream** 数据来源卡片，然后选择**创建数据集**。

1. 对于**数据库**，选择**选择**以查看可用数据库列表，然后选择要使用的数据库。

1. 对于**表**，选择要使用的表。

1. 选择**编辑/预览**。

1. （可选）要添加更多数据，请按以下步骤进行操作：

   1. 选择右上角的**添加数据**。

   1. 要连接到不同的数据，请选择**切换数据来源**，然后选择不同的数据集。

   1. 按照 UI 提示完成数据添加。

   1. 将新数据添加到同一数据集后，选择**配置此联接**（两个红点）。为每个附加表设置联接。

   1. 如果要添加计算字段，请选择**添加计算字段**。

   1. 要从 SageMaker AI 添加模型，请选择 A **ugment with。 SageMaker**此选项仅在 Amazon Quick Enterprise 版中可用。

   1. 清除任何您要省略的字段的复选框。

   1. 更新任何您要更改的数据类型。

1. 完成后，选择**保存**，以保存并关闭数据集。

## 向分析中添加 Timestream 数据


接下来，您将了解如何将 Amazon Timestream 数据集添加到 Quick Sight 分析中。开始之前，请确保您已经拥有包含要使用的 Timestream 数据的现有数据集。

**向分析中添加 Amazon Timestream 数据**

1. 选择左侧的**分析**。

1. 请执行以下操作之一：
   + 要创建新分析，请选择右侧的**新分析**。
   + 要添加到现有分析，请打开要编辑的分析。
     + 选择左上角附近的铅笔图标。
     + 选择**添加数据集**。

1. 选择要添加的 Timestream 数据集。

有关更多信息，请参阅 [Working with analyses](https://docs.aws.amazon.com/quicksight/latest/user/working-with-analyses.html)。

# 数据来源限额


您在 Amazon Quick Sight 中使用的数据源必须符合以下配额。

**Topics**
+ [

## 导入数据的 SPICE 限额
](#spice-limits)
+ [

## 直接 SQL 查询的限额
](#query-limits)

## 导入数据的 SPICE 限额


在 Amazon Quick Sight 中创建新数据集时，会[SPICE](spice.md)限制您可以添加到数据集的行数。您可以从查询或文件中将数据摄取到 SPICE 中。每个文件最多可有 2,000 列。每个列名最多可有 127 个 Unicode 字符。每个字段最多可以有 2,047 个 Unicode 字符。如果您使用新的数据准备体验来创建 SPICE 数据集，则每个字段最多可以包含 65,534 个 Unicode 字符。

要从较大的集合中检索数据子集，您可以取消选择一些列，或者应用筛选条件以减小数据大小。如果您要从 Amazon S3 导入，则每个清单可指定最多 1,000 个文件。

SPICE 的限额如下所示：
+  每个字段有 2,047 个 Unicode 字符。（65,534 个 Unicode 字符具有全新的数据准备体验） 
+ 每个列名最多有 127 个 Unicode 字符
+ 每个文件有 2,000 列
+ 每个清单最多有 1,000 个文件
+ 对于标准版，每个数据集有 2500 万 (25,000,000) 行或 25GB
+ 对于企业版，每个数据集有 20 亿 (2,000,000,000) 行或 2 TB

所有限额也适用于具有行级别安全性的 SPICE 数据集。

在极少数情况下，如果您要将大型行摄取到 SPICE 中，则在达到行限额之前，您可能会达到每个数据集的千兆字节限额。此大小基于数据摄取到 SPICE 后所占用的 SPICE 容量。

## 直接 SQL 查询的限额


如果您不将数据导入 SPICE 中，则将应用空间和时间的不同限额。对于操作（例如，连接、对数据集的数据进行采样以及生成视觉对象），可能会发生超时。在某些情况下，这些是源数据库引擎设置的超时限额。在其他情况下，例如可视化，Amazon Quick Sight 会在 2 分钟后生成超时。

但是，并非所有数据库驱动程序会响应 2 分钟的超时，例如 Amazon Redshift。在这些情况下，查询的运行时间与响应返回所需的时间一样长，这可能导致对数据库进行的长时间运行的查询。在发生此情况时，可以从数据库服务器取消查询来释放数据库资源。请按照数据库服务器上的相应说明执行此操作。例如，有关如何在 Amazon Redshift 中取消查询的更多信息，请参阅[在 Amazon Redshift 中取消查询](https://docs.aws.amazon.com/redshift/latest/dg/cancel_query.html)和《Amazon Redshift 数据库开发人员指南》**中的[在 Amazon Redshift 中实施工作负载管理](https://docs.aws.amazon.com/redshift/latest/dg/cm-c-implementing-workload-management.html)。

直接查询的每个结果集最多可包含 2,000 列。每个列名最多可有 127 个 Unicode 字符。如果要从更大的表中检索数据，您可以使用几种方法之一来减小数据的大小。您可以取消选择列或应用筛选条件。在 SQL 查询中，您还可以使用谓词，例如，`WHERE`、`HAVING`。如果您的视觉对象在直接查询期间发生超时，则可简化查询以优化执行时间，也可以将数据导入 SPICE。

查询限额如下：
+ 每个列名最多有 127 个 Unicode 字符。
+ 每个数据集 2,000 列。
+ 生成视觉对象或可选数据集样本有 2 分钟限额。
+ 将应用数据来源超时限额（因每个数据库引擎而异）。

# 支持的数据类型和值


Amazon Quick Sight 目前支持以下原始数据类型：`Date``Decimal`、`Integer`、和。`String`SPICE 支持以下数据集类型：`Date`、`Decimal-fixed`、`Decimal-float`、`Integer` 和 `String`。Quick Sight 通过将布尔值提升为整数来接受布尔值。它还可以派生地理空间数据类型。地理空间数据类型使用元数据来解释物理数据类型。经度和纬度都是数字。所有其他地理空间类别都是字符串。

确保用作数据来源的任何表或文件仅包含可隐式转换为这些数据类型的字段。Amazon Quick Sight 会跳过任何无法转换的字段或列。如果您收到错误消息，显示“fields were skipped because they use unsupported data types”，请更改您的查询或表以删除或重新转换不支持的数据类型。

## 字符串和文本数据


包含字符的字段或列称为*字符串*。数据类型为 `STRING` 的字段最初几乎可以包含任何类型的数据。示例包括姓名、描述、电话号码、账号、JSON 数据、城市、邮政编码、日期和可用于计算的数字。这些类型有时称为一般意义上的文本数据，但不是技术意义上的。Quick Sight 不支持数据集列中的二进制和字符大对象 (BLOBs)。在 Quick Sight 文档中，“文本” 一词始终表示 “字符串数据”。

首次查询或导入数据时，Quick Sight 会尝试将其标识为其他类型的数据，例如日期和数字。最好验证分配给字段或列的数据类型是否正确。

对于导入数据中的每个字符串字段，Quick Sight 使用 8 字节的字段长度加上 UTF-8 编码的字符长度。Amazon Quick Sight 支持 UTF-8 文件编码，但不支持 UTF-8（带有 BOM）。

## 日期和时间数据


数据类型为 `Date` 的字段还包括时间数据，也称为 `Datetime` 字段。Quick Sight 支持使用[支持的日期格式的日期](#supported-date-formats)和时间。

Quick Sight 使用 UTC 时间来查询、筛选和显示日期数据。当日期数据未指定时区时，Quick Sight 会采用 UTC 值。当日期数据确实指定了时区时，Quick Sight 会将其转换为以 UTC 时间显示。例如，具有类似时区偏移量的日期字段会转换**2015-11-01T03:00:00-08:00**为 UTC，并在 Amazon Quick Sight 中显示为**2015-11-01T15:30:00**。

对于导入数据中的每个`DATE`字段，Quick Sight 使用的字段长度为 8 字节。Quick Sight 支持 UTF-8 文件编码，但不支持 UTF-8（带有 BOM）。

## 数值数据


数值数据包括整数和小数。数据类型为 `INT` 的整数是没有小数位的负数或正数。Quick Sight 不区分大整数和小整数。值大于 `9007199254740991` 或 `2^53 - 1` 的整数可能无法在视觉对象中精确或正确显示。

数据类型为 `Decimal` 的小数是负数或正数，在小数点之前或之后至少包含一个小数位。当您选择直接查询模式时，所有非整数十进制类型都会标记为 `Decimal`，底层引擎会根据数据来源支持的行为处理数据点的精度。有关受支持的数据来源类型的更多信息，请参阅 [支持的数据类型和值](#supported-data-types-and-values)。

在中存储数据集时SPICE，可以选择将十进制值存储为十进制类型`fixed`或`float`十进制类型。 `Decimal-fixed`数据类型使用十进制 (`18,4`) 格式，允许总共允许 18 位数字，小数点后最多允许 4 位数字。 `Decimal-fixed`数据类型是进行精确数学运算的不错选择，但是 Quick Sight 会将值四舍五入到最接近的万分之一位。SPICE

`Decimal-float` 数据类型为值提供大约 16 位有效数字精度。有效数字可以位于小数点的任意一侧，以同时支持具有许多小数位和更高数字的数字。例如，`Decimal-float` 数据类型支持数字 `12345.1234567890` 或数字 `1234567890.12345`。如果您使用接近 `0` 的非常小的数字，则 `Decimal-float` 数据类型最多支持小数点右侧 15 位数字，例如 `0.123451234512345`。此数据类型支持的最大值为 `1.8 * 10^308`，以最大限度地降低数据集发生溢出错误的可能性。

`Decimal-float` 数据类型不精确，有些值存储为近似值，而不是实际值。这可能会导致在存储和返回某些特定值时出现轻微差异。以下注意事项适用于 `Decimal-float` 数据类型。
+ 如果您使用的数据集来自 Amazon S3 数据来源，SPICE 会为所有数字十进制值分配 `Decimal-float` 十进制类型。
+ 如果您使用的数据集来自数据库，SPICE 将使用数据库中为该值分配的十进制类型。例如，如果数据库中为该值分配了定点数值，则该值在 SPICE 中将为 `Decimal-fixed` 类型。

对于包含可转换为 `Decimal-float` 数据类型的字段的现有 SPICE 数据集，**编辑数据集**页面中会出现一个弹出窗口。要将现有数据集的字段转换为 `Decimal-float` 数据类型，请选择**更新字段**。如果不想选择加入，请选择**不更新字段**。每次打开**编辑数据集**页面时，都会弹出**更新字段**，直到保存并发布数据集为止。

## 外部数据来源支持的数据类型


下表列出了在 Amazon Quick Sight 中使用以下数据源时所支持的数据类型。


****  

| 数据库引擎或源 | 数值数据类型 | 字符串数据类型 | 日期时间类型 | 布尔数据类型 | 
| --- | --- | --- | --- | --- | 
|   **Amazon Athena、Presto、Starburst、Trino**  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  | 
|  **Amazon Aurora**、**MariaDB** 和 **MySQL**  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  | 
|   **亚马逊 OpenSearch 服务**  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  | 
|  **Oracle**  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html) | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html) | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html) | bit | 
|   **PostgreSQL**   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  | 
|   **Apache Spark**  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  | 
|   **Snowflake**   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  | 
|   **Microsoft SQL Server**   |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  | 

### 支持的日期格式


Amazon Quick Sight 支持本节中描述的日期和时间格式。在向 Amazon Quick Sight 添加数据之前，请检查您的日期格式是否兼容。如果您需要使用不支持的格式，请参阅 [使用不支持的日期或自定义日期](using-unsupported-dates.md)。

支持的格式因数据来源类型而异，如下所示：


| 数据来源 | 小时制 | 日期格式 | 
| --- | --- | --- | 
|  文件上传 Amazon S3 源 Athena Salesforce  |  24 小时和 12 小时制  |  Joda API 文档中描述了支持的日期和时间格式。 如需查看 Joda 日期格式的完整列表，请参阅 Joda DateTimeFormat 网站上的 [Class](http://www.joda.org/joda-time/apidocs/org/joda/time/format/DateTimeFormat.html)。 对于存储在内存中的数据集 (SPICE)，Amazon Quick Sight 支持以下范围内的日期：`Jan 1, 0001 00:00:00 UTC`到`Dec 31, 9999, 23:59:59 UTC`。  | 
|  关系数据库源  |  仅限 24 小时制  |  以下数据和时间格式： [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/supported-data-types-and-values.html)  | 

### 不支持的数据值


如果某个字段包含的值与 Amazon Quick Sight 分配给该字段的数据类型不一致，则会跳过包含这些值的行。例如，使用以下源数据。

```
Sales ID    Sales Date    Sales Amount
--------------------------------------
001        10/14/2015        12.43
002        5/3/2012          25.00
003        Unknown           18.17
004        3/8/2009          86.02
```

Amazon Quick Sight 解释**Sales Date**为日期字段，并删除包含非日期值的行，因此仅导入以下行。

```
Sales ID    Sales Date    Sales Amount
--------------------------------------
001        10/14/2015        12.43
002        5/3/2012          25.00
004        3/8/2009          86.02
```

在某些情况下，数据库字段可能包含 JDBC 驱动程序无法为源数据库引擎解释的值。在这些情况下，无法解释的值将替换为 Null，以便可以导入这些行。此问题的唯一已知事例是，全部为零值的 MySQL 日期、日期时间和时间戳字段，例如 **0000-00-00 00:00:00**。例如，使用以下源数据。

```
Sales ID    Sales Date                Sales Amount
---------------------------------------------------
001        2004-10-12 09:14:27        12.43
002        2012-04-07 12:59:03        25.00
003        0000-00-00 00:00:00        18.17
004        2015-09-30 01:41:19        86.02
```

在这种情况下，将导入以下数据。

```
Sales ID    Sales Date                Sales Amount
---------------------------------------------------
001        2004-10-12 09:14:27        12.43
002        2012-04-07 12:59:03        25.00
003        (null)                     18.17
004        2015-09-30 01:41:19        86.02
```

# 使用数据集


数据集是 Quick Sight 分析的基础，可作为准备好的结构化数据源，为您的分析和仪表板提供支持。从数据源创建数据集后，您需要在数据的整个生命周期中对其进行有效管理，以确保可靠、安全的协作分析。

本节介绍完整的数据集管理工作流程，从编辑和版本控制数据集到与团队成员共享数据集和实施安全控制。您将学习如何在支持协作分析的同时保持数据集的完整性，跟踪哪些分析依赖于您的数据集，以及如何实施行级和列级安全以保护敏感信息。无论您是在准备供团队使用的数据集、对分析问题进行故障排除，还是实施数据治理策略，这些主题都提供了在 Quick Sight 中进行有效数据集管理的基本知识。

**Topics**
+ [

# 创建数据集
](creating-data-sets.md)
+ [

# 编辑数据集
](edit-a-data-set.md)
+ [

# 将数据集恢复到先前发布的版本
](dataset-versioning.md)
+ [

# 复制数据集
](duplicate-a-data-set.md)
+ [

# 共享数据集
](sharing-data-sets.md)
+ [

# 跟踪使用数据集的控制面板和分析
](track-analytics-that-use-dataset.md)
+ [

# 在 Amazon Quick 中使用数据集参数
](dataset-parameters.md)
+ [

# 在 Amazon Quick 中使用行级安全
](row-level-security.md)
+ [

# 使用列级别安全性限制对数据集的访问
](restrict-access-to-a-data-set-using-column-level-security.md)
+ [

# 在 Amazon Quick 中以 IAM 角色身份运行查询
](datasource-run-as-role.md)
+ [

# 删除数据集
](delete-a-data-set.md)
+ [

# 向分析中添加数据集
](adding-a-data-set-to-an-analysis.md)

# 创建数据集


 您可以在 Amazon Quick 中使用新的或现有的数据源创建数据集。您可以使用各种数据库数据源向 Amazon Quick 提供数据。这包括 Amazon RDS 实例和 Amazon Redshift 集群。这还包括您的组织、Amazon EC2 或类似环境中的 MariaDB、Microsoft SQL Server、MySQL、Oracle 和 PostgreSQL 实例。

**Topics**
+ [

# 使用新数据来源创建数据集
](creating-data-sets-new.md)
+ [

# 使用现有的数据来源创建数据集
](create-a-data-set-existing.md)
+ [

# 使用 Amazon Quick 中的现有数据集创建数据集
](create-a-dataset-existing-dataset.md)

# 使用新数据来源创建数据集
使用新数据来源

当您基于诸如 Amazon RDS、Amazon Redshift 或 Amazon EC2 之类的 AWS 服务创建数据集时，使用来自该来源的数据时可能会收取数据传输费用。这些费用也可能有所不同，具体取决于该 AWS 资源是否位于您为Amazon Quick账户选择的家庭 AWS 区域 中。有关定价的详细信息，请参阅所用服务的定价页面。

在创建新的数据库数据集时，您可以选择一个表、联接多个表或创建 SQL 查询来检索您想要的数据。您也可以更改数据集是使用直接查询还是在 [SPICE](spice.md) 中存储数据。

**创建新的数据集**

1. 要创建数据集，请在 “**数据” 页面上选择 “新建**数据**集**”。然后，您可以基于现有数据集或数据来源创建数据集，或连接到新数据来源并使数据集基于该数据来源。

1. 向数据来源提供连接信息：
   + 对于本地的文本或 Microsoft Excel 文件，只需标识文件位置并上传文件。
   + 对于 Amazon S3，您需要提供一个清单，以指定要使用的文件或存储桶以及目标文件的导入设置。
   + 对于亚马逊 Athena，系统会返回您账户中的所有 Athena 数据库。 AWS 不需要额外凭证。
   + 对于 Salesforce，需要提供用于连接的凭证。
   + 对于 Amazon Redshift、Amazon RDS、Amazon EC2 或其他数据库数据来源，需要提供有关托管数据的服务器和数据库的信息。还要为该数据库实例提供有效的凭证。

# 使用数据库创建数据集


以下过程演示了如何连接到数据库数据来源和创建数据集。要使用您的 Amazon Quick 账户自动发现 AWS 的数据源创建数据集，请使用[使用自动发现的 Amazon Redshift 集群或 Amazon RDS 实例创建数据集](#create-a-data-set-autodiscovered)。要使用任何其他数据库数据来源创建数据集，请使用 [使用非自动发现的数据库创建数据集](#create-a-data-set-database)。

## 使用自动发现的 Amazon Redshift 集群或 Amazon RDS 实例创建数据集


使用以下过程创建指向自动发现的 AWS 数据来源的连接。

**创建与自动发现 AWS 的数据源的连接**

1. 选中 [数据来源限额](data-source-limits.md) 以确保您的目标表或查询不超出数据来源限制。

1. 确认您计划使用的数据库凭证具有[所需的权限](required-permissions.md)中所述的相应权限。

1. 按照中的说明，确保您已将集群或实例配置为 Amazon Quick 访问权限[网络和数据库配置要求](configure-access.md)。

1. 在 Amazon 快速入门页面上，选择**数据**。

1. 选择 “**创建**”，然后选择 “**新建数据集**”。

1. 根据要连接的 AWS 服务，选择 **RDS 或 R** **edshift 自动发现**图标。

1. 输入数据源的连接信息，如下所示：
   + 对于**数据来源名称**，输入数据来源的名称。
   + 对于 **Instance ID (实例 ID)**，选择要连接到的实例或集群的名称。
   + **Database name** 会显示 **Instance ID** 集群或实例的默认数据库。要在该集群或实例上使用不同的数据库，请输入其名称。
   + 对于 **UserName**，请输入有权执行以下操作的用户帐户的用户名：
     + 访问目标数据库。
     + 在该数据库中读取要使用的任何表（对其执行 `SELECT` 语句）。
   + 对于**密码**，输入您输入的账户的密码。

1. 选择 **Validate connection** 验证您的连接信息是否正确。

1. 如果连接验证成功，请选择 **Create data source**。如果未成功，则更正连接信息，然后重新验证。
**注意**  
Amazon Quick 使用安全套接字层 (SSL) 自动保护与亚马逊 RDS 实例和 Amazon Redshift 集群的连接。您无需执行任何操作来启用这一功能。

1. 选择下列选项之一：
   + **自定义 SQL**

     在下一个屏幕上，您可以选择使用 **Use custom SQL（使用自定义 SQL）**选项写入查询。这样做将打开一个名为 **Enter custom SQL query (输入自定义 SQL 查询)** 的屏幕，您可以在其中输入查询的名称，然后输入 SQL。为获得最佳结构，请在 SQL 编辑器中构成查询，然后将其粘贴到此窗口中。在命名和输入查询后，您可以选择 **Edit/Preview data（编辑/预览数据）**或 **Confirm query（确认查询）**。立即选择 **Edit/Preview data（编辑/预览数据）**以转到数据准备。选择 **Confirm query（确认查询）**以验证 SQL 并确保没有错误。
   + **选择表**

     要连接到特定表，对于**架构：包含表组**，请选择**选择**，然后选择一个架构。有时数据库只有一个架构，此情况下会自动选择该架构，不显示架构选择选项。

     要在创建分析前准备数据，请选择 **Edit/Preview data** 打开数据准备。如果要联接到更多表，请使用此选项。

     否则，在选择表后，请选择 **Select（选择）**。

1. 请选择以下选项之一：
   + 在创建分析之前准备数据。为此，选择 **Edit/Preview data (编辑/预览数据)** 以打开选定表的数据准备屏幕。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。
   + 按原样使用表数据创建一个数据集和分析，并将数据集数据导入到 SPICE 以提高性能（建议）。为此，请检查表大小和 SPICE 指示器以确定您是否具有足够的容量。

     如果有足够的 SPICE 容量，请选择**导入到 SPICE 以加快分析**，然后选择**可视化**创建分析。
**注意**  
如果您希望使用 SPICE 但没有足够的空间，请选择**编辑/预览数据**。在数据准备过程中，您可以从数据集中删除字段以缩减其大小。您也可以应用筛选条件或编写 SQL 查询以减少返回的行或列数。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。
   + 要按原样使用表数据创建一个数据集和分析，并直接从数据库中查询数据，请选择**直接查询数据**选项。然后，选择 **Visualize (可视化)** 以创建分析。

## 使用非自动发现的数据库创建数据集


使用以下过程创建指向自动发现的 Amazon Redshift 集群或 Amazon RDS 实例以外的任何数据库连接。此类数据库包括位于不同账户 AWS 区域 或与不同账户关联的 Amazon Redshift 集群和 Amazon RDS 实例。 AWS 它们还包括位于本地、Amazon EC2 或某种其他可访问的环境中的 MariaDB、Microsoft SQL Server、MySQL、Oracle 和 PostgreSQL 实例。

**创建与不是自动发现的 Amazon Redshift 集群或 RDS 实例的数据库连接**

1. 选中 [数据来源限额](data-source-limits.md) 以确保您的目标表或查询不超出数据来源限制。

1. 确认您计划使用的数据库凭证具有[所需的权限](required-permissions.md)中所述的相应权限。

1. 按照中的说明，确保您已将集群或实例配置为 Amazon Quick 访问权限[网络和数据库配置要求](configure-access.md)。

1. 在 Amazon 快速入门页面上，选择**管理数据**。

1. 选择 “**创建**”，然后选择 “**新建数据组”**。

1. 如果您想**连接到其他账户中的 Amazon Redshift 集群或 AWS 区域 与其他账户关联的 Amazon Redshift 集群，请选择 Redshift 手动**连接图标。 AWS 或者，选择相应的数据库管理系统图标以连接到 Amazon Aurora、MariaDB、Microsoft SQL Server、MySQL Oracle 或 PostgreSQL 实例。

1. 输入数据源的连接信息，如下所示：
   + 对于**数据来源名称**，输入数据来源的名称。
   + 对于 **Database server (数据库服务器)**，输入以下值之一：
     + 对于 Amazon Redshift 集群或 Amazon RDS 实例，输入该集群或实例的端点（不带端口号）。例如，如果终端节点值为 `clustername.1234abcd.us-west-2.redshift.amazonaws.com:1234`，则输入 `clustername.1234abcd.us-west-2.redshift.amazonaws.com`。您可以从 AWS 控制台集群或实例详细信息页面上的**终端节点**字段中获取终端节点值。
     + 对于 MariaDB、Microsoft SQL Server、MySQL、Oracle 或 PostgreSQL 的 Amazon EC2 实例，输入公有 DNS 地址。在 Amazon EC2 控制台中，您可以在实例详细信息窗格中的**公有 DNS** 字段中获取公有 DNS 值。
     + 对于 MariaDB、Microsoft SQL Server、MySQL、Oracle 或 PostgreSQL 的非 Amazon EC2 实例，输入数据库服务器的主机名或公有 IP 地址。如果您使用安全套接字层 (SSL) 来进行安全连接 (推荐)，则可能需要提供主机名以匹配 SSL 证书所需的信息。有关接受的证书的列表，请参阅[Amazon 快速 SSL 和 CA 证书](configure-access.md#ca-certificates)。
   + 对于 **Port (端口)**，输入集群或实例在连接上使用的端口。
   + 对于 **Database name (数据库名称)**，输入要使用的数据库的名称。
   + 对于 **UserName**，请输入有权执行以下操作的用户帐户的用户名：
     + 访问目标数据库。
     + 在该数据库中读取要使用的任何表（对其执行 `SELECT` 语句）。
   + 对于**密码**，输入与您输入的账户关联的密码。

1. （可选）如果要连接到 Amazon Redshift 集群以外的任何集群或实例，并且*不想*使用安全连接，请确保清除**启用 SSL**。*我们强烈建议您将该选项保持选中状态*，因为不安全的连接可能会遭到篡改。

   有关目标实例如何使用 SSL 保护连接的更多信息，请参阅目标数据库管理系统的文档。Amazon Quick 不接受自签名 SSL 证书为有效证书。有关接受的证书的列表，请参阅[Amazon 快速 SSL 和 CA 证书](configure-access.md#ca-certificates)。

   Amazon Quick 使用 SSL 自动保护与亚马逊 Redshift 集群的连接。您无需执行任何操作来启用这一功能。

   某些数据库，例如 Presto 和 Apache Spark，必须满足其他要求才能连接 Amazon Quick。有关更多信息，请参阅[使用 Presto 创建数据来源](create-a-data-source-presto.md)、或[使用 Apache Spark 创建数据来源](create-a-data-source-spark.md)。

1. (可选) 选择 **Validate connection** 验证您的连接信息是否正确。

1. 如果连接验证成功，请选择 **Create data source**。如果未成功，则更正连接信息，然后重新验证。

1. 选择下列选项之一：
   + **自定义 SQL**

     在下一个屏幕上，您可以选择使用 **Use custom SQL（使用自定义 SQL）**选项写入查询。这样做将打开一个名为 **Enter custom SQL query (输入自定义 SQL 查询)** 的屏幕，您可以在其中输入查询的名称，然后输入 SQL。为获得最佳结构，请在 SQL 编辑器中构成查询，然后将其粘贴到此窗口中。在命名和输入查询后，您可以选择 **Edit/Preview data（编辑/预览数据）**或 **Confirm query（确认查询）**。立即选择 **Edit/Preview data（编辑/预览数据）**以转到数据准备。选择 **Confirm query（确认查询）**以验证 SQL 并确保没有错误。
   + **选择表**

     要连接到特定表，对于**架构：包含表组**，请选择**选择**，然后选择一个架构。有时数据库只有一个架构，此情况下会自动选择该架构，不显示架构选择选项。

     要在创建分析前准备数据，请选择 **Edit/Preview data** 打开数据准备。如果要联接到更多表，请使用此选项。

     否则，在选择表后，请选择 **Select（选择）**。

1. 请选择以下选项之一：
   + 在创建分析之前准备数据。为此，选择 **Edit/Preview data (编辑/预览数据)** 以打开选定表的数据准备屏幕。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。
   + 按原样使用表数据创建一个数据集和分析，并将数据集数据导入到 SPICE 以提高性能（建议）。为此，请检查表大小和 SPICE 指示器以确定您是否具有足够的空间。

     如果有足够的 SPICE 容量，请选择**导入到 SPICE 以加快分析**，然后选择**可视化**创建分析。
**注意**  
如果您希望使用 SPICE 但没有足够的空间，请选择**编辑/预览数据**。在数据准备过程中，您可以从数据集中删除字段以缩减其大小。您也可以应用筛选条件或编写 SQL 查询以减少返回的行或列数。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。
   + 按原样使用表数据创建一个数据集和分析，并直接从数据库中查询数据。为此，请选择 **Directly query your data (直接查询数据)** 选项。然后，选择 **Visualize (可视化)** 以创建分析。

# 使用现有的数据来源创建数据集
使用现有的数据来源

在您与 Salesforce、 AWS 数据存储或其他数据库数据源建立初始连接后，Amazon Quick 会保存连接信息。它将数据来源添加到**创建数据集**页面的**使用现有的数据来源**部分。您可以使用这些现有的数据来源创建新数据集，无需重新指定连接信息。

## 使用现有的 Amazon S3 数据来源创建数据集


使用以下过程通过现有的 Amazon S3 数据来源创建数据集。

**使用现有的 S3 数据来源创建数据集**

1. 在 Amazon 快速入门页面上，选择**数据**。

1. 选择 “**创建**”，然后选择 “**新建数据集**”。

1. 选择要使用的 Amazon S3 数据源。

1. 要在创建数据集之前准备数据，请选择**编辑/预览数据**。要按原样使用数据创建分析，请选择 **Visualize (可视化)**。

## 使用现有的 Amazon Athena 数据来源创建数据集


要使用现有的 Amazon Athena 数据来源创建数据集，请按以下步骤操作。

**使用现有的 Athena 连接配置文件创建数据集**

1. 在 Amazon 快速入门页面上，选择**数据**。

1. 选择 “**创建**”，然后选择 “**新建数据组”**。

   为要使用的现有数据源选择连接配置文件图标。连接配置文件标有数据来源图标和创建该连接的人员提供的名称。

1. 选择**创建数据集**。

   Amazon Quick 仅根据 Athena 工作组为该数据源创建连接配置文件。数据库和表未保存。

1. 在**选择您的表**屏幕上，执行以下操作之一：
   + 要编写 SQL 查询，请选择**使用自定义 SQL**。
   + 要选择数据库和表，请先从**数据库**列表中选择您的数据库。接下来，从为数据库显示的列表中选择一个表。

## 使用现有的 Salesforce 数据来源创建数据集


使用以下过程通过现有的 Salesforce 数据来源创建数据集。

**使用现有的 Salesforce 数据来源创建数据集**

1. 在 Amazon 快速入门页面上，选择**数据**。

1. 选择 “**创建**”，然后选择 “**新建数据组”**。

1. 选择要使用的 Salesforce 数据源。

1. 选择 **Create Data Set**。

1. 选择下列选项之一：
   + **自定义 SQL**

     在下一个屏幕上，您可以选择使用 **Use custom SQL（使用自定义 SQL）**选项写入查询。这样做将打开一个名为 **Enter custom SQL query (输入自定义 SQL 查询)** 的屏幕，您可以在其中输入查询的名称，然后输入 SQL。为获得最佳结构，请在 SQL 编辑器中构成查询，然后将其粘贴到此窗口中。在命名和输入查询后，您可以选择 **Edit/Preview data（编辑/预览数据）**或 **Confirm query（确认查询）**。立即选择 **Edit/Preview data（编辑/预览数据）**以转到数据准备。选择 **Confirm query（确认查询）**以验证 SQL 并确保没有错误。
   + **选择表**

     要连接到特定表，在**数据元素：包含您的数据**中，请选择**选择**，然后选择**报告**或**对象**。

     要在创建分析前准备数据，请选择 **Edit/Preview data** 打开数据准备。如果要联接到更多表，请使用此选项。

     否则，在选择表后，请选择 **Select（选择）**。

1. 在下一个屏幕上，选择以下选项之一：
   + 要原样使用数据创建数据集和分析，请选择**可视化**。
**注意**  
如果没有足够的 [SPICE](spice.md) 容量，请选择 **Edit/Preview data** (编辑/预览数据)。在数据准备期间，您可以从数据集中删除字段以缩减其大小，也可以应用筛选条件减少返回的行数。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。
   + 要在创建分析前准备数据，请选择 **Edit/Preview data** 打开所选报告或对象的数据准备。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。

## 使用现有的数据库数据来源创建数据集


使用以下过程通过现有的数据库数据来源创建数据集。

**使用现有的数据库数据来源创建数据集**

1. 在 Amazon 快速入门页面上，选择**数据**。

1. 选择 “**创建**”，然后选择 “**新建数据组”**。

1. 选择要使用的数据库数据源，然后选择 “**创建数据集**”。

1. 选择下列选项之一：
   + **自定义 SQL**

     在下一个屏幕上，您可以选择使用 **Use custom SQL（使用自定义 SQL）**选项写入查询。这样做将打开一个名为 **Enter custom SQL query (输入自定义 SQL 查询)** 的屏幕，您可以在其中输入查询的名称，然后输入 SQL。为获得最佳结构，请在 SQL 编辑器中构成查询，然后将其粘贴到此窗口中。在命名和输入查询后，您可以选择 **Edit/Preview data（编辑/预览数据）**或 **Confirm query（确认查询）**。立即选择 **Edit/Preview data（编辑/预览数据）**以转到数据准备。选择 **Confirm query（确认查询）**以验证 SQL 并确保没有错误。
   + **选择表**

     要连接到特定表，对于**架构：包含表组**，请选择**选择**，然后选择一个架构。有时数据库只有一个架构，此情况下会自动选择该架构，不显示架构选择选项。

     要在创建分析前准备数据，请选择 **Edit/Preview data** 打开数据准备。如果要联接到更多表，请使用此选项。

     否则，在选择表后，请选择 **Select（选择）**。

1. 请选择以下选项之一：
   + 在创建分析之前准备数据。为此，选择 **Edit/Preview data (编辑/预览数据)** 以打开选定表的数据准备屏幕。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。
   + 按原样使用表数据创建一个数据集和分析，并将数据集数据导入到 [SPICE](spice.md) 以提高性能（建议）。为此，请检查 SPICE 指示器以确定您是否具有足够的空间。

     如果有足够的 SPICE 容量，请选择**导入到 SPICE 以加快分析**，然后选择**可视化**创建分析。
**注意**  
如果您希望使用 SPICE 但没有足够的空间，请选择**编辑/预览数据**。在数据准备过程中，您可以从数据集中删除字段以缩减其大小。您也可以应用筛选条件或编写 SQL 查询以减少返回的行或列数。有关数据准备的更多信息，请参阅[准备数据集示例](preparing-data-sets.md)。
   + 按原样使用表数据创建一个数据集和分析，并直接从数据库中查询数据。为此，请选择 **Directly query your data (直接查询数据)** 选项。然后，选择 **Visualize (可视化)** 以创建分析。

# 使用 Amazon Quick 中的现有数据集创建数据集
使用现有的数据集

在 Amazon Quick 中创建数据集后，您可以将其用作源来创建其他数据集。执行此操作时，将保留父数据集包含的所有数据准备，例如任何联接或计算字段。您可以为新子数据集中的数据添加额外的准备工作，例如加入新数据和筛选数据。您还可以为子数据集设置自己的数据刷新计划，并跟踪使用此数据集的控制面板和分析。

使用具有活动 RLS 规则的数据集作为源创建的子数据集将继承父数据集的 RLS 规则。使用较大的父数据集创建子数据集的用户只能看到他们在父数据集中有权访问的数据。然后，除了继承的 RLS 规则外，您还可以向新的子数据集添加更多 RLS 规则，以进一步管理谁可以访问新数据集中的数据。您只能使用直接查询中具有活动 RLS 规则的数据集创建子数据集。

从现有的 Quick 数据集创建数据集具有以下优点：
+ **集中管理数据集** – 数据工程师可以轻松扩展以满足组织内多个团队的需求。为此，他们可以开发和维护一些描述组织主要数据模型的通用数据集。
+ **减少数据源管理** — 业务分析师 (BAs) 通常会花费大量时间和精力请求访问数据库、管理数据库凭据、查找正确的表以及管理快速数据刷新计划。从现有数据集构建新的数据集意味着 BAs 不必从头开始使用数据库中的原始数据。他们可以使用精选数据。
+ **预定义的关键指标** – 通过使用现有的数据集创建数据集，数据工程师可以集中定义和维护公司众多组织的关键数据定义。例如销售增长和净边际收益。借助此功能，数据工程师还可以分发对这些定义的更改。这种方法意味着他们的业务分析师可以更快、更可靠地可视化正确数据。
+ **灵活地自定义数据** – 通过使用现有的数据集创建数据集，业务分析师可以更灵活地根据自己的业务需求自定义数据集。他们不必担心会中断其他团队的数据。

例如，假设您是由五名数据工程师组成的电子商务中心团队的一员。您和团队可以访问数据库中的销售、订单、取消和退货数据。您已通过架构连接其他 18 个维度表，从而创建了一个快速数据集。团队创建的关键指标是计算字段，即订单产品销售额（OPS）。它的定义是：OPS = 产品数量 x 价格。

团队为 8 个国家/地区的 10 个不同团队的 100 多位业务分析师提供服务。这些团队分别为优惠券团队、出站营销团队、移动平台团队和推荐团队。所有这些团队都以 OPS 指标为基础来分析自己的业务线。

您的团队无需手动创建和维护数百个未连接的数据集，而是重用数据集为整个组织的团队创建多个等级的数据集。这样做可以集中管理数据，并允许每个团队根据自己的需求自定义数据。同时，这会同步对数据的更新（例如指标定义更新），并维护行级和列级的安全性。例如，组织中的各个团队可以使用集中式数据集。然后，他们可以将这些数据集与特定于其团队的数据相结合，创建新的数据集并在此基础上构建分析。

除了使用关键的 OPS 指标外，组织中的其他团队还可以重用您创建的集中式数据集中的列元数据。例如，数据工程团队可以在集中式数据集中定义元数据，例如*名称*、*描述*、*数据类型*和*文件夹*。所有后续团队都可以使用此数据集。

**注意**  
Amazon Quick 支持使用单个数据集创建最多两个额外级别的数据集。  
例如，您可以使用父数据集创建子数据集，然后创建孙子数据集，总共三个数据集等级。

## 使用现有的数据集创建数据集


使用以下过程通过现有的数据集创建数据集。

**使用现有的数据集创建数据集**

1. 在快速入门页面中，选择左侧窗格中的**数据**。

1. 选择**创建**，然后选择要用于创建新数据集的数据集。

1. 在为该数据集打开的页面上，选择**在分析中使用**的下拉菜单，然后选择**在数据集中使用**。

   数据准备页面将打开并预加载父数据集中的所有内容，包括计算字段、联接和安全设置。

1. 在打开的数据准备页面上，在左下角的**查询模式**中，选择您想要数据集从原始父数据集中提取更改和更新的方式。可以选择以下选项：
   + **直接查询** – 这是默认查询模式。如果选择此选项，则打开关联的数据集、分析或控制面板时，会自动刷新此数据集的数据。但是，以下限制适用：
     + 如果父数据集允许直接查询，则可以在子数据集中使用直接查询模式。
     + 如果联接中有多个父数据集，则只有当所有父数据集都来自同一个底层数据来源时，才可以为子数据集选择直接查询模式。例如，相同的 Amazon Redshift 连接。
     + 支持单个 SPICE 父数据集直接查询。不支持联接中的多个 SPICE 父数据集直接查询。
   + **SPICE** – 如果选择此选项，则可以为新数据集设置与父数据集同步的计划。有关为数据集创建 SPICE 刷新计划的更多信息，请参阅 [刷新 SPICE 数据](refreshing-imported-data.md)。

1. （可选）准备数据以供分析。有关数据准备的更多信息，请参阅 [使用 Amazon Quick Sight 准备数据](preparing-data.md)。

1. （可选）设置行级或列级安全性（RLS/CLS）以限制对数据集的访问。有关设置 RLS 的更多信息，请参阅 [使用采用基于用户的规则的行级别安全性限制对数据集的访问使用基于用户的规则](restrict-access-to-a-data-set-using-row-level-security.md)。有关设置 CLS 的更多信息，请参阅 [使用列级别安全性限制对数据集的访问](restrict-access-to-a-data-set-using-column-level-security.md)。
**注意**  
您只能 RLS/CLS 在子数据集上进行设置。 RLS/CLS 不支持在父数据集上。

1. 完成后，选择**保存并发布**以保存更改并发布新的子数据集。或者选择**发布并可视化**以发布新的子数据集并开始可视化数据。

# 限制其他人使用您的数据集创建新数据集


在 Amazon Quick 中创建数据集时，可以防止其他人将其用作其他数据集的来源。您可以指定其他人是否可以用其创建任何数据集。或者，您可以指定其他人可以或不能使用您的数据集创建的数据集类型，例如直接查询数据集或 SPICE 数据集。

使用以下过程了解如何限制其他人使用您的数据集创建新数据集。

**限制其他人使用您的数据集创建新数据集**

1. 在快速入门页面中，选择左侧窗格中的**数据**。

1. 选择 “**创建**”，然后选择要限制从中创建新数据集的数据集。

1. 在为该数据集打开的页面上，选择**编辑数据集**。

1. 在打开的数据准备页面上，选择右上角的**管理**，然后选择**属性**。

1. 在打开的**数据集属性**窗格中，从以下选项中进行选择：
   + 要限制任何人使用此数据集创建任何类型的新数据集，请关闭**允许使用此数据集创建新数据集**。

     允许创建新数据集时，切换按钮为蓝色。不允许创建新数据集时，其显示为灰色。
   + 要限制其他人创建直接查询数据集，请清除**允许直接查询**。
   + 要限制其他人创建数据集的 SPICE 副本，请清除**允许 SPICE 副本**。

     有关 SPICE 数据集的更多信息，请参阅 [将数据导入到 SPICE](spice.md)。

1. 关闭窗格。

# 编辑数据集


您可以编辑现有数据集以执行数据准备。有关 Quick Sight 数据准备功能的更多信息，请参阅[使用 Amazon Quick Sight 准备数据](preparing-data.md)。

您可以从**数据集**页面或分析页面打开数据集进行编辑。从任一位置编辑数据集都会修改使用该数据集的所有分析的数据集。

## 编辑数据集时要考虑的事项


在这两种情况下，对数据集进行更改可能会导致出现问题。一种是有意编辑数据集。另一种是数据来源的更改过大，以至于对分析造成影响。

**重要**  
在生产环境中使用的分析应受到保护，以便其继续正常发挥作用。

在处理数据更改时，我们建议您执行以下操作：
+ 记录您的数据来源和数据集以及依赖它们的视觉对象。记录应包括屏幕截图、使用的字段、字段井中的位置、筛选条件、排序、计算、颜色和格式等。请记录重新创建视觉对象所需的所有内容。您还可以在数据集管理选项中跟踪哪些 Quick Sight 资源使用数据集。有关更多信息，请参阅 [跟踪使用数据集的控制面板和分析](track-analytics-that-use-dataset.md)。
+ 编辑数据集时，尽量不要进行可能破坏现有视觉对象的更改。例如，不要删除视觉对象中正在使用的列。如果您必须删除某个列，请在其位置上创建一个计算列。替换列应与原始列具有相同的名称和数据类型。
+ 如果在源数据库中更改数据来源或数据集，请调整视觉对象以适应更改，如前所述。或者，您可以尝试调整源数据库。例如，您可以创建源表 (文档) 的视图。以后，如果该表发生变化，您可以调整视图以包括或排除列 (属性)，更改数据类型，填写 null 值，等等。或者，在另一种情况下，如果您的数据集基于缓慢的 SQL 查询，您可以创建一个表以保存查询结果。

  如果您无法充分调整数据来源，请根据分析文档重新创建视觉对象。
+ 如果您无法再访问数据来源，基于该数据来源的分析将为空。您创建的视觉对象仍然存在，但无法显示这些对象，直到它们具有可显示的数据。如果您的管理员更改了权限，则可能会出现这种结果。
+ 如果您删除视觉对象所基于的数据集，您可能需要通过文档重新创建该对象。您可以编辑视觉对象并选择一个新的数据集与之配合使用。如果您需要始终使用新文件替换旧文件，请将数据存储在始终可用的位置中。例如，您可以将 .csv 文件存储在 Amazon S3 中，然后创建一个 S3 数据集以用于您的视觉对象。有关访问 S3 中存储的文件的更多信息，请参阅[使用 Amazon S3 文件创建数据集](create-a-data-set-s3.md)。

  或者，您可以将数据导入到一个表中，并使视觉对象基于查询。这样，数据结构就不会发生变化，即使其中包含的数据发生了变化。
+ 要集中管理数据，可以考虑创建通用的多用途数据集，其他人可以使用这些数据集来创建自己的数据集。有关更多信息，请参阅 [使用 Amazon Quick 中的现有数据集创建数据集](create-a-dataset-existing-dataset.md)。

## 从“数据集”页面编辑数据集


1. 在快速入门页面中，选择左侧**的数据**。

1. 在打开**的数据**页面上，选择要编辑的数据集，然后选择右上角的**编辑数据集**。

   随即将打开数据准备页面。有关您可以对数据集进行的编辑类型的更多信息，请参阅 [使用 Amazon Quick Sight 准备数据](preparing-data.md)。

## 在分析中编辑数据集


要从分析页面编辑数据集，请按照以下过程操作。

**从分析页面编辑数据集**

1. 在分析页面中，选择**字段列表**窗格顶部的铅笔图标。

1. 在打开的**此分析中的数据集**页面上，选择要编辑的数据集右侧的三个点，然后选择**编辑**。

   随即将在数据准备页面中打开数据集。有关您可以对数据集进行的编辑类型的更多信息，请参阅 [使用 Amazon Quick Sight 准备数据](preparing-data.md)。

# 将数据集恢复到先前发布的版本
恢复数据集

当您在 Amazon Quick Sight 中保存和发布对数据集的更改时，即会创建该数据集的新版本。您可以随时查看该数据集所有先前发布的版本列表。如果需要，您还可以预览该历史记录中的特定版本，甚至可以将数据集恢复到先前的版本。

以下限制适用于数据集版本控制：
+ 发布历史中仅显示数据集的最新 1,000 个版本，并且可以进行版本控制。
+ 超过 1,000 个已发布版本后，将自动从发布历史记录中删除最旧的版本，并且数据集无法再恢复到这些版本。

使用以下步骤将数据集恢复到先前发布的版本。

**将数据集恢复到先前发布的版本**

1. 在快速入门页面中，选择**数据**。

1. 在**数据**页面上，选择一个数据集，然后选择右上角的**编辑数据集**。

   有关编辑数据集的更多信息，请参阅 [编辑数据集](edit-a-data-set.md)。

1. 在打开的数据集准备页面上，选择右上角蓝色工具栏中的**管理**图标，然后选择**发布历史记录**。

   右侧显示了先前发布的版本列表。

1. 在**发布历史记录**窗格中，找到所需版本，然后选择**还原**。

   要在还原之前预览版本，请选择**预览**。

   数据集已恢复，并显示一条确认消息。**发布历史记录**窗格也会更新以显示数据集的活动版本。

## 排查恢复版本的问题
问题排查

有时，由于以下原因之一，数据集无法恢复到特定版本：
+ 数据集使用一个或多个已删除的数据来源。

  如果发生此错误，您无法将数据集恢复到先前的版本。
+ 恢复会使计算字段失效。

  如果出现此错误，您可以编辑或删除计算字段，然后保存数据集。此操作将创建数据集的新版本。
+ 数据来源中缺少一列或多列。

  如果发生此错误，Quick Sight 会在预览中显示来自数据源的最新架构，以协调版本之间的差异。架构预览中显示的任何计算字段、字段名称、字段类型和筛选条件更改均来自您要恢复到的版本。您可以将此协调后的架构保存为数据集的新版本。或者，您可以在发布历史记录的顶部（最新）版本上选择**预览**以返回至活动（最新）版本。

# 复制数据集


您可以复制现有数据集以使用新名称保存该数据集的副本。新的数据集是一个完全独立的副本。

如果同时满足以下两个条件，则**复制数据集**选项可用：您拥有数据集并具有数据来源的权限。

**复制数据集**

1. 在快速入门页面中，选择左侧**的数据**。

1. 选择要复制的数据集。

1. 在打开的数据集详细信息页面上，选择**编辑数据集**的下拉列表，然后选择**复制**。

1. 在打开的“复制数据集”页面上，为复制的数据集命名，然后选择**复制**。

   随即将打开复制的数据集详细信息页面。在此页面中，您可以编辑数据集、设置刷新计划等。

# 共享数据集


您可以通过与其他 Quick Sight 用户和群组共享数据集来授予他们访问该数据集的权限。之后，他们可以从中创建分析。如果您使其成为共有者，则他们也可以刷新、编辑、删除或共享数据集。

## 共享数据集


如果您拥有数据集的所有者权限，则可以使用以下步骤共享数据集。

**共享数据集**

1. 在快速入门页面中，选择左侧**的数据**。

1. 在**数据**页面上，选择要共享的数据集。

1. 在打开的数据集详细信息页面上，选择**权限**选项卡，然后选择**添加用户和组**。

1. 输入要与之共享该数据集的用户或组，然后选择**添加**。您只能邀请属于同一 Quick 账户的用户。

   重复该步骤，直到您输入了要与其共享数据集的每个人的信息。

1. 对于**权限**列，为每个用户或组选择一个角色，以授予他们对数据集的权限。

   选择**查看者**以允许用户使用该数据集创建分析和数据集。选择**所有者**以允许用户执行该操作，并允许用户刷新、编辑、删除和重新共享该数据集。

   用户会收到包含指向数据集的链接的电子邮件。组不会收到邀请电子邮件。

# 查看和编辑与之共享数据集的用户的权限


如果您拥有数据集的所有者权限，您可以使用以下过程查看、编辑或更改用户的 访问权限。

**查看、编辑或更改用户的数据集访问权限（前提是您拥有该数据集的所有者权限）**

1. 在快速入门页面中，选择左侧**的数据**。

1. 在**数据**页面上，选择要共享的数据集。

1. 在打开的数据集详细信息页面上，选择**权限**选项卡。

   此时会显示有权访问该数据集的所有用户和组的列表。

1. （可选）要更改用户或组的权限角色，请选择该用户或组的**权限**列中的下拉菜单。然后选择**查看者**或**所有者**。

# 撤销对数据集的访问权限


如果您拥有数据集的所有者权限，则可以使用以下过程撤销用户的数据集访问权限。

**撤销用户的数据集访问权限（前提是您拥有数据集的所有者权限）**

1. 在快速入门页面中，选择左侧**的数据**。

1. 在**数据**页面上，选择要共享的数据集。

1. 在打开的数据集详细信息页面上，选择**权限**选项卡。

   此时会显示有权访问该数据集的所有用户和组的列表。

1. 在用户或组的**操作**列，选择**撤销访问权限**。

# 跟踪使用数据集的控制面板和分析
跟踪数据集资产

在 Quick Sight 中创建数据集时，您可以跟踪哪些仪表板和分析使用该数据集。若想要查看在更改数据集或删除数据集时哪些资源会受到影响，这种方法非常有用。

使用以下过程查看哪些控制面板和分析使用数据集。

**跟踪使用数据集的资源**

1. 在快速入门页面中，选择左侧窗格中的**数据**。

1. 在**数据**页面上，选择要跟踪其资源的数据集。

1. 在为该数据集打开的页面中，选择**编辑数据集**。

1. 在打开的数据准备页面上，选择右上角的**管理**，然后选择**使用情况**。

1. 打开的窗格中列出了使用该数据集的控制面板和分析。

# 在 Amazon Quick 中使用数据集参数
数据集参数

在 Amazon Quick 中，作者可以在直接查询中使用数据集参数来动态自定义其数据集并将可重复使用的逻辑应用于其数据集。*数据集参数*是在数据集等级创建的参数。它由分析参数通过控件、计算字段、筛选器、操作 URLs、标题和描述消耗。有关分析参数的更多信息，请参阅 [Amazon Quick 中的参数](parameters-in-quicksight.md)。以下列表描述了可使用数据集参数执行的三个操作：
+  **直接查询中的自定义 SQL** – 数据集所有者可以将数据集参数插入直接查询数据集的自定义 SQL 中。在快速分析中将这些参数应用于筛选控件时，用户可以更快、更高效地筛选其自定义数据。
+ **可重复变量** – 可以使用自定义数据集参数在一次操作中修改出现在数据集页面中多个位置的静态值。
+ **将计算字段移至数据集**-快速作者可以在分析中复制带有参数的计算字段，然后将其迁移到数据集级别。这样可以防止分析等级的计算字段被意外修改，并且可以在多个分析之间共享计算字段。

在某些情况下，数据集参数可以提高需要复杂自定义 SQL 的直接查询数据集的筛选条件控件性能，并简化数据集等级的业务逻辑。

**Topics**
+ [

## 数据集参数限制
](#dataset-parameters-limitations)
+ [

# 在 Amazon Quick 中创建数据集参数
](dataset-parameters-SQL.md)
+ [

# 将数据集参数插入自定义 SQL
](dataset-parameters-insert-parameter.md)
+ [

# 将数据集参数添加到计算字段
](dataset-parameters-calculated-fields.md)
+ [

# 将数据集参数添加到筛选条件
](dataset-parameters-dataset-filters.md)
+ [

# 在快速分析中使用数据集参数
](dataset-parameters-analysis.md)
+ [

# 数据集参数的高级使用案例
](dataset-parameters-advanced-options.md)

## 数据集参数限制


本节介绍在 Amazon Quick 中使用数据集参数时可能遇到的已知限制。
+ 控制面板读者安排通过电子邮件发送的报告时，选定的控件不会传播到电子邮件所附报告中包含的数据集参数。而是使用参数的默认值。
+ 无法将数据集参数插入存储在 SPICE 中的数据集自定义 SQL 中。
+ 只能在使用数据集的分析的分析页面上配置动态默认值。您无法在数据集等级配置动态默认值。
+ 映射到数据集参数的分析参数的多值控件不支持**全选**选项。
+ 数据集参数不支持级联控件。
+ 只有数据集使用直接查询时，数据集筛选条件才能使用数据集参数。
+ 在自定义 SQL 查询中，只能使用 128 个数据集参数。

# 在 Amazon Quick 中创建数据集参数
创建数据集参数

使用以下过程开始使用数据集参数。

**创建新的数据集参数**

1. 在快速入门页面中，选择左侧**的数据**，选择要更改的数据集旁边的省略号（三个点），然后选择**编辑**。

1. 在打开的**数据集**页面上，选择左侧的**参数**，然后选择（\$1）图标创建新的数据集参数。

1. 在出现的**创建新的参数**弹出窗口中，在**名称**框中输入参数名称。

1. 在**数据类型**下拉菜单中，选择所需的参数数据类型。支持的数据类型包括：`String`、`Integer`、`Number` 和 `Datetime`。创建参数后将无法更改此选项。

1. 对于**默认值**，输入您希望参数具有的默认值。
**注意**  
将数据集参数映射到分析参数时，可以选择不同的默认值。发生这种情况时，此处配置的默认值将被新的默认值覆盖。

1. 对于**值**，选择您希望参数具有的值类型。**单个值**参数支持单选下拉、文本字段和列表控件。**多个值**参数支持多选下拉控件。创建参数后将无法更改此选项。

1. 完成配置新的参数后，选择**创建**以创建参数。

# 将数据集参数插入自定义 SQL


通过在 SQL 语句中使用 `<<$parameter_name>>` 引用数据集参数，您可以在直接查询模式的数据集自定义 SQL 中插入数据集参数。运行时，控制面板用户可以输入与数据集参数关联的筛选条件控件值。然后，在值传播到 SQL 查询后，他们可以在控制面板视觉对象中看到结果。您可以根据客户在 `where` 子句中的输入使用参数创建基本筛选条件。或者，您可以添加 `case when` 或 `if else` 子句，以根据参数的输入动态更改 SQL 查询的逻辑。

例如，假设您要在自定义 SQL 中添加 `WHERE` 子句，以根据最终用户的区域名称筛选数据。在本例中，您将创建一个名为 `RegionName` 的单个值参数：

```
SELECT *
FROM transactions
WHERE region = <<$RegionName>>
```

您也可以让用户为参数提供多个值：

```
SELECT *
FROM transactions
WHERE region in (<<$RegionNames>>)
```

在以下更复杂的示例中，数据集作者根据可在控制面板筛选条件控件中选择的用户的名字和姓氏引用两个数据集参数两次：

```
SELECT Region, Country, OrderDate, Sales
FROM transactions
WHERE region=
(Case
WHEN <<$UserFIRSTNAME>> In 
    (select firstname from user where region='region1') 
    and <<$UserLASTNAME>> In 
    (select lastname from user where region='region1') 
    THEN 'region1'
WHEN <<$UserFIRSTNAME>> In 
    (select firstname from user where region='region2') 
    and <<$UserLASTNAME>> In 
    (select lastname from user where region='region2') 
    THEN 'region2'
ELSE 'region3'
END)
```

您还可以根据用户输入使用 `SELECT` 子句中的参数在数据集中创建新列：

```
SELECT Region, Country, date, 
    (case 
    WHEN <<$RegionName>>='EU'
    THEN sum(sales) * 0.93   --convert US dollar to euro
    WHEN <<$RegionName>>='CAN'
    THEN sum(sales) * 0.78   --convert US dollar to Canadian Dollar
    ELSE sum(sales) -- US dollar
    END
    ) as "Sales"
FROM transactions
WHERE region = <<$RegionName>>
```

要创建自定义 SQL 查询或在添加数据集参数之前编辑现有查询，请参阅 [使用 SQL 自定义数据](adding-a-SQL-query.md)。

使用数据集参数应用自定义 SQL 时，`<<$parameter_name>>` 将用作占位符值。当用户从控件中选择一个参数值时，Quick 会将占位符替换为用户在仪表板上选择的值。

在以下示例中，用户输入了新的自定义 SQL 查询，该查询按状态筛选数据：

```
select * from all_flights
where origin_state_abr = <<$State>>
```

参数的默认值应用于 SQL 查询，结果将显示在**预览窗格**中。

# 将数据集参数添加到计算字段


您也可以使用格式 `${parameter_name}` 将数据集参数添加到计算字段表达式中。

在创建计算时，您可以从**参数**列表下面的参数列表中选择现有参数。无法创建包含多值参数的计算字段。

有关添加计算字段的更多信息，请参阅 [在 Amazon Quick 中使用带有参数的计算字段](parameters-calculated-fields.md)。

# 将数据集参数添加到筛选条件


对于直接查询模式下的数据集，数据集作者可以在筛选条件中使用数据集参数，无需自定义 SQL。如果数据集在 SPICE 中，则无法将数据集参数添加到筛选条件中。

**将数据集参数添加到筛选条件**

1. 打开要为其创建筛选条件的数据集的数据集页面。选择左侧的**筛选条件**，然后选择**添加筛选条件**。

1. 输入您想要的筛选条件名称，然后在下拉菜单中选择要筛选的字段。

1. 创建新筛选条件后，在**筛选条件**窗格中导航到该筛选条件，选择筛选条件旁边的省略号（三个点），然后选择**编辑**。

1. 对于**筛选条件类型**，选择**自定义筛选条件**。

1. 对于**筛选条件**，选择所需的条件。

1. 选择**使用参数**框并选择希望筛选条件使用的数据集参数。

1. 完成更改后，选择**应用**。

# 在快速分析中使用数据集参数


创建数据集参数后，在将数据集添加到分析后，将该数据集参数映射到新的或现有的分析参数。将数据集参数映射到分析参数后，可以将它们与筛选条件、控件和任何其他分析参数功能一起使用。

您可以在使用参数所属数据集的分析的**参数**窗格中管理数据集参数。在**参数**窗格的**数据集参数**部分，您可以选择仅查看未映射的数据集参数（默认）。或者，您可以通过从**查看**下拉菜单中选择**全部**来选择查看所有已映射和未映射的数据集参数。

## 在新的 “快速分析” 中映射数据集参数


使用包含参数的数据集创建新分析时，需要先将数据集参数映射到分析，然后才能使用它们。向分析中添加带参数的数据集时，也是如此。您可以在分析的**参数**窗格中查看分析中所有未映射的参数。或者，在创建分析或添加数据集时，在页面右上角显示的通知消息中选择**查看**。

**将数据集参数映射到分析参数**

1. 打开 [Quick 控制台](https://quicksight.aws.amazon.com/)。

1. 选择要更改的分析。

1. 选择**参数**图标以打开**参数**窗格。

1. 选择要映射的数据集参数旁边的省略号（三个点），选择**映射参数**，然后选择要将数据集参数映射到的分析参数。

   如果您的分析没有任何分析参数，则可以选择**映射参数** 和**新建**来创建在创建时自动映射到数据集参数的分析参数。

   1. 在出现的**创建新的参数**弹出窗口中，对于**名称**，为新分析参数输入名称。

   1. （可选）对于**静态默认值**，输入您希望参数具有的静态默认值。

   1. （可选）选择**设置动态默认值**，为新参数设置动态默认值。

   1. 在**已映射的数据集参数**表中，您将看到即将映射到新分析参数的数据集参数。您可以选择**添加数据集参数**下拉菜单，然后选择要映射的参数，向此分析参数添加其他数据集参数。您可以选择要删除的数据集参数旁边的**删除**按钮来取消映射数据集参数。

   有关创建分析参数的更多信息，请参阅 [在 Amazon Quick 中设置参数](parameters-set-up.md)。

将数据集参数映射到分析参数时，无论该参数在分析中用于何处，分析参数都代表数据集参数。

您也可以在**编辑参数**窗口中将数据集参数映射和取消映射到分析参数。要打开**编辑参数**窗口，导航到**参数**窗格，选择要更改的分析参数旁边的省略号（三个点），然后选择**编辑参数**。您可以选择**添加数据集参数**下拉菜单，然后选择要映射的参数，向此分析参数添加其他数据集参数。您可以选择要删除的数据集参数旁边的**删除**按钮来取消映射数据集参数。您也可以选择**全部删除**来删除所有已映射的数据集参数。完成更改后，选择**更新**。

删除分析参数时，将从分析中取消映射所有数据集参数，并在**参数**窗格的**未映射的**部分中显示。一次只能将一个数据集参数映射到一个分析参数。要将数据集参数映射到不同的分析参数，请取消映射该数据集参数，然后将其映射到新的分析参数。

## 向已映射的分析参数添加筛选条件控件


在 Quick 中将数据集参数映射到分析参数后，您可以为筛选器、操作、计算字段、标题、描述和创建筛选控件 URLs。

**将控件添加到已映射的参数**

1. 在分析页面的**参数**窗格中，选择所需已映射的分析参数旁边的省略号（三个点），然后选择**添加控件**。

1. 在出现的**添加控件**窗口中，输入所需**名称**，然后选择您想要的控件**样式**。对于单个值控件，请在 `Dropdown`、`List` 和 `Text field` 之间选择。对于多值控件，请选择 `Dropdown`。

1. 选择**添加**来创建控件。

# 数据集参数的高级使用案例
高级使用案例

本节介绍使用数据集参数和下拉控件的更多高级选项和使用案例。使用以下演练创建带数据集参数的动态下拉值。

## 使用带数据集参数的多值控件


使用插入到数据集自定义 SQL 中的数据集参数时，数据集参数通常按特定列中的值筛选数据。如果您创建下拉控件并将参数指定为值，则下拉菜单仅显示参数筛选的值。以下过程说明如何创建映射到数据集参数并显示所有未筛选值的控件。

**在下拉控件中填充所有分配的值**

1. 在 SPICE 或直接查询中创建新的单列数据集，其中包含原始数据集中的所有唯一值。例如，假设您的原始数据集使用以下自定义 SQL：

   ```
   select * from all_flights
           where origin_state_abr = <<$State>>
   ```

   要创建具有所有唯一原始状态的单列表，请将以下自定义 SQL 应用于新数据集：

   ```
   SELECT distinct origin_state_abr FROM all_flights
           order by origin_state_abr asc
   ```

   SQL 表达式按字母顺序返回所有唯一状态。新数据集没有任何数据集参数。

1. 输入新数据集的**名称**，然后保存并发布该数据集。在我们的示例中，新数据集称为 `State Codes`。

1. 打开包含原始数据集的分析，然后将新数据集添加到分析。有关将数据集添加到现有分析的信息，请参阅 [向分析中添加数据集](adding-a-data-set-to-an-analysis.md)。

1. 导航至**控件**窗格并找到要编辑的下拉控件。选择控件旁边的省略号（三个点），然后选择**编辑**。

1. 在左侧显示的**格式控件**中，选择**值**部分中的**链接到数据集字段**。

1. 在显示的**数据集**下拉菜单中，选择创建的新数据集。在我们的示例中，选择了 `State Codes` 数据集。

1. 在出现的**字段**下拉菜单中，选择相应的字段。在我们的示例中，选择了 `origin_state_abr` 字段。

将控件链接到新数据集后，所有唯一值都会出现在控件的下拉菜单中。这些值包括数据集参数筛选掉的值。

## 使用带“全选”选项的控件


默认情况下，一个或多个数据集参数映射到分析参数并添加到控件时，`Select all` 选项不可用。以下过程显示了使用与上一节相同的示例场景的解决方法。

**注意**  
此演练适用于小到足以在直接查询中加载的数据集。如果您的数据集很大，并且想要使用 `Select All` 选项，建议您将数据集加载到 SPICE 中。但是，如果您想将 `Select All` 选项与数据集参数一起使用，此演练将介绍一种实现方法。

首先，假设您有一个带自定义 SQL 的直接查询数据集，其中包含名为 `States` 的多值参数：

```
select * from all_flights
where origin_state_abr in (<<$States>>)
```

**在使用数据集参数的控件中使用“全选”选项**

1. 在分析的**参数**窗格中，找到要使用的数据集参数，然后从参数旁边的省略号（三个点）中选择**编辑**。

1. 在出现的**编辑参数**窗口中，在**多个静态默认值**部分中输入新的默认值。在我们的示例中，默认值为 ` All States`。请注意，该示例使用前导空格字符，因此默认值显示为控件中的第一项。

1. 选择**更新**以更新参数。

1. 导航到包含您在中使用的数据集参数的数据集 analysis-by-analysis。编辑数据集的自定义 SQL，以包含新的多个静态默认值的默认使用案例。使用 ` All States` 示例时，SQL 表达式如下所示：

   ```
   select * from public.all_flights
   where
       ' All States' in (<<$States>>) or
       origin_state_abr in (<<$States>>)
   ```

   如果用户在控件中选择 ` All States`，则新的 SQL 表达式将返回所有唯一记录。如果用户从控件中选择不同的值，则查询将返回数据集参数筛选的值。

### 使用带“全选”和“多值”选项的控件


您可以将前面的 `Select all` 过程与前面讨论的多值控件方法结合使用，创建除用户可以选择的多个值之外还包含 `Select all` 值的下拉控件。此演练假设您已经按照前面的步骤进行操作，知道如何将数据集参数映射到分析参数，并且可以在分析中创建控件。有关映射分析参数的更多信息，请参阅 [在新的 “快速分析” 中映射数据集参数](dataset-parameters-analysis.md#dataset-parameters-map-to-analysis)。有关在使用数据集参数的分析中创建控件的更多信息，请参阅 [向已映射的分析参数添加筛选条件控件](dataset-parameters-analysis.md#dataset-parameters-analysis-filter-control)。

**使用“全选”选项和已映射的数据集参数将多个值添加到控件**

1. 使用 `Select all` 自定义 SQL 表达式打开包含原始数据集的分析，以及包含原始数据集中已有筛选列的所有可能值的第二个数据集。

1. 导航至之前创建的辅助数据集以返回筛选列的所有值。添加自定义 SQL 表达式，将之前配置的 `Select all` 选项添加到查询中。以下示例将 ` All States` 记录添加到数据集返回值列表的前面：

   ```
   (Select ' All States' as origin_state_abr)
       Union All
       (SELECT distinct origin_state_abr FROM all_flights
       order by origin_state_abr asc)
   ```

1. 返回数据集所属的分析，并将您正在使用的数据集参数映射到您在前面过程的步骤 3 中创建的分析参数。分析参数和数据集参数可以使用相同的名称。在我们的示例中，分析参数称为 `States`。

1. 创建新的筛选条件控件或编辑现有的筛选条件控件，然后选择**隐藏全选**，以隐藏多值控件中显示的已禁用**全选**选项。

创建控件后，用户可以使用同一个控件来选择数据集中筛选列的全部或多个值。

# 在 Amazon Quick 中使用行级安全
使用行级别安全性


|  | 
| --- |
|  适用于：企业版  | 

在 Amazon Quick 的企业版中，您可以通过配置行级安全 (RLS) 来限制对数据集的访问。在共享数据集之前或之后，您可以执行该操作。当您使用 RLS 与数据集所有者共享数据集时，他们仍然可以看到所有数据。但是，当您与读者共享该数据集时，他们只能看到受权限数据集规则限制的数据。

此外，当您在应用程序中为未注册的 Quick 用户嵌入 Amazon Quick 控制面板时，您可以对带有标签的数据使用行级安全 (RLS)。 filter/restrict 标签是用户指定的字符串，用于标识应用程序中的会话。您可以使用标签为数据集实现 RLS 控制。通过在数据集中配置基于 RLS 的限制，Quick 会根据与用户身份/会话关联的会话标签筛选数据。

您可以使用用户名或基于组的规则、基于标签的规则或两者来限制对数据集的访问。

如果要保护在 Quick 中配置（注册）的用户或群组的数据，请选择基于用户的规则。为此，请选择一个权限数据集，该数据集包含按列为访问数据的每个用户或组设置的规则。只有规则中标识的用户或组才有权访问数据。

只有当您使用嵌入式仪表板并希望保护未在 Quick 中设置的用户（未注册用户）的数据时，才选择基于标签的规则。为此，请在列上定义标签来保护数据。嵌入控制面板时，必须传递标签的值。

**Topics**
+ [

# 使用采用基于用户的规则的行级别安全性限制对数据集的访问
](restrict-access-to-a-data-set-using-row-level-security.md)
+ [

# 为匿名用户嵌入控制面板时，使用采用基于标签的规则的行级别安全性来限制对数据集的访问
](quicksight-dev-rls-tags.md)

# 使用采用基于用户的规则的行级别安全性限制对数据集的访问
使用基于用户的规则


|  | 
| --- |
|  适用于：企业版  | 

在 Amazon Quick 的企业版中，您可以通过配置行级安全 (RLS) 来限制对数据集的访问。在共享数据集之前或之后，您可以执行该操作。当您使用 RLS 与数据集所有者共享数据集时，他们仍然可以看到所有数据。但是，当您与读者共享该数据集时，他们只能看到受权限数据集规则限制的数据。通过添加行级别安全性，您可以进一步控制其访问权限。

**注意**  
将 SPICE 数据集应用于行级别安全性时，数据集中的每个字段最多可以包含 2,047 个 Unicode 字符。如果字段包含的内容超过该限额，则会在摄取过程中被截断。要了解有关 SPICE 数据限额的更多信息，请参阅[导入数据的 SPICE 限额](data-source-limits.md#spice-limits)。

为此，您需要创建一个查询或文件，其中包含一列用于标识用户或群组。你可以使用`UserName`和`GroupName`，也可以使用`UserARN`和`GroupARN`。您可以将这看作是为该用户或组*添加规则*。然后您可以为要授予或限制访问权限的每个字段向查询或文件添加一个列。对于您添加的每个用户名或组名，请添加每个字段的值。您可以使用 NULL (没有值) 表示所有值。要查看示例数据集规则，请参阅[为行级别安全性创建数据集规则](#create-data-set-rules-for-row-level-security)。

要应用数据集规则，请将规则作为权限数据集添加到您的数据集。请记住以下几点：
+ 权限数据集不能包含重复值。评估如何应用规则时，将忽略重复项。
+ 指定的每个用户或组只能看到*匹配*数据集规则中字段值的行。
+ 如果为某个用户或组添加规则，并将其余列保留为“没有值”（NULL），则表示您向其授予访问所有数据的权限。
+ 如果不为用户或组添加规则，则该用户或组无法看到任何数据。
+ 应用于每个用户的完整规则记录集不得超过 999 个。此限制适用于直接分配给用户名的规则总数以及通过组名称分配给用户的任何规则。
+ 如果字段包含逗号 (,)，Amazon Quick 会将每个用逗号分隔的单词视为筛选器中的单个值。例如，在 `('AWS', 'INC')` 中，`AWS,INC` 被视为两个字符串：`AWS` 和 `INC`。要使用 `AWS,INC` 筛选，请在权限数据集中用双引号将字符串包装起来。

  如果受限数据集是一个 SPICE 数据集，则每个用户对每个受限字段应用的筛选值数量不能超过 19.2 万个。这适用于直接分配给用户名的筛选条件值总数以及通过组名称分配给用户的任何筛选条件值。

  如果受限数据集是直接查询数据集，则每个用户应用的筛选值数量因数据来源而异。

  超过筛选值限制可能会导致视觉渲染失败。我们建议您在受限数据集中添加一个附加列，以便根据原始受限列将行分成几组，从而缩短筛选条件列表。

Amazon Quick 将空格视为文字值。如果您限制的字段中有一个空格，则数据集规则适用于这些行。Amazon Quick 将两个 NULLs 空白（空字符串 “”）都视为 “无值”。NULL 是一个空字段值。

根据数据集的具体数据来源，您可以配置直接查询来访问权限表。以空格分隔的词不需要用引号分隔。如果您使用直接查询，您可以轻松更改原始数据来源中的查询。

您也可以从文本文件或电子表格中上传数据集规则。如果您使用的是逗号分隔值 (CSV) 文件，请不要在给定的行中包含任何空格。以空格分隔的词需要用引号分隔。如果使用基于文件的数据集规则，请通过在数据集的权限设置中覆盖现有规则来应用任何更改。

在 “数据” 屏幕中，受限制**的数据**集标有 “**受**限制” 一词。

从已激活 RLS 规则的父数据集创建的子数据集，将保留与父数据集相同的 RLS 规则。您可以向子数据集添加更多 RLS 规则，但不能移除该数据集继承自父数据集的 RLS 规则。

只有通过直接查询，才能创建从已激活 RLS 规则的父数据集创建的子数据集。SPICE 不支持继承父数据集的 RLS 规则的子数据集。

行级别安全性仅适用于包含文本数据（string、char、varchar 等）的字段。它目前不适用于日期或数字字段。使用行级别安全性（RLS）的数据集不支持异常检测。

## 为行级别安全性创建数据集规则


要创建权限文件或查询用作数据集规则，请按照以下过程操作。

**创建权限文件或查询用作数据集规则**

1. 创建一个文件或查询，其中包含适用于行级别安全性的数据集规则（权限）。

   字段顺序至关紧要。不过，所有字段区分大小写。确保它们与字段名称和值完全匹配。

   结构应类似于下列项目之一。确保您至少具有一个标识用户或组的字段。您可以包含两者，但只需要一个，并且一次只使用一个。您可以为用户或组所用的字段选择任意名称。
**注意**  
如果您要指定群组，请仅使用 Amazon Quick 群组或 Microsoft AD 群组。

   以下示例显示了一个包含组的表。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   以下示例演示了一个包含用户名的表。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   以下示例显示了一个包含用户和群组 Amazon 资源名称 (ARNs) 的表。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   如果您使用 .csv 文件，结构应与以下某个示例相似。

   ```
   UserName,SalesRegion,Segment
   AlejandroRosalez,EMEA,"Enterprise,SMB,Startup"
   MarthaRivera,US,Enterprise
   NikhilJayashankars,US,SMB
   PauloSantos,US,Startup
   SaanviSarkar,APAC,"SMB,Startup"
   sales-tps@example.com,"",""
   ZhangWei,APAC-Sales,"Enterprise,Startup"
   ```

   ```
   GroupName,SalesRegion,Segment
   EMEA-Sales,EMEA,"Enterprise,SMB,Startup"
   US-Sales,US,Enterprise
   US-Sales,US,SMB
   US-Sales,US,Startup
   APAC-Sales,APAC,"SMB,Startup"
   Corporate-Reporting,"",""
   APAC-Sales,APAC,"Enterprise,Startup"
   ```

   ```
   UserARN,GroupARN,SalesRegion
   arn:aws:quicksight:us-east-1:123456789012:user/Bob,arn:aws:quicksight:us-east-1:123456789012:group/group-1,APAC
   arn:aws:quicksight:us-east-1:123456789012:user/Sam,arn:aws:quicksight:us-east-1:123456789012:group/group-2,US
   ```

   以下是一个 SQL 示例。

   ```
   /* for users*/
   	select User as UserName, SalesRegion, Segment
   	from tps-permissions;
   
   	/* for groups*/
   	select Group as GroupName, SalesRegion, Segment
   	from tps-permissions;
   ```

1. 根据数据集规则创建数据集。要确保您可以轻松找到该数据集，请为其指定有意义的名称，例如 **Permissions-Sales-Pipeline**。

## 标记行级别安全性的规则数据集


使用以下过程将数据集适当地标记为规则数据集。

规则数据集是一个标志，用于区分用于行级别安全性的权限数据集和常规数据集。如果权限数据集在 2025 年 3 月 31 日之前应用于常规数据集，则它将在**数据集**登录页面中具有规则数据集标志。

如果权限数据集在 2025 年 3 月 31 日之前未应用于常规数据集，则它将被归类为常规数据集。要将其用作规则数据集，请复制权限数据集并在创建数据集时在控制台上将其标记为规则数据集。选择 “编辑数据集”，然后在选项下选择 “按规则重复数据集”。

要成功将其复制为规则数据集，请确保原始数据集具有：1. 必需的用户元数据或组元数据列；2. 仅字符串类型的列。

要在控制台上创建新的规则数据集，请在“新建数据集”下拉列表中选择“新建规则数据集”。以编程方式创建规则数据集时，请添加以下参数：[UseAs: RLS\$1R](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_CreateDataSet.html#API_CreateDataSet_RequestSyntax) ULES。这是一个可选参数，仅用于创建规则数据集。一旦通过控制台或以编程方式创建了数据集，并将其标记为规则数据集或常规数据集，就无法更改。

一旦数据集被标记为规则数据集，Amazon Quick 就会对其应用严格的 SPICE 摄取规则。为了确保数据完整性，如果存在无效行或单元格超过长度限制，规则数据集的 SPICE 摄取将会失败。您必须修复摄取问题才能重新启动成功的摄取。严格的摄取规则仅适用于规则数据集。当出现跳过行或字符串截断的情况时，常规数据集不会出现数据集摄取失败。

## 应用行级别安全性


要通过将文件或查询用作包含权限规则的数据集来应用行级别安全性（RLS），请按照以下过程操作。

**使用文件或查询应用行级别安全性**

1. 确认已将您的规则添加为新数据集。如果添加了这些规则，但在数据集列表中看不到这些规则，请刷新屏幕。

1. 在**数据**页面上，选择数据集

1. 在打开的数据集详细信息页面上，为**行级别安全性**选择**设置**。

1. 在打开的**设置行级别安全性**页面上，选择**基于用户的规则**。

1. 从显示的数据集列表中选择自己的权限数据集。

   如果该屏幕上未显示您的权限数据集，请返回到自己的数据集，然后刷新该页面。

1. 对于**权限策略**，选择**授予对数据集的访问权限**。每个数据集仅具有一个活动权限数据集。如果您尝试添加第二个权限数据集，它将覆盖现有的数据集。
**重要**  
在使用行级别安全性时，某些限制适用于 NULL 和空字符串值：  
如果您的数据集在受限制的字段中具有 NULL 值或空字符串（“”），在应用限制后，将忽略这些行。
在权限数据集中，NULL 值和空字符串以相同方式处理。有关更多信息，请参阅下表。
为了防止意外泄露敏感信息，Amazon Quick 跳过了向所有人授予访问权限的空白 RLS 规则。当一行的所有列都没有值时，就会出现*空 RLS 规则*。Quick RLS 将 NULL、空字符串 (“”) 或逗号分隔的空字符串（例如 “、、、”）视为无值。  
跳过空规则后，其他非空 RLS 规则仍然适用。
如果权限数据集只有空规则且所有空规则都被跳过，则任何人都无法访问受此权限数据集限制的任何数据。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/restrict-access-to-a-data-set-using-row-level-security.html)

   您与之共享控制面板的任何用户都可以查看其中的所有数据，除非数据集规则限制数据集。

1. 要保存更改，请选择**应用数据集**。然后，在**保存数据集规则？**页面上选择**应用并激活**。权限更改将立即应用于现有用户。

1. （可选）要删除权限，请先从数据集中删除数据集规则。

   确保已删除数据集规则。接下来，选择权限数据集，然后选择**删除数据集**。

   要覆盖权限，请选择新的权限数据集，然后应用该数据集。您可以重复使用相同的数据集名称。但是，请务必在**权限**屏幕中应用新权限来激活这些权限。SQL 查询会动态更新，因此可以在 Amazon Quick 之外对其进行管理。对于查询，权限会在自动刷新直接查询缓存时更新。

从目标数据集中删除基于文件的权限数据集之前，如果已删除该数据集，则受限制的用户无法访问该数据集。在数据集处于该状态时，它仍标记为**受限**。不过，在查看该数据集的**权限**时，您可以看到该数据集没有选择的数据集规则。

要解决该问题，应指定新的数据集规则。创建具有相同名称的数据集不足以解决该问题。您必须在**权限**屏幕中选择新权限数据集。该限制不适用于直接 SQL 查询。

# 为匿名用户嵌入控制面板时，使用采用基于标签的规则的行级别安全性来限制对数据集的访问
使用基于标签的规则


|  | 
| --- |
|  适用于：企业版  | 


|  | 
| --- |
|    目标受众：Amazon Quick 管理员和 Amazon Quick 开发者  | 

当您在应用程序中为未在 Quick 中配置（注册）的用户嵌入 Amazon Quick 控制面板时，您可以使用行级安全 (RLS) 来 filter/restrict 保护带有标签的数据。标签是用户指定的字符串，用于标识应用程序中的会话。您可以使用标签为数据集实现 RLS 控制。通过在数据集中配置基于 RLS 的限制，Quick 根据与用户身份/会话关联的会话标签筛选数据。

例如，假设您的物流公司会为各种零售商提供面向客户的应用程序。来自这些零售商的成千上万名用户会访问您的应用程序，查看与他们的订单如何从您的仓库发货相关的指标。

您不想在 Quick 中管理成千上万的用户，因此您可以使用匿名嵌入将选定的仪表板嵌入到您的应用程序中，经过身份验证和授权的用户可以看到这些仪表板。不过，您要确保零售商只能看到与其业务相关的数据，而不会看到其他业务数据。您可以使用带标签的 RLS 来确保客户只能看到与他们相关的数据。

为此，请完成以下步骤：

1. 向数据集添加 RLS 标签。

1. 在运行时系统中使用 `GenerateEmbedUrlForAnonymousUser` API 操作为这些标签分配值。

   有关使用 `GenerateEmbedUrlForAnonymousUser` API 操作为匿名用户嵌入控制面板的更多信息，请参阅[为匿名（未注册）用户嵌入 Amazon Quick Sight 控制面板](embedded-analytics-dashboards-for-everyone.md)。

使用带标签的 RLS 之前，请记住以下几点：
+ 目前仅匿名嵌入尤其是使用 `GenerateEmbedUrlForAnonymousUser` API 操作的嵌入式控制面板，才支持使用带标签的 RLS。
+ 使用 `GenerateEmbedURLForRegisteredUser` API 操作或旧 `GetDashboardEmbedUrl` API 操作的嵌入式控制面板不支持使用带标签的 RLS。
+  AWS Identity and Access Management (IAM) 或快速身份类型不支持 RLS 标签。
+ 将 SPICE 数据集应用于行级别安全性时，数据集中的每个字段最多可以包含 2,047 个 Unicode 字符。如果字段包含的内容超过该限额，则会在摄取过程中被截断。要了解有关 SPICE 数据限额的更多信息，请参阅[导入数据的 SPICE 限额](data-source-limits.md#spice-limits)。

## 步骤 1：向数据集添加 RLS 标签


您可以在 Amazon Quick 中向数据集添加基于标签的规则。您也可以调用 `CreateDataSet` 或 `UpdateDataSet` API 操作来添加基于标签的规则。有关更多信息，请参阅 [使用 API 向数据集添加 RLS 标签](#quicksight-dev-rls-tags-add-api)。

使用以下步骤在 Quick 中向数据集添加 RLS 标签。

**向数据集添加 RLS 标签**

1. 在快速入门页面中，选择左侧**的数据**。

1. 选择要向其添加 RLS 的数据集。

1. 在打开的数据集详细信息页面上，为**行级别安全性**选择**设置**。

1. 在打开的**设置行级别安全性**页面上，选择**基于标签的规则**。

1. 对于**列**，选择要添加标签规则的列。

   例如，若为物流公司，则使用 `retailer_id` 列。

   仅列出数据类型为字符串的列。

1. 对于**标签**，输入标签键。您可以输入所需的任何标签名称。

   例如，若为物流公司，则使用 `tag_retailer_id` 标签键。这样做可以根据访问应用程序的零售商来设置行级别安全性。

1. （可选）对于**分隔符**，从列表中选择一个分隔符，或输入自己的分隔符。

   为标签分配多个值时，可以使用分隔符来分隔文本字符串。分隔符的值最长可达 10 个字符。

1. （可选）对于**全部匹配**，选择 **\$1**，或输入自己的一个或多个字符。

   在要按数据集中该列的所有值进行筛选时，此选项可以是您希望使用的任何字符。您可以使用字符，而不是逐一列出值。如果指定了此值，则其长度可以至少为一个字符，或最多 256 个字符。

1. 选择**添加**。

   标签规则已添加到数据集并在底部列出，但尚未应用。要向数据集添加其他标签规则，请重复步骤 5 到 9。要编辑标签规则，请选择规则后面的铅笔图标。要删除标签规则，请选择规则后面的删除图标。您最多可以向数据集添加 50 个标签。

1. 准备好将标签规则应用于数据集时，选择**应用规则**。

1. 在打开的**是否启用基于标签的安全性？**页面中，选择**应用并激活**。

   基于标签的规则现已激活。**设置行级别安全性**页面将显示一个切换开关，供您开启和关闭数据集的标签规则。

   要关闭数据集的所有基于标签的规则，请关闭**基于标签的规则**开关，然后在出现的文本框中输入“确认”。

   在**数据**页面上，数据集行中会出现一个锁形图标，表示标签规则已启用。

   您现在可以在运行时系统中使用标签规则来设置标签值，如 [步骤 2：在运行时系统中为 RLS 标签分配值](#quicksight-dev-rls-tags-assign-values) 中所述。这些规则仅在处于活动状态时影响快速阅读器。
**重要**  
在数据集上分配并启用标签后，请确保授予 Quick authors 权限，以便在创作仪表板时查看数据集中的任何数据。  
要授予 Quick 作者查看数据集中数据的权限，请创建权限文件或查询以用作数据集规则。有关更多信息，请参阅 [为行级别安全性创建数据集规则](restrict-access-to-a-data-set-using-row-level-security.md#create-data-set-rules-for-row-level-security)。

创建基于标签的规则后，将出现一个新的**管理规则**表，其中会显示基于标签的规则之间的关系。要更改**管理规则**表中列出的规则，请选择规则后面的铅笔图标。然后添加或移除标签，并选择**更新**。要将更新后的规则应用于数据集，请选择**应用**。

### （可选）将 OR 条件添加到 RLS 标签


您还可以在基于标签的规则中添加 OR 条件，以进一步自定义向 Quick 账户用户显示数据的方式。当您在基于标签的规则中使用 OR 条件时，如果规则中定义的至少一个标签有效，则会显示 Quick 中的视觉效果。

**将 OR 条件添加到基于标签的规则**

1. 在**管理规则**表中，选择**添加 OR 条件**。

1. 在出现的**选择标签**下拉列表中，选择要创建 OR 条件的标签。您最多可以向**管理规则**表添加 50 个 OR 条件。您可以向数据集中的单列添加多个标签，但规则中至少需要包含一个列标签。

1. 选择**更新**将条件添加到规则，然后选择**应用**将更新后的规则应用于数据集。

### 使用 API 向数据集添加 RLS 标签


您也可以通过调用 `CreateDataSet` 或 `UpdateDataSet` API 操作，在数据集中配置并启用基于标签的行级别安全性。通过以下示例了解如何操作。

**重要**  
在 API 调用中配置会话标签时，  
将会话标签视为安全证书。不要向最终用户或客户端代码公开会话标签。
实现服务器端控制。确保会话标签完全由您可信的后端服务设置，而不是由最终用户可以修改的参数设置。
保护会话标签不被枚举。确保一个租户中的用户无法发现或猜测属于其他租户的 SessionTag 值。
查看您的架构。如果允许下游客户或合作伙伴直接调用 API，请评估这些用户是否可以为他们不应访问的租户指定 SessionTag 值。

------
#### [ CreateDataSet ]

以下示例展示了如何创建带 RLS 标签的数据集。该示例采用了前述的物流公司场景。标签在 `row-level-permission-tag-configuration` 元素中定义。标签在数据要受到保护的列上定义。有关此可选元素的更多信息，请参阅 *Amazon Quick API 参考[RowLevelPermissionTagConfiguration](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RowLevelPermissionTagConfiguration.html)*中的。

```
create-data-set
		--aws-account-id <value>
		--data-set-id <value>
		--name <value>
		--physical-table-map <value>
		[--logical-table-map <value>]
		--import-mode <value>
		[--column-groups <value>]
		[--field-folders <value>]
		[--permissions <value>]
		[--row-level-permission-data-set <value>]
		[--column-level-permission-rules <value>]
		[--tags <value>]
		[--cli-input-json <value>]
		[--generate-cli-skeleton <value>]
		[--row-level-permission-tag-configuration 
	'{
		"Status": "ENABLED",
		"TagRules": 
			[
				{
					"TagKey": "tag_retailer_id",
					"ColumnName": "retailer_id",
					"TagMultiValueDelimiter": ",",
					"MatchAllValue": "*"
				},
				{
					"TagKey": "tag_role",
					"ColumnName": "role"
				}
			],
		"TagRuleConfigurations":
			[
				tag_retailer_id
			],
			[
				tag_role
			]
	}'
]
```

本示例中的标签是在元素的 `TagRules` 部分中定义的。在本示例中，根据两列定义了两个标签：
+ `tag_retailer_id` 标签键是为 `retailer_id` 列定义的。对本示例中的物流公司而言，这将根据访问应用程序的零售商来设置行级别安全性。
+ `tag_role` 标签键是为 `role` 列定义的。对本示例中的物流公司而言，这将根据从特定零售商访问应用程序的用户的角色来设置额外的行级别安全性层。例如 `store_supervisor` 或 `manager`。

对于每个标签，您都可以定义 `TagMultiValueDelimiter` 和 `MatchAllValue`。这二者都是可选项。
+ `TagMultiValueDelimiter` – 此选项可以是任意字符串，用于在运行时系统中传递值时分隔值。此值最长可达 10 个字符。本示例使用逗号作为分隔符值。
+ `MatchAllValue` – 在要按数据集中该列的所有值进行筛选时，此选项可以是您希望使用的任何字符。您可以使用字符，而不是逐一列出值。如果指定了此值，其长度至少为一个字符，最多为 256 个字符。本示例使用星号作为通配值。

在为数据集列配置标签时，请使用强制属性 `Status` 开启或关闭标签。要启用标签规则，请为该属性使用值 `ENABLED`。启用标签规则后，就可以在运行时系统中使用这些规则来设置标签值，如 [步骤 2：在运行时系统中为 RLS 标签分配值](#quicksight-dev-rls-tags-assign-values) 中所述。

以下为响应定义的示例。

```
{
			"Status": 201,
			"Arn": "arn:aws:quicksight:us-west-2:11112222333:dataset/RLS-Dataset",
			"DataSetId": "RLS-Dataset",
			"RequestId": "aa4f3c00-b937-4175-859a-543f250f8bb2"
		}
```

------
#### [ UpdateDataSet ]

**UpdateDataSet**

您可以使用 `UpdateDataSet` API 操作为现有数据集添加或更新 RLS 标签。

以下为使用 RLS 标签更新数据集的示例。该示例采用了前述的物流公司场景。

```
update-data-set
		--aws-account-id <value>
		--data-set-id <value>
		--name <value>
		--physical-table-map <value>
		[--logical-table-map <value>]
		--import-mode <value>
		[--column-groups <value>
		[--field-folders <value>]
		[--row-level-permission-data-set <value>]
		[--column-level-permission-rules <value>]
		[--cli-input-json <value>]
		[--generate-cli-skeleton <value>]
				[--row-level-permission-tag-configuration 
	'{
		"Status": "ENABLED",
		"TagRules": 
			[
				{
					"TagKey": "tag_retailer_id",
					"ColumnName": "retailer_id",
					"TagMultiValueDelimiter": ",",
					"MatchAllValue": "*"
				},
				{
					"TagKey": "tag_role",
					"ColumnName": "role"
				}
			],
		"TagRuleConfigurations":
			[
				tag_retailer_id
			],
			[
				tag_role
			]
	}'
]
```

以下为响应定义的示例。

```
{
			"Status": 201,
			"Arn": "arn:aws:quicksight:us-west-2:11112222333:dataset/RLS-Dataset",
			"DataSetId": "RLS-Dataset",
			"RequestId": "aa4f3c00-b937-4175-859a-543f250f8bb2"
		}
```

------

**重要**  
在数据集上分配并启用标签后，请确保授予 Quick authors 权限，以便在创作仪表板时查看数据集中的任何数据。  
要授予 Quick 作者查看数据集中数据的权限，请创建权限文件或查询以用作数据集规则。有关更多信息，请参阅 [为行级别安全性创建数据集规则](restrict-access-to-a-data-set-using-row-level-security.md#create-data-set-rules-for-row-level-security)。

有关该`RowLevelPermissionTagConfiguration`元素的更多信息，请参阅 *Amazon Quick API 参考[RowLevelPermissionTagConfiguration](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RowLevelPermissionTagConfiguration.html)*中的。

## 步骤 2：在运行时系统中为 RLS 标签分配值


您只能将 RLS 标签用于匿名嵌入。您可以使用 `GenerateEmbedUrlForAnonymousUser` API 操作为标签设置值。

**重要**  
在 API 调用中配置会话标签时，  
将会话标签视为安全证书。不要向最终用户或客户端代码公开会话标签。
实现服务器端控制。确保会话标签完全由您可信的后端服务设置，而不是由最终用户可以修改的参数设置。
保护会话标签不被枚举。确保一个租户中的用户无法发现或猜测属于其他租户的 SessionTag 值。
查看您的架构。如果允许下游客户或合作伙伴直接调用 API，请评估这些用户是否可以为他们不应访问的租户指定 SessionTag 值。

以下示例演示了如何为上一步数据集中定义的 RLS 标签分配值。

```
POST /accounts/AwsAccountId/embed-url/anonymous-user
	HTTP/1.1
	Content-type: application/json
	{
		“AwsAccountId”: “string”,
		“SessionLifetimeInMinutes”: integer,
		“Namespace”: “string”, // The namespace to which the anonymous end user virtually belongs
		“SessionTags”:  // Optional: Can be used for row-level security
			[
				{
					“Key”: “tag_retailer_id”,
					“Value”: “West,Central,South”
				}
				{
					“Key”: “tag_role”,
					“Value”: “shift_manager”
				}
			],
		“AuthorizedResourceArns”:
			[
				“string”
			],
		“ExperienceConfiguration”:
			{
				“Dashboard”:
					{
						“InitialDashboardId”: “string”
						// This is the initial dashboard ID the customer wants the user to land on. This ID goes in the output URL.
					}
			}
	}
```

以下为响应定义的示例。

```
HTTP/1.1 Status
	Content-type: application/json

	{
	"EmbedUrl": "string",
	"RequestId": "string"
	}
```

只有 `GenerateEmbedUrlForAnonymousUser` API 操作才支持无需在 Quick 中注册用户的 RLS。在此操作中，您可以在 `SessionTags` 下定义与数据集列关联的标签的值。

本示例定义了以下分配：
+ 值 `West`、`Central` 和 `South` 在运行时系统中分配给 `tag_retailer_id` 标签。数据集中的 `TagMultipleValueDelimiter` 中定义的分隔符使用一个逗号。要在列中使用调用值，可以将值设置为 *\$1*，该值在创建标签时定义为 `MatchAllValue`。
+ 值 `shift_manager` 被分配给 `tag_role` 标签。

使用生成的 URL 的用户只能查看 `role` 列中包含 `shift_manager` 值的行。该用户只能查看 `retailer_id` 列中的值 `West`、`Central` 或 `South`。

有关使用 `GenerateEmbedUrlForAnonymousUser` API 操作为匿名用户嵌入控制面板的更多信息[为匿名（未注册）用户嵌入 Amazon Quick Sight 控制面板](embedded-analytics-dashboards-for-everyone.md)，请参阅或[GenerateEmbedUrlForAnonymousUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_GenerateEmbedUrlForAnonymousUser.html)在 *Amazon Quick API 参考*中

# 使用列级别安全性限制对数据集的访问
使用列级别安全性

在 Quick 的企业版中，您可以通过配置列级安全性 (CLS) 来限制对数据集的访问。启用 CLS 的数据集或分析旁边有受限制的 ![\[The lock icon for CLS.\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/images/cls-restricted-icon.png) 符号。默认情况下，所有用户和组都有权访问数据。通过使用 CLS，您可以管理对数据集中特定列的访问权限。

如果您使用的分析或控制面板包含您无权访问的具有 CLS 限制的数据集，则您无法创建、查看或编辑使用受限字段的视觉对象。对于大多数视觉对象类型，如果视觉对象具有您无权访问的受限列，则您无法在分析或控制面板中看到该视觉对象。

表和数据透视表具有不同的行为。如果表或数据透视表在**行**或**列**字段井中使用受限列，而您无权访问这些受限列，则您无法在分析或控制面板中看到该视觉对象。如果表或数据透视表在**值**字段井中具有受限列，则您可以在分析或控制面板中看到该表，其中仅包含您有权访问的值。受限列的值显示为未授权。

要在分析或控制面板上启用列级别安全性，您需要管理员访问权限。

**使用 CLS 创建新分析**

1. 在快速入门页面上，选择**分析**选项卡。

1. 在右上角，选择**新分析**。

1. 选择一个数据集，然后选择**列级别安全性**。

1. 选择要限制的列，然后选择**下一步**。默认情况下，大多数用户和组都有权访问所有列。

1. 选择谁可以访问每列，然后选择**应用**以保存您的更改。

**将现有分析用于 CLS**

1. 在快速入门页面上，选择**数据**选项卡。

1. 在数据页面上，打开您的数据集

1. 在打开的数据集详细信息页面上，对于**列级别安别全性**，选择**设置**。

1. 选择要限制的列，然后选择**下一步**。默认情况下，大多数用户和组都有权访问所有列。

1. 选择谁可以访问每列，然后选择**应用**以保存您的更改。

**使用 CLS 创建控制面板**

1. 在快速导航窗格上，选择**分析**选项卡。

1. 选择要为其创建控制面板的分析。

1. 在右上角，选择**发布**。

1. 选择下列选项之一：
   + 要创建新控制面板，请选择**将新控制面板发布为**，然后为新控制面板输入名称。
   + 要替换现有的控制面板，选择**替换现有控制面板**，然后从列表中选择控制面板。

   此外，您可以选择**高级发布选项**。有关更多信息，请参阅 [发布控制面板](creating-a-dashboard.md)。

1. 选择 **Publish dashboard（发布控制面板）**。

1. （可选）执行以下操作之一：
   + 要发布而不共享某个控制面板，请在出现**与用户共享控制面板**屏幕时选择右上角的 **x**。您可以通过在应用程序栏中选择**共享**来稍后共享该控制面板。
   + 要共享该控制面板，请按照[共享 Amazon 快速浏览控制面板](sharing-a-dashboard.md)中的过程操作。

# 在 Amazon Quick 中以 IAM 角色身份运行查询
以 IAM 角色运行查询

您可以对连接至 Amazon Athena、Amazon Redshift 或 Amazon S3 的数据来源使用精细的访问策略，而不是更广泛的权限，从而提高数据安全性。首先，您需要创建一个 AWS Identity and Access Management （IAM）角色，该角色的权限可在人员或 API 开始查询时激活。然后，Quick 管理员或开发人员将 IAM 角色分配给 Athena 或 Amazon S3 数据源。角色到位后，任何运行查询的人员或 API 都拥有运行查询所需的确切权限。

在承诺实施运行身份角色以提高数据安全性之前，需要考虑以下几点：
+ 阐述额外的安全措施为您带来的优势。
+ 与您的 Quick 管理员合作，了解向数据源添加角色是否有助于您更好地实现安全目标或要求。
+ 询问对于涉及的数据来源、人员和应用程序的数量，您的团队能否以可行的方式记录和维护这种类型的安全措施？ 如果不能，那么谁来承担这部分工作？
+ 在结构化组织中，将利益相关者分配到运营、开发和 IT 支持组成的平行团队中。询问他们的经验、建议以及是否愿意支持您的计划。
+ 在启动项目之前，请考虑进行概念验证，让需要访问数据的人员参与其中。

以下规则适用于在 Athena、Amazon Redshift 和 Amazon S3 中使用运行身份角色：
+ 每个数据源只能关联一个 RoleArn。数据来源的使用者（通常会访问数据集和视觉对象）可以生成许多不同类型的查询。该角色对正常工作和无法正常工作的查询设定了界限。
+ ARN 必须与使用它的 Quick 实例 AWS 账户 相同的 IAM 角色对应。
+ IAM 角色必须具有信任关系，允许 Quick 担任该角色。
+ 调用 Quick 的身份 APIs 必须拥有传递角色的权限，然后才能更新`RoleArn`属性。您只需要在创建或更新角色 ARN 时传递角色。之后不会重新评估权限。同样，省略角色 ARN 时不需要权限。
+ 省略角色 ARN 时，Athena 或 Amazon S3 数据来源将使用账户范围的角色和范围缩小策略。
+ 当存在角色 ARN 时，账户范围的角色和任何范围缩小策略都将被忽略。对于 Athena 数据来源，Lake Formation 权限不会被忽略。
+ 对于 Amazon S3 数据来源，必须可以使用 IAM 角色访问清单文件和清单文件指定的数据。
+ ARN 字符串需要与数据 AWS 区域 所在 AWS 账户 和查询位置中的现有 IAM 角色相匹配。

当 Quick 连接到中的其他服务时 AWS，它会使用 IAM 角色。默认情况下，Quick 为其使用的每项服务创建该角色的细化程度较低的版本，该角色由 AWS 账户 管理员管理。当您添加带有自定义权限策略的 IAM 角色 ARN 时，您会为需要额外保护的数据来源覆盖更广泛的角色。有关策略的更多信息，请参阅《IAM 用户指南》中的[创建客户管理型策略](https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_managed-policies.html)。

## 使用 Athena 数据来源运行查询
Athena 数据来源

使用 API 将 ARN 附加到 Athena 数据来源。为此，请在的[RoleArn](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RoleArn.html)属性中添加角色 ARN。[AthenaParameters](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_AthenaParameters.html)为了进行验证，您可以在**编辑 Athena 数据来源**对话框中查看角色 ARN。但是，**角色 ARN** 是一个只读字段。

首先，您需要一个自定义 IAM 角色，我们在以下示例中对此进行了演示。

请记住，以下代码示例仅用于学习。此示例仅在临时开发和测试环境中使用，不能在生产环境中使用。此示例中的策略不保护任何特定资源，这些资源必须位于可部署策略中。此外，即使是为了开发，您也需要添加自己的 AWS 账户信息。

以下命令创建一个简单的新角色并附加一些向 Quick 授予权限的策略。

```
aws iam create-role \
        --role-name TestAthenaRoleForQuickSight \
        --description "Test Athena Role For QuickSight" \
        --assume-role-policy-document '{
            "Version": "2012-10-17"		 	 	 ,
            "Statement": [
                {
                    "Effect": "Allow",
                    "Principal": {
                        "Service": "quicksight.amazonaws.com"
                    },
                    "Action": "sts:AssumeRole"
                }
            ]
        }'
```

确定或创建用于每个数据源的 IAM 角色后，使用附加策略 attach-role-policy。

```
aws iam attach-role-policy \
        --role-name TestAthenaRoleForQuickSight \
        --policy-arn arn:aws:iam::222222222222:policy/service-role/AWSQuickSightS3Policy1

    aws iam attach-role-policy \
        --role-name TestAthenaRoleForQuickSight \
        --policy-arn arn:aws:iam::aws:policy/service-role/AWSQuicksightAthenaAccess1

    aws iam attach-role-policy \
        --role-name TestAthenaRoleForQuickSight \
        --policy-arn arn:aws:iam::aws:policy/AmazonS3Access1
```



验证权限后，您可以通过创建新角色或更新现有角色在 Quick 数据源中使用该角色。使用这些命令时，请更新 AWS 账户 ID 并 AWS 区域 使其与您自己的 ID 相匹配。

请记住，这些示例代码片段不适用于生产环境。 AWS 强烈建议您为生产案例确定并使用一组最低权限策略。

```
aws quicksight create-data-source
        --aws-account-id 222222222222 \
        --region us-east-1 \
        --data-source-id "athena-with-custom-role" \
        --cli-input-json '{
            "Name": "Athena with a custom Role",
            "Type": "ATHENA",
            "data sourceParameters": {
                "AthenaParameters": {
                    "RoleArn": "arn:aws:iam::222222222222:role/TestAthenaRoleForQuickSight"
                }
            }
        }'
```

## 使用 Amazon Redshift 数据来源运行查询
Amazon Redshift 数据来源

将您的 Amazon Redshift 数据与运行身份角色联系起来，从而通过精细的访问策略提高数据安全性。您可以为使用公共网络或 VPC 连接的 Amazon Redshift 数据来源创建运行身份角色。您可以在**编辑 Amazon Redshift 数据来源**对话框中指定要使用的连接类型。Amazon Redshift Serverless 数据来源不支持运行方式角色。

首先，您需要一个自定义 IAM 角色，我们在以下示例中对此进行了演示。以下命令创建示例新角色并附加向 Quick 授予权限的策略。

```
aws iam create-role \
--role-name TestRedshiftRoleForQuickSight \
--description "Test Redshift Role For QuickSight" \
--assume-role-policy-document '{
    "Version": "2012-10-17"		 	 	 ,
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Service": "quicksight.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
        }
    ]
}'
```

在您确定或创建用于每个数据来源的 IAM 角色后，请使用 `attach-role-policy` 附加策略。如果您要使用的角色附加了 `redshift:GetClusterCredentialsWithIAM` 权限，则 `DatabaseUser` 和 `DatabaseGroups` 的值是可选的。

```
aws iam attach-role-policy \
--role-name TestRedshiftRoleForQuickSight \
--policy-arn arn:aws:iam:111122223333:policy/service-role/AWSQuickSightRedshiftPolicy
    
        
aws iam create-policy --policy-name RedshiftGetClusterCredentialsPolicy1 \
--policy-document file://redshift-get-cluster-credentials-policy.json 


aws iam attach-role-policy \
--role-name TestRedshiftRoleForQuickSight \
--policy-arn arn:aws:iam:111122223333:policy/RedshiftGetClusterCredentialsPolicy1
// redshift-get-cluster-credentials-policy.json
{
    "Version": "2012-10-17"		 	 	 ,
    "Statement": [
        {
            "Sid": "RedshiftGetClusterCredentialsPolicy",
            "Effect": "Allow",
            "Action": [
                "redshift:GetClusterCredentials"
            ],
            "Resource": [
                "*"
            ]
        }
    ]
}
```

上面的示例创建了一个使用 `RoleARN`、`DatabaseUser` 和 `DatabaseGroups` IAM 参数的数据来源。如果您只想通过 IAM `RoleARN` 参数建立连接，请将 `redshift:GetClusterCredentialsWithIAM` 权限附加到您的角色，如下例所示。

```
aws iam attach-role-policy \ 
--role-name TestRedshiftRoleForQuickSight \ 
--policy-arn arn:aws:iam:111122223333:policy/RedshiftGetClusterCredentialsPolicy1 // redshift-get-cluster-credentials-policy.json {
    "Version": "2012-10-17"		 	 	 ,
    "Statement": [ 
        {
            "Sid": "RedshiftGetClusterCredentialsPolicy", 
            "Effect": "Allow", 
            "Action": [ "redshift:GetClusterCredentialsWithIAM" ],
            "Resource": [ "*" ]
        }
    ]
}"
```

验证权限后，您可以通过创建新角色或更新现有角色在 Quick 数据源中使用该角色。使用这些命令时，请更新 AWS 账户 ID 和 AWS 区域，使其与您自己的账号 ID 和区域一致。

```
aws quicksight create-data-source \
--region us-west-2 \
--endpoint https://quicksight.us-west-2.quicksight.aws.com/ \
--cli-input-json file://redshift-data-source-iam.json \
redshift-data-source-iam.json is shown as below
{
    "AwsAccountId": "AWSACCOUNTID",
    "DataSourceId": "DATSOURCEID",
    "Name": "Test redshift demo iam",
    "Type": "REDSHIFT",
    "DataSourceParameters": {
        "RedshiftParameters": {
            "Database": "integ",
            "Host": "redshiftdemocluster.us-west-2.redshift.amazonaws.com",
            "Port": 8192,
            "ClusterId": "redshiftdemocluster",
            "IAMParameters": {
                "RoleArn": "arn:aws:iam::222222222222:role/TestRedshiftRoleForQuickSight",
                "DatabaseUser": "user",
                "DatabaseGroups": ["admin_group", "guest_group", "guest_group_1"]
            }
        }
    },
    "Permissions": [
      {
        "Principal": "arn:aws:quicksight:us-east-1:AWSACCOUNTID:user/default/demoname",
        "Actions": [
          "quicksight:DescribeDataSource",
          "quicksight:DescribeDataSourcePermissions",
          "quicksight:PassDataSource",
          "quicksight:UpdateDataSource",
          "quicksight:DeleteDataSource",
          "quicksight:UpdateDataSourcePermissions"
        ]
      }
    ]
}
```

如果您的数据来源使用 VPC 连接类型，请使用以下 VPC 配置。

```
{
    "AwsAccountId": "AWSACCOUNTID",
    "DataSourceId": "DATSOURCEID",
    "Name": "Test redshift demo iam vpc",
    "Type": "REDSHIFT",
    "DataSourceParameters": {
        "RedshiftParameters": {
            "Database": "mydb",
            "Host": "vpcdemo.us-west-2.redshift.amazonaws.com",
            "Port": 8192,
            "ClusterId": "vpcdemo",
            "IAMParameters": {
                "RoleArn": "arn:aws:iam::222222222222:role/TestRedshiftRoleForQuickSight",
                "DatabaseUser": "user",
                "AutoCreateDatabaseUser": true
            }
        }
    },
    "VpcConnectionProperties": { 
      "VpcConnectionArn": "arn:aws:quicksight:us-west-2:222222222222:vpcConnection/VPC Name"
    },
    "Permissions": [
      {
        "Principal": "arn:aws:quicksight:us-east-1:222222222222:user/default/demoname",
        "Actions": [
          "quicksight:DescribeDataSource",
          "quicksight:DescribeDataSourcePermissions",
          "quicksight:PassDataSource",
          "quicksight:UpdateDataSource",
          "quicksight:DeleteDataSource",
          "quicksight:UpdateDataSourcePermissions"
        ]
      }
    ]
}
```

如果您的数据来源使用 `redshift:GetClusterCredentialsWithIAM` 权限，但不使用 `DatabaseUser` 或 `DatabaseGroups` 参数，请向该角色授予对架构中部分或所有表的访问权限。要查看角色是否已被授予对特定表的 `SELECT` 权限，请在 Amazon Redshift 查询编辑器中输入以下命令。

```
SELECT
u.usename,
t.schemaname||'.'||t.tablename,
has_table_privilege(u.usename,t.tablename,'select') AS user_has_select_permission
FROM
pg_user u
CROSS JOIN
pg_tables t
WHERE
u.usename = 'IAMR:RoleName'
AND t.tablename = tableName
```

有关 Amazon Redshift 查询编辑器中的 `SELECT` 操作的更多信息，请参阅 [SELECT](https://docs.aws.amazon.com/redshift/latest/dg/r_SELECT_synopsis.html)。

要向角色授予 `SELECT` 权限，请在 Amazon Redshift 查询编辑器中输入以下命令。

```
GRANT SELECT ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA 
schema_name [, ...] } TO "IAMR:Rolename";
```

有关 Amazon Redshift 查询编辑器中的 `GRANT` 操作的更多信息，请参阅 [GRANT](https://docs.aws.amazon.com/redshift/latest/dg/r_GRANT.html)。

## 使用 Amazon S3 数据来源运行查询
Amazon S3 数据来源

Amazon S3 数据源包含一个清单文件，Quick 使用该文件来查找和解析您的数据。您可以通过 Quick 控制台上传 JSON 清单文件，也可以提供指向 S3 存储桶中 JSON 文件的 URL。如果您选择提供 URL，则必须授予 Quick 访问在 Amazon S3 中的文件的权限。使用快速管理控制台来控制对清单文件及其引用的数据的访问权限。

借助该**RoleArn**属性，您可以通过覆盖账户范围角色的自定义 IAM 角色授予对清单文件及其引用的数据的访问权限。使用 API 将 ARN 附加到 Amazon S3 数据来源的清单文件。[为此，请在 S3Parameters 的[RoleArn](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RoleArn.html)属性中添加角色 ARN。](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_S3Parameters.html)为了进行验证，您可以在**编辑 S3 数据来源**对话框中查看角色 ARN。但是**角色 ARN** 是只读字段，如以下屏幕截图所示。

首先，请创建一个 Amazon S3 清单文件。然后，您可以在创建新的 Amazon S3 数据集时将其上传到 Amazon Quick，也可以将该文件放入包含您的数据文件的 Amazon S3 存储桶中。查看以下清单文件具体形式的示例：

```
{
    "fileLocations": [
        {
            "URIPrefixes": [
                "s3://quicksightUser-run-as-role/data/"
            ]
        }
    ],
    "globalUploadSettings": {
        "format": "CSV",
        "delimiter": ",",
        "textqualifier": "'",
        "containsHeader": "true"
    }
}
```

有关如何创建清单文件的说明，请参阅 [支持的 Amazon S3 清单文件格式](supported-manifest-file-format.md)。

创建清单文件并将其添加到 Amazon S3 存储桶或将其上传到 Quick 后，在 IAM 中创建或更新授予`s3:GetObject`访问权限的现有角色。以下示例说明如何使用 AWS API 更新现有 IAM 角色：

```
aws iam put-role-policy \
    --role-name QuickSightAccessToS3RunAsRoleBucket \
    --policy-name GrantS3RunAsRoleAccess \
    --policy-document '{
        "Version": "2012-10-17"		 	 	 ,
        "Statement": [
            {
                "Effect": "Allow",
                "Action": "s3:ListBucket",
                "Resource": "arn:aws:s3:::s3-bucket-name"
            },
            {
                "Effect": "Allow",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::s3-bucket-name/manifest.json"
            },
            {
                "Effect": "Allow",
                "Action": "s3:GetObject",
                "Resource": "arn:aws:s3:::s3-bucket-name/*"
            }
        ]
    }'
```

在您的策略授予 `s3:GetObject` 访问权限后，您可以开始创建将更新后的 `put-role-policy` 应用于 Amazon S3 数据来源清单文件的数据来源。

```
aws quicksight create-data-source --aws-account-id 111222333444 --region us-west-2 --endpoint https://quicksight.us-west-2.quicksight.aws.com/ \
    --data-source-id "s3-run-as-role-demo-source" \
    --cli-input-json '{
        "Name": "S3 with a custom Role",
        "Type": "S3",
        "DataSourceParameters": {
            "S3Parameters": {
                "RoleArn": "arn:aws:iam::111222333444:role/QuickSightAccessRunAsRoleBucket",
                "ManifestFileLocation": {
                    "Bucket": "s3-bucket-name", 
                    "Key": "manifest.json"
                }
            }
        }
    }'
```

验证权限后，您可以通过创建新角色或更新现有角色在 Quick 数据源中使用该角色。使用这些命令时，请务必更新 AWS 账户 ID 并 AWS 区域 与您自己的 ID 相匹配。

# 删除数据集


**重要**  
目前，删除数据集的操作是不可撤销的操作，并且会导致不可逆的工作丢失。删除操作不会级联删除从属对象。不过，依赖对象会停止工作，即使您用相同的数据集来替换已删除数据集也是如此。

删除数据集之前，我们强烈建议您先将每个依赖分析或控制面板指向新的数据集。

目前，在依赖视觉对象仍然存在的情况下删除数据集时，包含这些视觉对象的分析和控制面板都无法接受新的元数据。它们仍然可见，但无法正常工作。无法通过添加相同的数据集来修复它们。

这是因为数据集包含的元数据是分析和控制面板不可或缺的组成部分，而分析和控制面板又依赖于该数据集。此元数据是为每个数据集唯一生成的。尽管 Quick Sight 引擎可以读取元数据，但它无法被人类读取（例如，它不包含字段名称）。因此，数据集的精确副本拥有不同的元数据。即使多个数据集共享相同的名称和相同的字段，但每个数据集的元数据是唯一的。

**删除数据集**

1. 请确保某人要继续使用的任何分析或控制面板未使用该数据集。

   在**数据**页面上，选择不再需要的数据集。然后选择右上角的**删除数据集**。

1. 如果您收到一条警告，指示此数据集正在使用中，请跟踪所有依赖分析和控制面板，并将其指向不同数据集。如果该操作不可行，请尝试以下一项或多项最佳实践，而不是将其删除：
   + 重命名数据集，以明确弃用该数据集。
   + 筛选数据，使数据集不包含行。
   + 删除其他人对数据集的访问权限。

   我们建议您通过可以使用的任何方式通知依赖对象所有者该数据集已被启用。还要确保您留出足够的时间，让他们采取相应的措施。

1. 确保在删除数据集后没有依赖对象停止工作，然后选择数据集并选择**删除数据集**。确认您的选择，或选择 **Cancel (取消)**。

**重要**  
目前，删除数据集的操作是不可撤销的操作，并且会导致不可逆的工作丢失。删除操作不会级联删除从属对象。不过，依赖对象会停止工作，即使您用相同的数据集来替换已删除数据集也是如此。

# 向分析中添加数据集


创建分析之后，您可以将多个数据集添加到分析中。然后，您可以使用它们来创建更多视觉对象。

在分析中，您可以打开任何数据集进行编辑（例如添加或删除字段），或执行其他数据准备。您还可以删除或替换数据集。

当前选定的数据集显示在**数据**窗格顶部。这是当前选定的视觉对象使用的数据集。每个视觉对象只能使用一个数据集。选择其他视觉对象会将选定的数据集更改为该视觉对象使用的数据集。

要手动更改选定的数据集，请选择**数据**窗格顶部的数据集列表，然后选择其他数据集。如果不使用此数据集，此操作会取消选择当前选定的视觉对象。然后，选择使用选定的数据集的视觉对象。或者在**视觉对象**窗格中选择**添加**，以使用所选数据集创建新的视觉对象。

如果您在工具栏上选择**建议**以查看建议的视觉对象，您将看到基于当前选定的数据集的视觉对象。

仅在**筛选条件**窗格中显示当前选定的数据集的筛选条件，并且您只能在当前选定的数据集上创建筛选条件。

**Topics**
+ [

# 替换数据集
](replacing-data-sets.md)
+ [

# 从分析中删除数据集
](delete-a-data-set-from-an-analysis.md)

使用以下过程将数据集添加到分析中或者编辑分析使用的数据集。

**向分析添加数据集**

1. 在分析页面上，导航到**数据**窗格并展开**数据集**下拉列表。

1. 选择**添加新数据集**以添加数据集。或者，选择**管理数据集**以编辑数据集。有关编辑数据集的更多信息，请参阅 [编辑数据集](edit-a-data-set.md)。

1. 此时将显示数据集的列表。选择数据集，然后选择**选择**。要取消，请选择**取消**。

# 替换数据集


在分析中，您可以添加、编辑、替换或删除数据集。使用此部分可以了解如何替换数据集。

在替换数据集时，如果您希望视觉对象按照设计的方式工作，新数据集应具有相似的列。替换数据集还会清除分析的撤销和重做历史记录。这意味着您不能在应用程序栏上使用撤消和重做按钮来浏览更改。因此，决定更改数据集时，您的分析设计应该是稳定的，而不能处于编辑阶段中。

**替换数据集**

1. 在分析页面上，导航到**数据**窗格并展开**数据集**下拉列表。

1. 选择**管理数据集**。

1. 选择要替换的数据集旁边的省略号（三个点），然后选择**替换**。

1. 在**选择替换数据集**页面中，从列表中选择数据集，然后选择**选择**。
**注意**  
替换数据集将清除此分析的撤销和重做历史记录。

数据集将替换为新数据集。字段列表和视觉对象将使用新数据集更新。

此时，您可以选择添加新数据集、编辑新数据集或者使用其他数据集来替换它。选择 **Close (关闭)** 以退出。

## 新数据集不匹配的情况


在有些情况下，所选替换数据集不包含您的分析中的视觉对象、筛选条件、参数和计算字段使用的所有字段和层次结构。如果是，您将收到来自 Quick Sight 的警告，其中显示了不匹配或缺失的列的列表。

如果发生这种情况，您可以更新两个数据集之间的字段映射。

**更新字段映射**

1. 在**替换数据集不匹配**页面中，选择**更新字段映射**。

1. 在**更新字段映射**页面中，选择要映射的字段的下拉菜单，然后从列表中选择要映射到的字段。

   如果新数据集中缺少该字段，请选择**忽略此字段**。

1. 选择**确认**以确认更新。

1. 选择**关闭**以关闭页面并返回分析。

数据集将替换为新数据集。字段列表和视觉对象将使用新数据集更新。

使用新数据集中现在缺少的字段的任何视觉对象都会更新为空白。您可以向视觉对象中重新添加字段或从分析中删除视觉对象。

如果您在替换数据集之后改变了主意，仍可以恢复。假设您替换了数据集，然后发现更改分析来匹配新数据集太困难。您可以撤销对分析所做的任何更改。然后，您可以用原始数据集或者更加符合分析要求的数据集来替换新数据集。

# 从分析中删除数据集


使用以下过程从分析中删除数据集。

**从分析中删除数据集**

1. 在分析页面上，导航到**数据**窗格并展开**数据集**下拉列表。

1. 选择**管理数据集**。

1. 选择要替换的数据集旁边的省略号（三个点），然后选择**移除**。如果数据集是分析中的唯一数据集，则无法删除。

1. 选择**关闭**，关闭此对话框。

# 在 Amazon Quick Sight 中使用数据源
使用数据来源

使用数据来源访问外部数据存储。Amazon S3 数据来源会保存清单文件信息。相比之下，Salesforce 和数据库数据来源保存连接信息，例如凭证。在这些情况下，您可以轻松从数据存储中创建多个数据集，而无需重新输入信息。系统不会为文本文件或 Microsoft Excel 文件保存连接信息。

**Topics**
+ [

# 创建数据源
](create-a-data-source.md)
+ [

# 编辑数据来源
](edit-a-data-source.md)
+ [

# 删除数据来源
](delete-a-data-source.md)

# 创建数据源



|  | 
| --- |
|    目标受众：Amazon Quick 作者  | 

作为 Amazon Quick 的分析作者，您无需对用于连接数据的基础设施有任何了解。您只需设置一次新数据来源。

设置数据源后，您可以通过 Quick 控制台中的磁贴对其进行访问。可以使用该数据来源创建一个或多个数据集。设置数据集后，您还可以从其磁贴访问数据集。通过抽象技术细节，Amazon Quick Sight 简化了数据连接。

**注意**  
您无需为打算手动上传的文件存储连接设置。有关文件上传的更多信息，请参阅[创建数据集](creating-data-sets.md)。

在开始向 Amazon Quick 添加新的数据源连接配置文件之前，请先收集连接到数据源所需的信息。在某些情况下，您可能会打算从文件复制和粘贴设置。如果是这样，请确保文件不包含格式字符（列表项目符号或编号）或空格字符（空格、制表符）。还应确保文件不包含非文本“乱码”字符，例如非 ASCII、空值 (ASCII 0) 和控制字符。

以下列表包含收集最常用设置的信息：
+ 要连接到的数据来源。

  确保您知道需要连接到哪个源以进行报告。此源可能与存储或处理数据或提供数据访问的源不同。

  例如，假设您是新加入一家大公司的分析师。您希望分析订购系统中的数据，该系统使用 Oracle。但是，您无法直接查询联机事务处理 (OLTP) 数据。数据子集被提取并存储在 Amazon S3 上的存储桶中，但您也无权访问该子集。您的新同事解释说，他们使用 AWS Glue 抓取工具来读取和 AWS Lake Formation 访问文件。通过更多的研究，你会发现你需要使用亚马逊 Athena 查询作为 Amazon Quick Sight 中的数据源。此处的重点是，选择哪种类型的数据来源并不总是非常明显。
+ 新数据来源磁贴的描述性名称。

  每个新数据来源连接都需要一个唯一的描述性名称。此名称显示在 Amazon Quick Sight 现有数据源列表中，该列表位于 “**创建数据集**” 屏幕的底部。使用一个可轻松地将您的数据来源与其他类似数据来源区分开的名称。您的新 Amazon Quick Sight 数据源配置文件会同时显示数据库软件徽标和您分配的自定义名称。
+ 要连接到的服务器或实例的名称。

  一个唯一名称或其他标识符，标识您的网络上的数据来源的服务器连接器。描述符取决于您要连接的服务器或实例，但通常是以下一个或多个：
  + 主机名
  + IP 地址
  + 集群 ID
  + 实例 ID
  + Connector
  + 基于站点的 URL
+ 要使用的数据集合的名称。

  描述符因数据来源而异，但通常是以下之一：
  + 数据库
  + Warehouse
  + S3 存储桶
  + 目录
  + 架构

  在某些情况下，您可能需要包含一个清单文件或查询。
+ 您希望 Amazon Quick Sight 使用的用户名。

  每次 Amazon Quick Sight 使用此数据源配置文件（磁贴）进行连接时，都会使用连接设置中的用户名。在一些情况下，这可能是您的个人登录信息。但是，如果您打算与其他人共享此信息，请向系统管理员询问如何创建用于 Amazon Quick Sight 连接的凭证。
+ 要使用的连接的类型。可以选择公有网络或 VPC 连接。如果有多个 VPC 连接可用，请确定要使用哪个连接来访问您的数据来源。
+ 一些数据来源需要进行额外设置，例如安全套接字层 (SSL) 或 API 令牌。

将连接设置另存为数据来源配置文件后，可以通过选择数据集磁贴来创建数据集。这些连接作为数据源连接配置文件存储在 Amazon Quick Sight 中。

要查看现有的连接配置文件，请打开快速入门页面，选择**数据**，选择**创建**，然后选择**新建数据集**。

有关受支持的数据来源连接和示例的列表，请参阅[通过集成和数据集连接到您的数据](connecting-to-data-examples.md)。

在 Quick Sight 中[创建数据源后，您可以在 Quick Sight 中创建包含来自已连接数据源的数据的数据集](https://docs.aws.amazon.com/quicksuite/latest/userguide/creating-data-sets)。您也可以随时[更新数据来源连接](https://docs.aws.amazon.com/quicksuite/latest/userguide/edit-a-data-source)信息。

# 编辑数据来源


您可以编辑现有数据库数据来源以更新连接信息，如服务器名称或用户凭证。还可以编辑现有的 Amazon Athena 数据来源以更新数据来源名称。您无法编辑 Amazon S3 或 Salesforce 数据来源。

## 编辑数据库数据来源


可以使用以下过程编辑数据库数据来源。

1. 在快速入门页面中，选择左侧**的数据**。选择 “**创建**”，然后选择 “**新建数据集**”。

1. 选择数据库数据源。

1. 选择 **Edit Data Source**。

1. 修改数据来源信息：
   + 如果您正在编辑的是自动发现的数据库数据来源，则可修改以下任意设置：
     + 对于**数据来源名称**，输入数据来源的名称。
     + 对于 **Instance ID (实例 ID)**，从提供的列表中选择要连接到的实例或集群的名称。
     + **Database name** 会显示 **Instance ID** 集群或实例的默认数据库。如果要在该集群或实例上使用不同的数据库，请输入其名称。
     + 对于 **UserName**，输入有权执行以下操作的用户帐户的用户名：
       + 访问目标数据库。
       + 在该数据库中读取要使用的任何表（对其执行 `SELECT` 语句）。
     + 对于**密码**，输入您输入的账户的密码。
   + 如果您编辑的是外部数据库数据来源，则可修改以下任意设置：
     + 对于**数据来源名称**，输入数据来源的名称。
     + 对于 **Database server (数据库服务器)**，输入以下值之一：
       + 对于 Amazon Redshift 集群，输入集群的端点（不带端口号）。例如，如果终端节点值为 `clustername.1234abcd.us-west-2.redshift.amazonaws.com:1234`，则输入 `clustername.1234abcd.us-west-2.redshift.amazonaws.com`。在 Amazon Redshift 控制台中，您可以在集群详细信息页面上的**端点**字段中获取端点值。
       + 对于 PostgreSQL、MySQL 或 SQL Server 的 Amazon EC2 实例，请输入公有 DNS 地址。在 EC2 控制台中，您可以在实例详细信息窗格中的 **Public DNS** 字段中获取公有 DNS 值。
       + 对于 PostgreSQL、MySQL 或 SQL Server 的非 Amazon EC2 实例，请输入数据库服务器的主机名或公有 IP 地址。
     + 对于 **Port (端口)**，输入集群或实例在连接上使用的端口。
     + 对于 **Database name (数据库名称)**，输入要使用的数据库的名称。
     + 对于 **UserName**，输入有权执行以下操作的用户帐户的用户名：
       + 访问目标数据库。
       + 在该数据库中读取要使用的任何表（对其执行 `SELECT` 语句）。
     + 对于**密码**，输入您输入的账户的密码。

1. 选择 **Validate connection**。

1. 如果连接验证成功，请选择 **Update data source**。如果未成功，则更正连接信息，然后重新验证。

1. 如果要使用更新的数据来源创建新数据集，请按照 [使用数据库创建数据集](create-a-database-data-set.md) 中的说明继续操作。否则，请关闭 **Choose your table (选择表)** 对话框。

## 编辑 Athena 数据来源


使用以下过程编辑 Athena 数据来源。

1. 在快速入门页面中，选择左侧**的数据**。选择 “**创建**”，然后选择 “**新建数据集**”。

1. 选择 Athena 数据源。

1. 选择 **Edit Data Source**。

1. 对于**数据来源名称**，输入一个新名称。

1. 随即出现**管理数据来源共享**屏幕。在 **Users (用户)** 选项卡中，找到要删除的用户。

1. 如果要使用更新的数据来源创建新数据集，请按照 [使用 Amazon Athena 数据创建数据集](create-a-data-set-athena.md) 中的说明继续操作。否则，请关闭 **Choose your table (选择表)** 对话框。

# 删除数据来源


如果不再需要使用数据来源，您可以将其删除。删除基于查询的数据库数据来源会使所有与之关联的数据集都不可用。删除 Amazon S3、Salesforce 或基于 SPICE 的数据库数据来源不会影响您使用任何关联的数据集。这是因为数据存储在 [SPICE](spice.md) 中。但是，您无法再刷新这些数据集。

**删除数据来源**

1. 选择要删除的数据来源。

1. 选择**删除**。