本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如果您需要将亚马逊 QuickSight 与 Amazon Athena 联合查询一起使用, Amazon Athena 则首先需要授权与 Athena 的连接以及亚马逊简单存储服务 (Amazon S3) Simple Storage Service 中的关联存储桶。Amazon Athena 是一种交互式查询服务,方便使用标准 SQL 分析 Amazon S3 的数据。通过使用 Athena 联合查询,可以访问更多类型的数据。 AWS Lambda使用与 Athena 的 QuickSight 连接,您可以编写 SQL 查询来查询存储在关系、非关系、对象和自定义数据源中的数据。有关更多信息,请参阅《Amazon Athena 用户指南》中的使用 Athena 联合查询。
设置从 Athena 访问权限时,请查看以下注意事项: QuickSight
-
Athena 将 QuickSight 来自的查询结果存储在存储桶中。默认情况下,此存储桶的名称类似于
aws-athena-query-results-AWSREGION-AWSACCOUNTID
,例如aws-athena-query-results-us-east-2-111111111111
。因此,请务必确保 QuickSight 有权访问 Athena 当前使用的存储桶。 如果您的数据文件使用 AWS KMS 密钥加密,请 QuickSight 向 Amazon IAM 角色授予解密密钥的权限。执行该操作的最简单方法是使用 AWS CLI。
您可以在中运行 KMS 创建授权 API 操作 AWS CLI 来执行此操作。
aws kms create-grant --key-id <KMS_KEY_ARN> / --grantee-principal
<QS_ROLE_ARN>
--operations Decrypt亚马逊 QuickSight 角色的亚马逊资源名称 (ARN) 的格式为
arn:aws:iam::<account id>:role/service-role/aws-quicksight-s3-consumers-role-v<version number>
,可以从 IAM 控制台进行访问。要查找您的 KMS 密钥 ARN,请使用 S3 控制台。转到包含数据文件的存储桶,然后选择概述选项卡。密钥位于 KMS 密钥 ID 旁边。-
对于亚马逊 Athena、Amazon S3 和 Athena Query Federation 连接 QuickSight ,默认使用以下 IAM 角色:
arn:aws:iam::
AWS-ACCOUNT-ID
:role/service-role/aws-quicksight-s3-consumers-role-v0如果
aws-quicksight-s3-consumers-role-v0
不存在,则 QuickSight 使用:arn:aws:iam::
AWS-ACCOUNT-ID
:role/service-role/aws-quicksight-service-role-v0 -
如果您为用户分配了范围缩小策略,请验证这些策略是否包含
lambda:InvokeFunction
权限。如果没有此权限,您的用户将无法访问 Athena 联合查询。有关在中为您的用户分配 IAM 策略的更多信息 QuickSight,请参阅通过 IAM 设置对 AWS 服务的精细访问权限。有关 lambda: InvokeFunction 权限的更多信息,请参阅 IAM 用户指南 AWS Lambda中的操作、资源和条件键。
授权连接 QuickSight 到 Athena 或 Athena 联合数据源
-
(可选)如果您使用的是 Athena AWS Lake Formation ,则还需要启用 Lake Formation。有关更多信息,请参阅 通过以下方式授权连接 AWS Lake Formation。
-
打开右上角的个人资料菜单,然后选择管理 QuickSight。您必须是 QuickSight 管理员才能执行此操作。如果您在个人资料菜单 QuickSight上看不到管理,则说明您没有足够的权限。
-
选择安全和权限、添加或删除。
-
选择 Amazon Athena 附近的方框,单击下一步。
如果它已经启用,则可能需要双击它。即使 Amazon Athena 已启用,也要执行此操作,这样您就可以查看设置了。在此过程结束且选择更新之前,不会保存任何更改。
-
启用您要访问的 S3 存储桶。
-
(可选)要启用 Athena 联合查询,请选择要使用的 Lambda 函数。
注意
您只能在的同一区域中查看 Athena 目录的 Lambda 函数。 QuickSight
-
确认您所做的更改,选择完成。
要取消,请选择取消。
-
要保存对安全和权限的更改,选择更新。
测试连接授权设置
-
在起 QuickSight 始页面上,选择数据集,新建数据集。
-
选择 Athena 卡。
-
按照屏幕上的提示,使用您需要连接的资源创建新的 Athena 数据来源。选择验证连接以测试连接。
-
如果连接有效,则表示您已成功配置了 Athena 或 Athena 联合查询连接。
如果您没有足够的权限连接到 Athena 数据集或运行 Athena 查询,则会显示一条错误消息,指示您联系管理员。 QuickSight 此错误意味着需要重新检查您的连接授权设置以发现差异。
-
成功连接后,您或您的 QuickSight 作者可以创建数据源连接并与其他 QuickSight 作者共享。然后,作者可以从连接中创建多个数据集,以便在 QuickSight 仪表板中使用。
有关 Athena 问题排查的更多信息,请参阅 在亚马逊上使用亚马逊 Athena 时出现连接问题 QuickSight。