

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

# 对亚马逊 Quick Sight
<a name="troubleshooting"></a>

 使用这些信息来帮助您诊断和修复在使用 Amazon Quick Sight 时可能遇到的常见问题。

**注意**  
 需要更多帮助？ 您可以访问 Amazon Quick Sight [用户社区](https://answers.quicksight.aws.amazon.com/sn/index.html)或[AWS 论坛](https://forums.aws.amazon.com/)。另请参阅 [Quick Sight 资源库](https://aws.amazon.com/quicksight/resource-library/)。

**Topics**
+ [

## 解决 Amazon Quick Sight 问题和错误消息
](#quicksight-errors)
+ [

# 将 Amazon Athena 与 Amazon Quick Sight 配合使用时出现连接问题
](troubleshoot-athena.md)
+ [

# Amazon Quick Sight 的数据源连接问题
](troubleshoot-connect-to-datasources.md)
+ [

# Quick Sight 的登录问题
](troubleshoot-login.md)
+ [

# Quick Sight 的视觉问题
](visual-issues.md)

## 解决 Amazon Quick Sight 问题和错误消息
<a name="quicksight-errors"></a>

如果遇到困难或收到错误消息，您可以使用几种方法解决该问题。以下是一些可以提供帮助的资源：
+ 有关数据集摄取（导入数据）期间出现的错误，请参阅 [SPICE 摄取错误代码](errors-spice-ingestion.md)。
+ 有关技术用户问题，请访问[用户社区](https://answers.quicksight.aws.amazon.com/sn/index.html)。
+ 有关管理员问题，请参阅 [AWS 论坛](https://forums.aws.amazon.com/)。
+ 如果您需要更多定制帮助，请联系 Supp AWS ort。要在登录时执行此操作 AWS 账户，请选择右上角的 Su **ppor** t，然后选择 Su **pport Center**。

# 将 Amazon Athena 与 Amazon Quick Sight 配合使用时出现连接问题
<a name="troubleshoot-athena"></a>

接下来，您可以找到有关在使用 Amazon Athena 和 Amazon Quick Sight 时可能遇到的疑难解答信息。

在尝试排查 Athena 的其他问题之前，请确保您可以连接到 Athena。有关排查 Athena 连接问题的更多信息，请参阅 [无法连接到 Amazon Athena](troubleshoot-connect-athena.md)。

如果您可以连接但遇到其他问题，则在将查询添加到 Amazon Quick Sight 之前，先在 Athena 控制台 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)() 中运行查询会很有用。有关其他问题排查的信息，请参阅《Athena 用户指南》**中的[问题排查](https://docs.aws.amazon.com/athena/latest/ug/troubleshooting.html)。

**Topics**
+ [

# 将 Athena 与 Amazon Quick Sight 配合使用时未找到列
](troubleshoot-athena-column-not-found.md)
+ [

# 将 Athena 与 Amazon Quick Sight 配合使用时数据无效
](troubleshoot-athena-invalid-data.md)
+ [

# 将 Athena 与 Amazon Quick Sight 配合使用时的查询超时时间
](troubleshoot-athena-query-timeout.md)
+ [

# 将 Athena 与 Amazon Quick Sight 配合使用时，暂存存储桶已不存在
](troubleshoot-athena-missing-bucket.md)
+ [

# 在 Amazon Quick Sight 中 AWS Glue 与 Athena 一起使用时表格不兼容
](troubleshoot-athena-glue-table-not-upgraded.md)
+ [

# 将 Athena 与 Amazon Quick Sight 配合使用时未找到表格
](troubleshoot-athena-table-not-found.md)
+ [

# 将 Athena 与 Quick Sight 配合使用时出现工作组和输出错误
](troubleshoot-athena-workgroup.md)

# 将 Athena 与 Amazon Quick Sight 配合使用时未找到列
<a name="troubleshoot-athena-column-not-found"></a>

如果 Athena 数据来源中缺少分析中的列，您会收到“`column not found`”错误。

在 Amazon Quick Sight 中，打开您的分析。在**可视化**选项卡中，选择**选择数据集**、**编辑分析数据集**。

在**此分析中的数据集**屏幕中，选择您数据集旁边的**编辑**来刷新数据集。Amazon Quick Sight 会将架构缓存两分钟。因此，可能需要等待 2 分钟，之后才会显示最新更改。

要调查该列最初是如何丢失的，你可以前往 Athena 控制台 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)() 并查看查询历史记录以查找编辑该表的查询。

如果您在预览模式下编辑自定义 SQL 查询时出现此错误，请验证查询中的列名称，然后检查是否有其他语法错误。例如，请检查列名称是否未用为字符串保留的单引号括起来。

如果问题仍然存在，请验证表、列和查询是否符合 Athena 要求。有关更多信息，请参阅《Athena 用户指南》**中的[表、数据库和列的名称](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html)和[问题排查](https://docs.aws.amazon.com/athena/latest/ug/troubleshooting.html)。

# 将 Athena 与 Amazon Quick Sight 配合使用时数据无效
<a name="troubleshoot-athena-invalid-data"></a>

在计算字段中使用任何运算符或函数时，会出现无效数据错误。为了解决这一问题，请验证表中的数据是否与您为函数提供的格式一致。

例如，假设要将函数 `parseDate(expression, [‘format’], [‘time_zone’])` 用作 **parseDate(date\$1column, ‘MM/dd/yyyy’)**。在这种情况下，`date_column` 中的所有值都必须符合 `'MM/dd/yyyy'` 格式 (`’05/12/2016’`)。任何未采用此格式 (**‘2016/12/05’**) 的值都会导致错误。

# 将 Athena 与 Amazon Quick Sight 配合使用时的查询超时时间
<a name="troubleshoot-athena-query-timeout"></a>

如果您的查询超时，则可尝试以下选项来解决您的问题。

如果故障是在进行分析时生成的，请记住，生成任何视觉效果的 Amazon Quick Sight 超时时间为两分钟。如果您使用的是自定义 SQL 查询，则可简化查询来优化运行时间。

如果您处于直接查询模式（不使用 SPICE）中，则可尝试将数据导入 SPICE。不过，如果查询超过 Athena 的 30 分钟超时限制，在将数据导入 SPICE 时可能会再次超时。有关 Athena 限制的最新信息，请参阅《AWS 一般参考》**中的 [Amazon Athena Limits](https://docs.aws.amazon.com/general/latest/gr/aws_service_limits.html#amazon-athena-limits)。

# 将 Athena 与 Amazon Quick Sight 配合使用时，暂存存储桶已不存在
<a name="troubleshoot-athena-missing-bucket"></a>

利用此部分的内容帮助解决以下错误：“**The staging bucket for this query result no longer exists in the underlying data source.** (此查询结果的暂存存储桶在基础数据来源中不再存在。)”

 当您使用 Athena 创建数据集时，Amazon Quick Sight 会创建一个 Amazon S3 存储桶。默认情况下，此存储桶的名称类似于“`aws-athena-query-results-<REGION>-<ACCOUNTID>`”。如果您删除此存储桶，则您的下一个 Athena 查询可能会失败，同时返回指示暂存存储桶不再存在的错误。

 要修复此错误，请在正确的 AWS 区域中创建新的同名存储桶。

# 在 Amazon Quick Sight 中 AWS Glue 与 Athena 一起使用时表格不兼容
<a name="troubleshoot-athena-glue-table-not-upgraded"></a>

如果你在 Athena 中使用 Amazon Quick Sight 中的 AWS Glue 表格时遇到错误，那可能是因为你缺少了一些元数据。请按照以下步骤查看您的表格是否没有 Amazon Quick Sight 让 Athena 连接器正常工作所需的`TableType`属性。通常，这些表的元数据不会迁移到 AWS Glue 数据目录中。有关更多信息，请参阅[《 AWS Glue 开发人员指南》 Step-by-Step中的升级到 AWS Glue 数据目录](https://docs.aws.amazon.com/athena/latest/ug/glue-upgrade.html)*。*

如果您此时不想迁移到 AWS Glue 数据目录，则有两种选择。您可以通过 AWS Glue 管理控制台重新创建每 AWS Glue 张表。或者，您可以使用以下过程中列出的 AWS CLI 脚本来识别和更新缺少`TableType`属性的表。

如果您更希望使用 CLI 执行此操作，请使用以下过程以帮助您设计脚本。

**使用 CLI 设计脚本**

1. 使用 CLI 来了解哪些 AWS Glue 表没有`TableType`属性。

   ```
   aws glue get-tables --database-name <your_datebase_name>;
   ```

   例如，可以在 CLI 中运行以下命令。

   ```
   aws glue get-table --database-name "test_database" --name "table_missing_table_type"
   ```

   下面是输出内容的示例。可以看到，表 `"table_missing_table_type"` 未声明 `TableType` 属性。

   ```
   {
   		"TableList": [
   			{
   				"Retention": 0,
   				"UpdateTime": 1522368588.0,
   				"PartitionKeys": [
   					{
   						"Name": "year",
   						"Type": "string"
   					},
   					{
   						"Name": "month",
   						"Type": "string"
   					},
   					{
   						"Name": "day",
   						"Type": "string"
   					}
   				],
   				"LastAccessTime": 1513804142.0,
   				"Owner": "owner",
   				"Name": "table_missing_table_type",
   				"Parameters": {
   					"delimiter": ",",
   					"compressionType": "none",
   					"skip.header.line.count": "1",
   					"sizeKey": "75",
   					"averageRecordSize": "7",
   					"classification": "csv",
   					"objectCount": "1",
   					"typeOfData": "file",
   					"CrawlerSchemaDeserializerVersion": "1.0",
   					"CrawlerSchemaSerializerVersion": "1.0",
   					"UPDATED_BY_CRAWLER": "crawl_date_table",
   					"recordCount": "9",
   					"columnsOrdered": "true"
   				},
   				"StorageDescriptor": {
   					"OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat",
   					"SortColumns": [],
   					"StoredAsSubDirectories": false,
   					"Columns": [
   						{
   							"Name": "col1",
   							"Type": "string"
   						},
   						{
   							"Name": "col2",
   							"Type": "bigint"
   						}
   					],
   					"Location": "s3://myAthenatest/test_dataset/",
   					"NumberOfBuckets": -1,
   					"Parameters": {
   						"delimiter": ",",
   						"compressionType": "none",
   						"skip.header.line.count": "1",
   						"columnsOrdered": "true",
   						"sizeKey": "75",
   						"averageRecordSize": "7",
   						"classification": "csv",
   						"objectCount": "1",
   						"typeOfData": "file",
   						"CrawlerSchemaDeserializerVersion": "1.0",
   						"CrawlerSchemaSerializerVersion": "1.0",
   						"UPDATED_BY_CRAWLER": "crawl_date_table",
   						"recordCount": "9"
   					},
   					"Compressed": false,
   					"BucketColumns": [],
   					"InputFormat": "org.apache.hadoop.mapred.TextInputFormat",
   					"SerdeInfo": {
   						"Parameters": {
   						"field.delim": ","
   						},
   						"SerializationLibrary": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe"
   					}
   				}
   			}
   		]
   	}
   ```

1. 在编辑器中编辑表定义，将 `"TableType": "EXTERNAL_TABLE"` 添加到表定义，如下例所示。

   ```
   {
   	"Table": {
   		"Retention": 0,
   		"TableType": "EXTERNAL_TABLE",
   		"PartitionKeys": [
   			{
   				"Name": "year",
   				"Type": "string"
   			},
   			{
   				"Name": "month",
   				"Type": "string"
   			},
   			{
   				"Name": "day",
   				"Type": "string"
   			}
   		],
   		"UpdateTime": 1522368588.0,
   		"Name": "table_missing_table_type",
   		"StorageDescriptor": {
   			"BucketColumns": [],
   			"SortColumns": [],
   			"StoredAsSubDirectories": false,
   			"OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat",
   			"SerdeInfo": {
   				"SerializationLibrary": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe",
   				"Parameters": {
   					"field.delim": ","
   				}
   			},
   			"Parameters": {
   				"classification": "csv",
   				"CrawlerSchemaSerializerVersion": "1.0",
   				"UPDATED_BY_CRAWLER": "crawl_date_table",
   				"columnsOrdered": "true",
   				"averageRecordSize": "7",
   				"objectCount": "1",
   				"sizeKey": "75",
   				"delimiter": ",",
   				"compressionType": "none",
   				"recordCount": "9",
   				"CrawlerSchemaDeserializerVersion": "1.0",
   				"typeOfData": "file",
   				"skip.header.line.count": "1"
   			},
   			"Columns": [
   				{
   					"Name": "col1",
   					"Type": "string"
   				},
   				{
   					"Name": "col2",
   					"Type": "bigint"
   				}
   			],
   			"Compressed": false,
   			"InputFormat": "org.apache.hadoop.mapred.TextInputFormat",
   			"NumberOfBuckets": -1,
   			"Location": "s3://myAthenatest/test_date_part/"
   		},
   		"Owner": "owner",
   		"Parameters": {
   			"classification": "csv",
   			"CrawlerSchemaSerializerVersion": "1.0",
   			"UPDATED_BY_CRAWLER": "crawl_date_table",
   			"columnsOrdered": "true",
   			"averageRecordSize": "7",
   			"objectCount": "1",
   			"sizeKey": "75",
   			"delimiter": ",",
   			"compressionType": "none",
   			"recordCount": "9",
   			"CrawlerSchemaDeserializerVersion": "1.0",
   			"typeOfData": "file",
   			"skip.header.line.count": "1"
   		},
   		"LastAccessTime": 1513804142.0
   	}
   	}
   ```

1. 您可以改写以下脚本以更新表输入，使其包含 `TableType` 属性。

   ```
   aws glue update-table --database-name <your_datebase_name> --table-input <updated_table_input>
   ```

   下面是一个示例。

   ```
   aws glue update-table --database-name test_database --table-input '
   	{
   			"Retention": 0,
   			"TableType": "EXTERNAL_TABLE",
   			"PartitionKeys": [
   				{
   					"Name": "year",
   					"Type": "string"
   				},
   				{
   					"Name": "month",
   					"Type": "string"
   				},
   				{
   					"Name": "day",
   					"Type": "string"
   				}
   			],
   			"Name": "table_missing_table_type",
   			"StorageDescriptor": {
   				"BucketColumns": [],
   				"SortColumns": [],
   				"StoredAsSubDirectories": false,
   				"OutputFormat": "org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat",
   				"SerdeInfo": {
   					"SerializationLibrary": "org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe",
   					"Parameters": {
   						"field.delim": ","
   					}
   				},
   				"Parameters": {
   					"classification": "csv",
   					"CrawlerSchemaSerializerVersion": "1.0",
   					"UPDATED_BY_CRAWLER": "crawl_date_table",
   					"columnsOrdered": "true",
   					"averageRecordSize": "7",
   					"objectCount": "1",
   					"sizeKey": "75",
   					"delimiter": ",",
   					"compressionType": "none",
   					"recordCount": "9",
   					"CrawlerSchemaDeserializerVersion": "1.0",
   					"typeOfData": "file",
   					"skip.header.line.count": "1"
   				},
   				"Columns": [
   					{
   						"Name": "col1",
   						"Type": "string"
   					},
   					{
   						"Name": "col2",
   						"Type": "bigint"
   					}
   				],
   				"Compressed": false,
   				"InputFormat": "org.apache.hadoop.mapred.TextInputFormat",
   				"NumberOfBuckets": -1,
   				"Location": "s3://myAthenatest/test_date_part/"
   			},
   			"Owner": "owner",
   			"Parameters": {
   				"classification": "csv",
   				"CrawlerSchemaSerializerVersion": "1.0",
   				"UPDATED_BY_CRAWLER": "crawl_date_table",
   				"columnsOrdered": "true",
   				"averageRecordSize": "7",
   				"objectCount": "1",
   				"sizeKey": "75",
   				"delimiter": ",",
   				"compressionType": "none",
   				"recordCount": "9",
   				"CrawlerSchemaDeserializerVersion": "1.0",
   				"typeOfData": "file",
   				"skip.header.line.count": "1"
   			},
   			"LastAccessTime": 1513804142.0
   		}'
   ```

# 将 Athena 与 Amazon Quick Sight 配合使用时未找到表格
<a name="troubleshoot-athena-table-not-found"></a>

如果 Athena 数据来源中缺少分析中的表，您会收到“`table not found`”错误。

在 Athena 控制台 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home)() 中，在相应架构下检查您的表。您可以在 Athena 中重新创建表，然后在 Amazon Quick Sight 中在该表上创建新的数据集。要调查表最初是如何丢失的，您可以使用 Athena 控制台查看查询历史记录。此举可帮助您找到删除了该表的查询。

如果您在预览模式下编辑自定义 SQL 查询时出现此错误，请验证查询中的表名称，然后检查是否有其他语法错误。Amazon Quick Sight 无法从查询中推断出架构。必须在查询中指定架构。

例如，下面的语句可以运行。

```
select from my_schema.my_table
```

下面的语句将失败，因为它缺少架构。

```
select from my_table
```

如果问题仍然存在，请验证表、列和查询是否符合 Athena 要求。有关更多信息，请参阅《Athena 用户指南》**中的[表、数据库和列的名称](https://docs.aws.amazon.com/athena/latest/ug/tables-databases-columns-names.html)和[问题排查](https://docs.aws.amazon.com/athena/latest/ug/troubleshooting.html)。

# 将 Athena 与 Quick Sight 配合使用时出现工作组和输出错误
<a name="troubleshoot-athena-workgroup"></a>

要验证是否已正确设置工作组，请检查以下设置：
+ **与数据来源关联的 Athena 工作组必须存在。**

  要解决此问题，您可以返回 Athena 数据来源设置并选择其他工作组。有关更多信息，请参阅《Athena 用户指南》**中的[设置工作组](https://docs.aws.amazon.com/athena/latest/ug/workgroups-procedure.html)。

  另一种解决方案是让 AWS 账户 管理员在 Athena 控制台中重新创建工作组。
+ **与数据来源关联的 Athena 工作组必须处于启用状态。**

   AWS 账户 管理员需要在 Athena 控制台中启用工作组。使用此直接链接打开Athena控制台:. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) 然后在 **Workgroup (工作组)** 面板中选择适当的工作组并查看其设置。选择**启用工作组**。
+ **您必须有权访问与 Athena 工作组关联的 Amazon S3 输出位置。**

  要授予 Amazon Quick Sight 访问 S3 输出位置的权限，Amazon Quick Sight 管理员可以在 “**管理**” QuickSight 屏幕中编辑 “**安全和权限**”。
+ **Athena 工作组必须具有关联的 S3 输出位置。**

   AWS 账户 管理员需要在 Athena 控制台中将 S3 存储桶与工作组关联。使用此直接链接打开Athena控制台:. [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) 然后在 **Workgroup (工作组)** 面板中选择适当的工作组并查看其设置。设置**查询结果位置**。

# Amazon Quick Sight 的数据源连接问题
<a name="troubleshoot-connect-to-datasources"></a>

参阅下节内容帮助您排查数据来源连接问题。在继续之前，请确认数据库目前可用。此外，请确认您使用的连接信息正确且凭证有效。

**Topics**
+ [

# 数据来源连接选项看似正常（SSL）却无法连接
](troubleshoot-connect-SSL.md)
+ [

# 无法连接到 Amazon Athena
](troubleshoot-connect-athena.md)
+ [

# 无法连接到 Amazon S3
](troubleshoot-connect-S3.md)
+ [

# 无法根据现有的 Adobe Analytics 数据来源创建或刷新数据集
](troubleshoot-connect-adobe-analytics.md)
+ [

# 需要验证与数据来源的连接或更改数据来源设置
](troubleshoot-connect-validate.md)
+ [

# 无法连接到 MySQL（SSL 和授权问题）
](troubleshoot-connect-mysql.md)
+ [

# 无法连接到 RDS
](troubleshoot-connect-RDS.md)

# 数据来源连接选项看似正常（SSL）却无法连接
<a name="troubleshoot-connect-SSL"></a>

安全套接字层 (SSL) 配置不正确时，可能会出现连接问题。可能出现以下症状：
+ 您可以采用其他方式或从其他位置连接到数据库，但以这种方式不行。
+ 您可以连接到类似的数据库，但无法连接此数据库。

在继续之前，请先排除以下情况：
+ 权限问题
+ 可用性问题
+ 证书过期或无效
+ 自签名证书
+ 证书链的顺序错误
+ 端口未启用
+ 防火墙阻止 IP 地址
+ Web 套接字已被阻止
+ 虚拟私有云（VPC）或安全组配置不正确。

为了帮助查找 SSL 的问题，您可以使用一个在线 SSL 检查程序或像 OpenSSL 这样的工具。

 以下步骤演示在疑似 SSL 问题时如何排查连接错误。在本示例中，管理员已安装 OpenSSL。

**Example**  

1. 用户发现连接到数据库时有问题。用户确认自己可以连接其他 AWS 区域中的不同数据库。他们尝试连接同一数据库的其他版本，结果是可以轻松连接。

1. 管理员检查了问题，并决定验证证书是否正常工作。管理员在线搜索关于使用 OpenSSL 的文章来排查或调试 SSL 连接问题。

1. 使用 OpenSSL，管理员验证了终端的 SSL 配置。

   ```
   echo quit
   openssl s_client –connect <host>:port
   ```

   结果显示证书无法正常工作。

   ```
   ...
   ...
   ...
   CONNECTED(00000003)
   012345678901234:error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol:s23_clnt.c:782:
   ---
   no peer certificate available
   ---
   No client certificate CA names sent
   ---
   SSL handshake has read 7 bytes and written 278 bytes
   ---
   New, (NONE), Cipher is (NONE)
   Secure Renegotiation IS NOT supported
   SSL-Session:
       Protocol  : TLSv1.2
       Cipher    : 0000
       Session-ID:
       Session-ID-ctx:
       Master-Key:
       Key-Arg   : None
       PSK identity: None
       PSK identity hint: None
       Start Time: 1497569068
       Timeout   : 300 (sec)
       Verify return code: 0 (ok)
   ---
   ```

1. 管理员在用户的数据库服务器上安装了 SSL 证书，从而更正了此问题。

有关本示例中解决方案的更多详细信息，请参阅《Amazon RDS 用户指南》**中的[使用 SSL 加密与数据库实例的连接](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)。

# 无法连接到 Amazon Athena
<a name="troubleshoot-connect-athena"></a>


|  | 
| --- |
|    目标受众：Amazon Quick 管理员  | 

要帮助排查与 Athena 连接的问题，请参阅本节内容。

如果无法连接到 Amazon Athena，您可能会在运行查询时遇到权限不足错误，显示权限未配置。要验证您是否可以将 Amazon Quick Sight 连接到 Athena，请检查以下设置：
+ AWS Amazon Quick Sight 内部的资源权限
+ AWS Identity and Access Management (IAM) 策略
+ Amazon S3 位置
+ 查询结果位置
+ AWS KMS 密钥策略（仅适用于加密数据集）

有关详细信息，请参阅以下内容。有关排查 Athena 中其他问题的信息，请参阅 [将 Amazon Athena 与 Amazon Quick Sight 配合使用时出现连接问题](troubleshoot-athena.md)。

## 确保您已授权 Amazon Quick Sight 使用 Athena
<a name="troubleshoot-connect-athena-authorizing"></a>


|  | 
| --- |
|    目标受众：Amazon Quick 管理员  | 

使用以下步骤确保您成功授权 Amazon Quick Sight 使用 Athena。 AWS 资源权限适用于所有 Amazon Quick Sight 用户。

要执行此操作，您必须是 Amazon Quick Sight 管理员。要检查您是否有访问权限，请确认您在右上角的个人资料中打开菜单时看到了 “**管理**” QuickSight 选项。

**授权 Amazon Quick Sight 访问 Athena**

1. 选择自己的个人资料名称（右上角）。选择 “**管理 Quick Sight**”，然后向下滚动到 “**自定义权限**” 部分。

1. 选择**AWS 资源**，然后选择**添加或删除**。

1. 在列表中找到 Athena。清除 Athena 旁边的方框，然后再次选中以启用 Athena。

   然后选择 **Connect both (连接两者)**。

1. 选择您要从 Amazon Quick Sight 访问的存储桶。

   您在此处访问的 S3 存储桶的设置与您通过从列表中选择 Amazon S3 访问的 AWS 服务设置相同。请注意，避免无意中禁用其他人使用的存储桶。

1. 选择**完成**确认自己的选择。您也可以选择**取消**，不保存就退出。

   

1. 选择 “**更新**” 以保存您的新设置以供 Amazon Quick Sight 访问 AWS 服务。您也可以选择**取消**，不进行任何更改就退出。

1. 完成后，请确保您使用的是正确 AWS 区域 的。

   如果您必须在此过程的第一步中进行更改，请将其更改回之前 AWS 区域 使用的版本。 AWS 区域 

## 确保 IAM 策略授予了正确的权限
<a name="troubleshoot-connect-athena-perms"></a>


|  | 
| --- |
|    目标受众：系统管理员  | 

您的 AWS Identity and Access Management (IAM) 策略必须授予特定操作的权限。您的 IAM 用户或角色必须能够读取和写入 Athena 用于查询的 S3 存储桶的输入和输出。

如果数据集已加密，则 IAM 用户必须是指定密钥策略中的 AWS KMS 密钥用户。

**验证 IAM 策略是否有权对查询使用 S3 存储桶**

1. 使用 [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/) 打开 IAM 控制台。

1. 找到所使用的 IAM 用户或角色。选择用户或角色名称以查看关联的策略。

1. 验证策略是否具有正确的权限。选择您想要验证的策略，然后选择**编辑策略**。使用可视化编辑器，该编辑器在默认情况下打开。如果您改为打开 JSON 编辑器，请选择**可视化编辑器**选项卡。

1. 在列表中选择 S3 条目以查看其内容。该策略需要授予列出、读取和写入权限。如果 S3 未在列表中，也没有正确的权限，您可以在此处它们。

有关与 Quick Sight 配合使用的 IAM 策略的示例，请参阅[Quick 的 IAM 策略示例](iam-policy-examples.md)。

## 确保 IAM 用户有权 read/write 访问您的 S3 位置
<a name="troubleshoot-connect-athena-read-write-access"></a>


|  | 
| --- |
|    目标受众：Amazon Quick 管理员  | 

**要从 Quick Sight 访问 Athena 数据，请先确保 Athena 及其 S3 位置已在 “管理” 屏幕中获得授权。 QuickSight**有关更多信息，请参阅 [确保您已授权 Amazon Quick Sight 使用 Athena](#troubleshoot-connect-athena-authorizing)。

接下来，验证相关的 IAM 权限。您的 Athena 连接的 IAM 用户 read/write 需要访问结果在 S3 中的存储位置。首先验证 IAM 用户是否有[允许访问 Athena](https://docs.aws.amazon.com/athena/latest/ug/setting-up.html#attach-managed-policies-for-using-ate) 的附加策略，例如 `AmazonAthenaFullAccess`。让 Athena 使用所需的名称创建存储桶，然后将此存储桶添加到可以访问的存储桶列表中。QuickSight 如果您更改结果存储桶的默认位置 (`aws-athena-query-results-*`)，请确保 IAM 用户有权读取和写入新位置。

确认您未在 S3 网址中包含该 AWS 区域 代码。例如，使用 `s3://awsexamplebucket/path` 而不是 `s3://us-east-1.amazonaws.com/awsexamplebucket/path`。使用错误的 S3 URL 会导致 `Access Denied` 错误。

还要验证存储桶策略和对象访问控制列表 (ACLs) 是否[允许 IAM 用户访问存储桶中的对象](https://docs.aws.amazon.com/AmazonS3/latest/dev/s3-access-control.html)。如果 IAM 用户位于其他用户中 AWS 账户，请参阅 A *mazon Athena 用户指南*中的[跨账户访问](https://docs.aws.amazon.com/athena/latest/ug/cross-account-permissions.html)。

如果数据集已加密，请验证 IAM 用户是否为指定密钥策略中的 AWS KMS 密钥用户。你可以在 AWS KMS 控制台的 [https://console.aws.amazon.com/km](https://console.aws.amazon.com/kms) s 中执行此操作。

**设置 Athena 查询结果位置的权限**

1. 从 [https://console.aws.amazon.com/athena/](https://console.aws.amazon.com/athena/home) 打开 Athena 控制台。

1. 确认您已选择想要使用的工作组：
   + 检查顶部的**工作组**选项。它的格式为**工作组:*group-name*.** 如果组名称是您想要使用的名称，请跳到下一步。
   + 要选择不同的工作组，请选择顶部的**工作组**。选择想要使用的工作组，然后选择**切换工作组**。

1. 选择右上角的**设置**。

   （不常见）如果出现未找到工作组的错误，请按照以下步骤进行修复：

   1.  暂时忽略错误消息，改为在 **“设置”** 页面*group-name*上找到 **Workgroup:**。工作组的名称是一个超链接。打开该链接。

   1. 在 **Workgroup: *<groupname>*** 页面上，选择左**边的编辑工作组**。现在请关闭错误消息。

   1. 在**查询结果位置**附近，通过选择带有文件夹图标的**选择**按钮打开 S3 位置选择器。

   1. 选择 Athena 的 S3 位置名称末尾的小箭头。名称必须以 `aws-athena-query-results` 开头。

   1. （可选）通过选中**加密存储在 S3 中的结果**复选框来加密查询结果。

   1. 选择**保存**以确认您的选择。

   1. 如果错误没有再次出现，请返回**设置**。

      有时，错误可能会再次出现。如果出现，请按以下步骤操作：

      1. 选择工作组，然后选择**查看详细信息**。

      1. （可选）要保留您的设置，请记下工作组配置或对其截屏。

      1. 选择 **Create workgroup (创建工作组)**。

      1. 将该工作组替换为新工作组。配置正确的 S3 位置和加密选项。记下 S3 位置以供稍后使用。

      1. 选择**保存**以继续。

      1. 如果不再需要原始工作组，请将其禁用。务必仔细阅读出现的警告，因为警告会告知您禁用原始工作组会丢失的内容。

1. 如果您在上一步中未通过问题排查获得此值，请选择右上角的**设置**，并获取显示为**查询结果位置**的 S3 位置值。

1. 如果启用了**加密查询结果**，请检查使用的是 SSE-KMS 还是 CSE-KMS。记下密钥。

1. 在打开 S3 控制台 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)，打开正确的存储桶，然后选择**权限**选项卡。

1. 通过查看**存储桶策略**来检查 IAM 用户是否具有访问权限。

   如果您使用管理访问权限 ACLs，请确保通过查看访问控制列表来设置**访问控制列表** (ACLs)。

1. 如果您的数据集已加**密（在工作组设置中选择 “加密查询结果**”），请确保将 IAM 用户或角色添加为该密钥策略中的 AWS KMS 密钥用户。您可以通过 [https://console.aws.amazon.com/km](https://console.aws.amazon.com/kms) s 访问 AWS KMS 设置。

**授予对 Athena 使用的 S3 存储桶的访问权限**

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

1. 在**查询结果位置**中选择 Athena 使用的 S3 存储桶。

1. 在 **Permissions** (权限) 选项卡中，验证权限。

有关更多信息，请参阅 Supp AWS ort 文章[当我运行 Athena 查询时，我收到 “访问被拒绝](https://aws.amazon.com/premiumsupport/knowledge-center/access-denied-athena/)” 错误。

# 无法连接到 Amazon S3
<a name="troubleshoot-connect-S3"></a>

要成功连接到 Amazon S3，请确保配置身份验证并在尝试访问的存储桶中创建有效的清单文件。您还需要确保清单所描述的文件可用。

要验证身份验证，请确保您已授权 Amazon Quick Sight 访问 S3 账户。只有您自己（即用户）拥有授权是不够的。Amazon Quick Sight 必须单独获得授权。

**授权 Amazon Quick Sight 访问您的 Amazon S3 存储桶**

1. 在右上角的 AWS 区域 列表中，选择美国东部（弗吉尼亚北部）区域。在编辑账户权限时，您可以 AWS 区域 暂时使用此功能。

1. 在 Amazon Quick Sight 中，选择您的个人资料名称（右上角）。选择 “**管理 Quick Sight**”，然后向下滚动到 “**自定义权限**” 部分。

1. 选择**AWS 资源**，然后选择**添加或删除**。

1. 在列表中找到 Amazon S3。选择以下操作之一打开可在其中选择 S3 存储桶的屏幕：
   + 如果清除了该复选框，请选择 Amazon S3 旁边的复选框。
   + 如果已选中该复选框，请选择**详细信息**，然后选取**选择 S3 存储桶**。

1. 选择您要从 Amazon Quick Sight 访问的存储桶。然后选择 **Select**。

1. 选择**更新**。

1. 如果您在此过程的第一步中更改了您的，请将其更改回要使用的。 AWS 区域 AWS 区域 

强烈建议您确保清单文件有效。如果 Amazon Quick Sight 无法解析你的文件，它会给你一条错误消息。可能是“We can't parse the manifest file as valid JSON”或“We can't connect to the S3 bucket”这样的错误消息。

**验证清单文件**

1. 打开您的清单文件。您可以直接从 Amazon S3 控制台执行此操作，网址为[https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)。转到您的清单文件，然后选择**打开**。

1. 确保清单文件中 URLs 提供的 URI 或表示要连接的一个或多个文件。

1. 如果使用指向清单文件的链接而不是上传清单文件，请确保清单文件格式正确。链接在 `.json` 后不应有任何其他短语。通过在 S3 控制台上的详细信息中查看 S3 文件的 **Link（链接）**值可以获取的正确链接。

1. 使用 JSON 验证程序（例如，[https://jsonlint.com](https://jsonlint.com) 中的验证程序）确保清单文件内容是有效的。

1. 验证您的存储桶或文件的权限。在中 [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/)，导航到您的 Amazon S3 存储桶，选择**权限**选项卡，然后添加相应的权限。确保权限在适当的级别：在存储桶级别或在文件级别。

1. 如果使用的是 `s3://` 协议，而不是 `https://`，请确保直接引用存储桶。例如，使用 *s3://awsexamplebucket/myfile.csv* 而不是 *s3://s3-us-west-2.amazonaws.com/awsexamplebucket/myfile.csv*。同时使用 `s3://` 和 `s3-us-west-2.amazonaws.com` 双重指定 Amazon S3 会导致错误。

   有关清单文件和连接到 Amazon S3 的更多信息，请参阅 [支持的 Amazon S3 清单文件格式](supported-manifest-file-format.md)。

此外，请确认按照 [使用 Amazon S3 文件创建数据集](create-a-data-set-s3.md) 中的步骤创建了 Amazon S3 数据集。

如果使用 Athena 连接到 Amazon S3，请参阅 [无法连接到 Amazon Athena](troubleshoot-connect-athena.md)。

# 无法根据现有的 Adobe Analytics 数据来源创建或刷新数据集
<a name="troubleshoot-connect-adobe-analytics"></a>

自 2022 年 5 月 1 日起，Quick Sight 不再支持 Adobe Analytics 中的旧版、1.3 版本 OAuth 以及 SOAP API 操作。如果您在尝试根据现有 Adobe Analytics 数据来源创建或刷新数据集时遭遇失败，可能是访问令牌已过期。

**排查根据现有 Adobe Analytics 数据来源创建或刷新数据集时出现的故障**

1. 打开 Quick Sight，然后选择左边**的数据**。

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

1. 在**创建数据集**页面上，从现有数据源列表中选择要更新的Adobe Analytics数据源。

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

1. 在打开的**编辑 Adobe Analytics 数据来源**页面上，选择**更新数据来源**以重新授权 Adobe Analytics 连接。

1. 再次尝试重新创建或刷新数据集。数据集的创建或刷新应该能成功。

# 需要验证与数据来源的连接或更改数据来源设置
<a name="troubleshoot-connect-validate"></a>

在某些情况下，您可能需要更新数据来源，也可能需要在出现连接错误时检查设置。如果需要这样做，请按以下步骤操作。

**验证与数据来源的连接**

1. 从 Quick Sight 主页中，选择左侧**的数据**。

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

1. 您将看到现有数据源的列表。

1. 选择想要测试或更改的数据来源。

1. 如果系统提供 **Edit/Preview data** 选择，请选择它。

1. 选择 **Validate connection**。

1. 执行所需的更改，然后选择**更新数据来源**。

# 无法连接到 MySQL（SSL 和授权问题）
<a name="troubleshoot-connect-mysql"></a>

要检查 MySQL 中的一些常见连接问题，请使用以下步骤。该过程将帮助您了解是否已启用 SSL 并授予使用权限。

**查找 MySQL 中一些常见连接问题的解决方案**

1. 检查 `/etc/my.cnf` 确保已为 MySQL 启用 SSL。

1. 在 MySQL 中，运行以下命令。

   ```
   show status like 'Ssl%';
   ```

   如果 SSL 正在运行，将看到类似于下面的结果。

   ```
   +--------------------------------+----------------------+
   | Variable_name                  | Value                |
   +--------------------------------+----------------------+
   | Ssl_accept_renegotiates        | 0                    |
   | Ssl_accepts                    | 1                    |
   | Ssl_callback_cache_hits        | 0                    |
   | Ssl_cipher                     |                      |
   | Ssl_cipher_list                |                      |
   | Ssl_client_connects            | 0                    |
   | Ssl_connect_renegotiates       | 0                    |
   | Ssl_ctx_verify_depth           | 18446744073709551615 |
   | Ssl_ctx_verify_mode            | 5                    |
   | Ssl_default_timeout            | 0                    |
   | Ssl_finished_accepts           | 0                    |
   | Ssl_finished_connects          | 0                    |
   | Ssl_session_cache_hits         | 0                    |
   | Ssl_session_cache_misses       | 0                    |
   | Ssl_session_cache_mode         | SERVER               |
   | Ssl_session_cache_overflows    | 0                    |
   | Ssl_session_cache_size         | 128                  |
   | Ssl_session_cache_timeouts     | 0                    |
   | Ssl_sessions_reused            | 0                    |
   | Ssl_used_session_cache_entries | 0                    |
   | Ssl_verify_depth               | 0                    |
   | Ssl_verify_mode                | 0                    |
   | Ssl_version                    |                      |
   +--------------------------------+----------------------+
   ```

   如果 SSL 已禁用，将看到类似于下面的结果。

   ```
   +--------------------------------+-------+
   | Variable_name                  | Value |
   +--------------------------------+-------+
   | Ssl_accept_renegotiates        | 0     |
   | Ssl_accepts                    | 0     |
   | Ssl_callback_cache_hits        | 0     |
   | Ssl_cipher                     |       |
   | Ssl_cipher_list                |       |
   | Ssl_client_connects            | 0     |
   | Ssl_connect_renegotiates       | 0     |
   | Ssl_ctx_verify_depth           | 0     |
   | Ssl_ctx_verify_mode            | 0     |
   | Ssl_default_timeout            | 0     |
   | Ssl_finished_accepts           | 0     |
   | Ssl_finished_connects          | 0     |
   | Ssl_session_cache_hits         | 0     |
   | Ssl_session_cache_misses       | 0     |
   | Ssl_session_cache_mode         | NONE  |
   | Ssl_session_cache_overflows    | 0     |
   | Ssl_session_cache_size         | 0     |
   | Ssl_session_cache_timeouts     | 0     |
   | Ssl_sessions_reused            | 0     |
   | Ssl_used_session_cache_entries | 0     |
   | Ssl_verify_depth               | 0     |
   | Ssl_verify_mode                | 0     |
   | Ssl_version                    |       |
   +--------------------------------+-------+
   ```

1. 确保已在数据库服务器上安装支持的 SSL 证书。

1. 授予特定用户使用 SSL 连接的权限。

   ```
   GRANT USAGE ON *.* TO 'encrypted_user'@'%' REQUIRE SSL;                        
   ```

**注意**  
适用于 MySQL 连接的 TLS 1.2 需要 MySQL 版本 5.7.28 或更高版本。如果您的 MySQL 服务器仅强制执行 TLS 1.2（例如`tls_version = TLSv1.2`），并且服务器版本低于 5.7.28，则 SSL 握手会失败并出现错误。`Communications link failure`要解决这个问题，请将你的 MySQL 或 Aurora MySQL 数据库升级到版本 5.7.28 或更高版本。

有关本例中的解决方案的更多详细信息，请参阅以下内容：
+ 《Amazon RDS 用户指南》**中的 [MySQL 数据库实例的 SSL 支持](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_MySQL.html#MySQL.Concepts.SSLSupport.html)。
+ 《Amazon RDS 用户指南》**中的[使用 SSL 加密与数据库实例的连接](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/UsingWithRDS.SSL.html)。
+ [MySQL 文档](https://dev.mysql.com/doc/refman/5.6/en/using-encrypted-connections.html)

# 无法连接到 RDS
<a name="troubleshoot-connect-RDS"></a>

有关排查 Amazon RDS 连接问题的更多详细信息，请参阅 [使用数据库创建数据集](create-a-database-data-set.md)。

您也可以参考有关排查连接问题的 Amazon RDS 文档：[无法连接到 Amazon RDS 数据库实例](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_Troubleshooting.html#CHAP_Troubleshooting.Connecting)。**

# Quick Sight 的登录问题
<a name="troubleshoot-login"></a>

使用以下部分来帮助您解决 Quick Sight 控制台的登录和访问问题。

**Topics**
+ [

# 将 Athena 与 Amazon Quick Sight 配合使用时权限不足
](troubleshoot-athena-insufficient-permissions.md)
+ [

# Amazon Quick Sight 无法在我的浏览器中运行
](troubleshoot-browser.md)
+ [

# 如何删除我的 Amazon Quick Sight 账户？
](troubleshoot-delete-quicksight-account.md)
+ [

# 我组织中的个人在尝试访问 Quick Sight 时会收到 “外部登录未授权” 消息
](troubleshoot-webidentity-federation.md)
+ [

# 我的电子邮件登录停止工作
](troubleshoot-email-login.md)

# 将 Athena 与 Amazon Quick Sight 配合使用时权限不足
<a name="troubleshoot-athena-insufficient-permissions"></a>

如果您收到错误消息提示权限不足，请尝试按照以下步骤来解决问题。

您需要管理员权限才能排查此问题。

**解决权限不足错误**

1. 确保 Amazon Quick Sight 可以访问 Athena 使用的亚马逊 S3 存储桶：

   1. 为此，请选择您的个人资料名称（右上角）。选择 “**管理 Quick Sight**”，然后向下滚动到 “**自定义权限**” 部分。

   1. 选择**AWS 资源**，然后选择**添加或删除**。

   1. 在列表中找到 Athena。清除 Athena 旁边的复选框，然后再次选中以启用 Athena。

      选择**连接两者**。

   1. 选择您要从 Amazon Quick Sight 访问的存储桶。

      您在此处访问的 S3 存储桶的设置与您通过从列表中选择 Amazon S3 访问的 AWS 服务设置相同。请注意，避免无意中禁用其他人使用的存储桶。

   1. 选择 **Select (选择)** 以保存 S3 存储桶。

   1. 选择 “**更新**” 以保存您的新设置以供 Amazon Quick Sight 访问 AWS 服务。您也可以选择**取消**，不进行任何更改就退出。

1. 如果您的数据文件使用 AWS KMS 密钥加密，请向 Amazon Quick Sight IAM 角色授予解密密钥的权限。执行该操作的最简单方法是使用 AWS CLI。

   你可以在中运行 [create-gran](https://docs.aws.amazon.com/cli/latest/reference/kms/create-grant.html) t 命令 AWS CLI 来执行此操作。

   ```
   aws kms create-grant --key-id <AWS KMS key ARN> --grantee-principal <Your Amazon Quick Sight Role ARN> --operations Decrypt
   ```

   Amazon Quick Sight 角色的亚马逊资源名称 (ARN) 的格式为`arn:aws:iam::<account id>:role/service-role/aws-quicksight-service-role-v<version number>`，可以从 IAM 控制台进行访问。要查找您的 AWS KMS 密钥 ARN，请使用 S3 控制台。转到包含数据文件的存储桶，然后选择**概述**选项卡。密钥位于 **KMS 密钥 ID** 旁边。

对于亚马逊 Athena、Amazon S3 和 Athena Query Federation 连接，Quick Sight 默认使用以下 IAM 角色：

```
arn:aws:iam::AWS-ACCOUNT-ID:role/service-role/aws-quicksight-s3-consumers-role-v0
```

如果不存在`aws-quicksight-s3-consumers-role-v0`，则 Quick Sight 会使用：

```
arn:aws:iam::AWS-ACCOUNT-ID:role/service-role/aws-quicksight-service-role-v0
```

# Amazon Quick Sight 无法在我的浏览器中运行
<a name="troubleshoot-browser"></a>

如果您无法在 Google Chrome 浏览器中正确查看 Amazon Quick Sight，请按照以下步骤修复问题。

**在 Chrome 浏览器中查看 Amazon Quick Sight**

1. 打开 Chrome 并转到 `chrome://flags/#touch-events`。

1. 如果此选项设置为**自动**，请将其更改为**禁用**。

1. 关闭并重新打开 Chrome。

# 如何删除我的 Amazon Quick Sight 账户？
<a name="troubleshoot-delete-quicksight-account"></a>

在某些情况下，即使您无法访问 Amazon Quick Sight 取消订阅，也可能需要删除您的 Amazon Quick Sight 账户。如果是这样，请登录 AWS 并使用以下链接打开[取消订阅屏幕](https://us-east-1.quicksight.aws.amazon.com/sn/console/unsubscribe)：`https://us-east-1.quicksight.aws.amazon.com/sn/console/unsubscribe`。无论你使用什么 AWS 区域 ，这种方法都能奏效。它会删除所有数据、分析、Amazon Quick Sight 用户和 Amazon Quick Sight 管理员。如果您有任何其他问题，请联系支持人员。

# 我组织中的个人在尝试访问 Quick Sight 时会收到 “外部登录未授权” 消息
<a name="troubleshoot-webidentity-federation"></a>


|  | 
| --- |
|    目标受众：Amazon Quick 管理员  | 

当组织中的某个人使用联合到 Quick Sight 时 **AssumeRoleWithWebIdentity**，Quick Sight 会将基于角色的单个用户映射到单个外部登录帐户。在某些情况下，该个人可能会通过与原始映射用户不同的外部登录（例如 Amazon Cognito）进行身份验证。如果是这样，他们将无法访问 Quick Sight 并收到以下意外错误消息。

Quick Sight 用户未经授权使用用于联合身份验证的外部登录。

要了解如何排查该问题，请参阅以下各节：
+ [为什么会出现这种情况？](#troubleshoot-webidentity-federation-why)
+ [如何修复此问题？](#troubleshoot-webidentity-federation-how)

## 为什么会出现这种情况？
<a name="troubleshoot-webidentity-federation-why"></a>

### 正在使用简化的 Amazon Cognito 流
<a name="troubleshoot-webidentity-federation-why-Cognito-SSO-1"></a>

如果您使用 Amazon Cognito 联合进入 Quick Sight，则单点登录（IAM 身份中心）设置可能会使用 `CognitoIdentityCredentials` API 操作来担任 Quick Sight 角色。此方法将 Amazon Cognito 身份池中的所有用户映射到单个 Quick Sight 用户，Quick Sight 不支持此方法。

建议您改用指定角色会话名称的 `AssumeRoleWithWebIdentity` API 操作。

### 正在使用未经身份验证的 Amazon Cognito 用户
<a name="troubleshoot-webidentity-federation-why-Cognito-SSO-2"></a>

Amazon Cognito IAM Identity Center 是为 Amazon Cognito 身份池中未经身份验证的用户设置的。Quick Sight 角色信任策略的设置如以下示例所示。

此设置允许临时的 Amazon Cognito 用户代入映射到唯一 Quick Sight 用户的角色会话。由于未经身份验证的身份是临时的，因此 Quick Sight 不支持这些身份。

我们建议您不要使用此设置，因为 Quick Sight 不支持该设置。对于 Quick Sight，请确保 Amazon Cognito IAM 身份中心使用经过身份验证的用户。

### 删除并重新创建了一个具有相同用户名属性的 Amazon Cognito 用户
<a name="troubleshoot-webidentity-federation-why-Cognito-user-delete"></a>

在本例中，映射到 Quick Sight 用户的关联 Amazon Cognito 用户已被删除并重新创建。新创建的 Amazon Cognito 用户具有不同的基础主题。根据角色会话名称与 Quick Sight 用户的映射方式，会话名称可能对应于相同的基于 Quick Sight 角色的用户。

我们建议您使用 `UpdateUser` API 操作将 Quick Sight 用户重新映射到更新后的 Amazon Cognito 用户主题。有关更多信息，请参阅以下 [UpdateUser API 示例](#troubleshoot-webidentity-federation-solutions-updateuser)。

### 你正在使用 Quick Sight AWS 账户 将不同的 Amazon Cognito 用户池映射到一个身份池中
<a name="troubleshoot-webidentity-federation-why-Cognito-multi-pools"></a>

Quick Sight 不支持将多个 Amazon Cognito 用户池映射 AWS 账户 到一个身份池和 Quick Sight 中。

## 如何修复此问题？
<a name="troubleshoot-webidentity-federation-how"></a>

您可以使用 Quick Sight 公共 API 操作来更新用户的外部登录信息。使用以下选项来了解如何操作。

### RegisterUser 用于创建具有外部登录信息的用户
<a name="troubleshoot-webidentity-federation-how-registeruser"></a>

如果外部登录提供程序是 Amazon Cognito，请使用以下 CLI 代码创建用户。

```
aws quicksight register-user --aws-account-id account-id --namespace namespace --email user-email --user-role user-role --identity-type IAM
--iam-arn arn:aws:iam::account-id:role/cognito-associated-iam-role 
--session-name cognito-username --external-login-federation-provider-type COGNITO 
--external-login-id cognito-identity-id --region identity-region
```

`external-login-id` 应该是 Amazon Cognito 用户的身份 ID。如下例所示，格式为 `<identity-region>:<cognito-user-sub>`。

```
aws quicksight register-user --aws-account-id 111222333 --namespace default --email cognito-user@amazon.com --user-role ADMIN --identity-type IAM
--iam-arn arn:aws:iam::111222333:role/CognitoQuickSightRole 
--session-name cognito-user --external-login-federation-provider-type COGNITO 
--external-login-id us-east-1:12345678-1234-1234-abc1-a1b1234567 --region us-east-1
```

如果外部登录提供程序是自定义 OpenID Connect（OIDC）提供程序，请使用以下 CLI 代码创建用户。

```
aws quicksight register-user --aws-account-id account-id --namespace namespace
--email user-email --user-role user-role --identity-type IAM
--iam-arn arn:aws:iam::account-id:role/identity-provider-associated-iam-role 
--session-name identity-username --external-login-federation-provider-type CUSTOM_OIDC 
--custom-federation-provider-url custom-identity-provider-url 
--external-login-id custom-provider-identity-id --region identity-region
```

示例如下：

```
aws quicksight register-user --aws-account-id 111222333 --namespace default 
--email identity-user@amazon.com --user-role ADMIN --identity-type IAM
--iam-arn arn:aws:iam::111222333:role/CustomIdentityQuickSightRole
--session-name identity-user --external-login-federation-provider-type CUSTOM_OIDC 
--custom-federation-provider-url idp.us-east-1.amazonaws.com/us-east-1_ABCDE 
--external-login-id 12345678-1234-1234-abc1-a1b1234567 --region us-east-1
```

要了解有关在 CLI `RegisterUser` 中使用的更多信息，请参阅 *Amazon Quick API 参考[RegisterUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_RegisterUser.html)*中的。

### DescribeUser 用于检查用户的外部登录信息
<a name="troubleshoot-webidentity-federation-how-describeuser"></a>

如果用户是来自外部登录提供程序的基于角色的联合用户，请使用 `DescribeUser` API 操作查看其外部登录信息，如以下代码所示。

```
aws quicksight describe-user --aws-account-id account-id  --namespace namespace
--user-name identity-provider-associated-iam-role/identity-username 
--region identity-region
```

示例如下：

```
aws quicksight describe-user --aws-account-id 111222333 --namespace default --user-name IdentityQuickSightRole/user --region us-west-2
```

结果包含外部登录信息字段（如果有）。以下为示例。

```
{
    "Status": 200,
    "User": {
        "Arn": "arn:aws:quicksight:us-east-1:111222333:user-default-IdentityQuickSightRole-user",
        "UserName": "IdentityQuickSightRole-user",
        "Email": "user@amazon.com",
        "Role": "ADMIN",
        "IdentityType": "IAM",
        "Active": true,
        "PrincipalId": "federated-iam-AROAAAAAAAAAAAAAA:user",
        "ExternalLoginFederationProviderType": "COGNITO",
        "ExternalLoginFederationProviderUrl": "cognito-identity.amazonaws.com",
        "ExternalLoginId": "us-east-1:123abc-1234-123a-b123-12345678a"
    },
    "RequestId": "12345678-1234-1234-abc1-a1b1234567"
}
```

要了解有关在 CLI `DescribeUser` 中使用的更多信息，请参阅 *Amazon Quick API 参考[DescribeUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_DescribeUser.html)*中的。

### UpdateUser 用于更新用户的外部登录信息
<a name="troubleshoot-webidentity-federation-solutions-updateuser"></a>

在某些情况下，您可能会发现 `DescribeUser` 结果中为用户保存的外部登录信息不正确或缺少外部登录信息。如果是这样，您可以使用 `UpdateUser` API 操作对其进行更新。使用以下示例。

对于 Amazon Cognito 用户，请使用以下示例。

```
aws quicksight update-user --aws-account-id account-id --namespace namespace 
--user-name cognito-associated-iam-role/cognito-username
 --email user-email --role user-role 
--external-login-federation-provider-type COGNITO 
--external-login-id cognito-identity-id --region identity-region
```

示例如下：

```
aws quicksight update-user --aws-account-id 111222333 --namespace default 
--user-name CognitoQuickSightRole/cognito-user --email cognito-user@amazon.com 
--role ADMIN --external-login-federation-provider-type COGNITO 
--external-login-id us-east-1:12345678-1234-1234-abc1-a1b1234567 --region us-west-2
```

对于自定义 OIDC 提供程序用户，请使用以下示例。

```
aws quicksight update-user --aws-account-id account-id --namespace namespace 
 --user-name identity-provider-associated-iam-role/identity-username 
--email user-email --role user-role 
--external-login-federation-provider-type CUSTOM_OIDC 
--custom-federation-provider-url custom-identity-provider-url 
--external-login-id custom-provider-identity-id --region identity-region
```

示例如下：

```
aws quicksight update-user --aws-account-id 111222333 --namespace default 
--user-name IdentityQuickSightRole/user --email user@amazon.com --role ADMIN 
--external-login-federation-provider-type CUSTOM_OIDC 
--custom-federation-provider-url idp.us-east-1.amazonaws.com/us-east-1_ABCDE 
 --external-login-id 123abc-1234-123a-b123-12345678a --region us-west-2
```

如果要删除用户的外部登录信息，请使用 `NONE` `external login federation provider type`。使用以下 CLI 命令删除外部登录信息。

```
aws quicksight update-user --aws-account-id account-id --namespace namespace 
 --user-name identity-provider-associated-iam-role/identity-username 
--email user-email --role user-role
--external-login-federation-provider-type NONE --region identity-region
```

示例如下：

```
aws quicksight update-user --aws-account-id 111222333 --namespace default 
--user-name CognitoQuickSightRole/cognito-user --email cognito-user@amazon.com --role ADMIN --external-login-federation-provider-type NONE --region us-west-2
```

要了解有关在 CLI `UpdateUser` 中使用的更多信息，请参阅 *Amazon Quick API 参考[UpdateUser](https://docs.aws.amazon.com/quicksight/latest/APIReference/API_UpdateUser.html)*中的。

# 我的电子邮件登录停止工作
<a name="troubleshoot-email-login"></a>

目前，电子邮件区分大小写。如果您的电子邮件不工作，请向您的管理员核实它是否为大小写字母混合。使用您所输入的电子邮件。

# Quick Sight 的视觉问题
<a name="visual-issues"></a>

参阅下节内容帮助您排查视觉对象及其格式设置问题。

**Topics**
+ [

# 无法看到我的视觉对象
](troubleshoot-adding-visuals.md)
+ [

# 打印文档上出现反馈栏
](troubleshoot-printing-docs.md)
+ [

# 地图不显示位置
](troubleshoot-geocoding.md)
+ [

# 数据透视表停止工作
](troubleshoot-pivot-tables.md)
+ [

# 我的视觉对象找不到缺失的列
](troubleshooting-dataset-changed-columns.md)
+ [

# 我的视觉对象无法找到查询表
](troubleshooting-dataset-changed-tables.md)
+ [

# 更改计算字段后视觉对象未更新
](troubleshooting-visual-refresh.md)
+ [

# 在 Quick Sight 中，带有科学记数法的 Microsoft Excel 文件中的值格式不正确
](troubleshooting-number-formatting.md)

# 无法看到我的视觉对象
<a name="troubleshoot-adding-visuals"></a>

参阅下节内容帮助您排查缺少视觉对象的问题。在继续之前，请检查以确保您仍然可以访问自己的数据来源。如果您无法连接到自己的数据来源，请参阅 [Amazon Quick Sight 的数据源连接问题](troubleshoot-connect-to-datasources.md)。
+ 如果您在向分析中添加视觉对象时遇到问题，请尝试以下方法：
  + 检查您的连接并确认您有权访问 Quick Sight 用于访问的所有域名。要查看所有 URLs Quick Sight 使用情况的列表，请参阅 Qu [ick Sight 访问的域名](https://docs.aws.amazon.com//quicksight/latest/developerguide/vpc-interface-endpoints.html#vpc-interface-endpoints-restrictvpc-interface-endpoints-supported-domains)。
  + 检查您尝试添加的对象是否超过限额允许的数量。Amazon Quick Sight 在一次分析中支持多达 30 个数据集，在单个工作表中支持多达 30 个视觉对象，每次分析最多支持 20 个工作表。
  + 假设您正在编辑选定数据来源的分析，但与该数据来源的连接意外终止。由此产生的错误状态可能会阻止对分析进行进一步更改。这种情况下，将无法在分析中添加更多视觉对象。检查此状态。
+ 如果您的视觉对象无法加载，请尝试以下操作：
  + 如果使用的是企业网络，请向网络管理员寻求帮助，并验证网络的防火墙设置是否允许来自 `*.aws.amazon.com`、`amazonaws.com`、`wss://*.aws.amazon.com`、和 `cloudfront.net` 的流量。
  + 为 `*.aws.amazon.com`、`amazonaws.com`、`wss://*.aws.amazon.com` 和 `cloudfront.net` 向您的广告拦截器添加例外。
  + 如果使用的是代理服务器，请确认 `*.quicksight.aws.amazon.com` 和 `cloudfront.net` 已添加到已批准的域列表（允许列表）中。

# 打印文档上出现反馈栏
<a name="troubleshoot-printing-docs"></a>

浏览器有时会打印页面上的文档反馈栏，遮挡一些打印内容。

为避免此问题，请使用屏幕左下方的旋转向下图标（如下所示）将反馈栏最小化。然后再打印文档。

![\[\]](http://docs.aws.amazon.com/zh_cn/quick/latest/userguide/images/printing-docs.png)


# 地图不显示位置
<a name="troubleshoot-geocoding"></a>

要使自动映射（称为地理编码）在地图上起作用，请确保您的数据必须做好了遵循特定规则的准备。如需帮助解决地理空间方面的问题，请参阅[地理空间故障排除](geospatial-troubleshooting.md)。如需准备数据以用于地理空间图表方面的帮助，请参阅[添加地理空间数据](geospatial-data-prep.md)。

# 数据透视表停止工作
<a name="troubleshoot-pivot-tables"></a>

如果数据透视表超出了基础数据库的计算限制，就会发生这种情况，这通常是由字段井中的项目组合引起的。也就是说，是由行、列、指标和表计算的组合引起的。要降低复杂性级别并降低出错的可能性，请简化数据透视表。有关更多信息，请参阅 [数据透视表最佳实践](pivot-table-best-practices.md)。

# 我的视觉对象找不到缺失的列
<a name="troubleshooting-dataset-changed-columns"></a>

我的分析中的视觉对象的效果不符合预期。错误消息提示 `"The column(s) used in this visual do not exist."`

导致此错误的最常见原因是您的数据来源架构已更改。例如，列名可能从 `a_column` 更改为 `b_column`。

根据数据集访问数据来源的方式，选择下列选项之一。
+ 如果数据集基于自定义 SQL，请执行以下一项或多项操作：
  + 编辑数据集。
  + 编辑 SQL 语句。

    例如，如果表名已从 `a_column` 更改为 `b_column`，您可以更新 SQL 语句以创建一个别名：`SELECT b_column as a_column`。通过使用别名在数据集中维护相同的字段名称，您可以避免将列作为新实体添加到视觉对象中。

  完成此操作后，选择**保存并可视化**。
+ 如果数据集不是基于自定义 SQL，请执行以下一项或多项操作：
  + 编辑数据集。
  + 对于现在具有不同名称的字段，请在数据集中重命名它们。您可以使用原始数据集中的字段名称。然后打开分析，将重命名的字段添加到受影响的视觉对象中。

  完成此操作后，选择**保存并可视化**。

# 我的视觉对象无法找到查询表
<a name="troubleshooting-dataset-changed-tables"></a>

在这种情况下，您分析中视觉对象的效果不符合预期。错误消息提示 `"Amazon Quick Sight can’t find the query table."`

导致此错误的最常见原因是您的数据来源架构已更改。例如，表名可能从 `x_table` 更改为 `y_table`。

根据数据集访问数据来源的方式，选择下列选项之一。
+ 如果数据集基于自定义 SQL，请执行以下一项或多项操作：
  + 编辑数据集。
  + 编辑 SQL 语句。

    例如，如果表名已从 `x_table` 更改为 `y_table`，您可以更新 SQL 语句中的 FROM 子句以改为引用新表。

  完成此操作后，选择**保存并可视化**，然后选择每个视觉对象并根据需要重新添加字段。
+ 如果数据集不是基于自定义 SQL，请执行以下操作：

  1. 使用新表（例如 `y_table`）创建新数据集。

  1. 打开您的分析。

  1. 使用新创建的数据集替换原始数据集。如果没有列更改，则在替换数据集后，所有视觉对象都应正常工作。有关更多信息，请参阅 [替换数据集](replacing-data-sets.md)。

# 更改计算字段后视觉对象未更新
<a name="troubleshooting-visual-refresh"></a>

更新许多其他字段所依赖的计算字段时，使用实体可能无法按预期进行更新。例如，当您更新可视化字段使用的计算字段时，视觉对象不会按预期进行更新。

要解决此问题，请刷新您的互联网浏览器。

# 在 Quick Sight 中，带有科学记数法的 Microsoft Excel 文件中的值格式不正确
<a name="troubleshooting-number-formatting"></a>

当你连接到 Microsoft Excel 文件时，该文件中的数字列包含带有科学计数法的值，它们在 Quick Sight 中可能无法正确格式化。例如，在 Quick Sight 中，值 1.59964E\$111（实际上是 159964032802）的格式为 1599640000。这可能会导致分析不正确。

要解决此问题，请按照 Microsoft Excel `Text` 中的格式设置该列的格式，然后将文件上传到 Quick Sight。