【问题标题】:Unable to verify/create output bucket无法验证/创建输出存储桶
【发布时间】:2021-04-16 21:48:58
【问题描述】:

我正在尝试向 Amazon Athena 查询 ETL 作业的最终结果。 AWS 中的一切工作正常,但现在我需要从我的 Rails 应用程序访问它,我遇到了问题。 我已经在 aws 论坛和此处阅读了与此主题相关的问题和答案。似乎都没有工作,因为它们都围绕着 IAM 许可。我的组织中有上帝的力量。

bucket中的region和sdk客户端匹配

我的权限是:

{
  "Effect": "Allow",
  "Action": "*",
  "Resource": "*"
}

桶是公开的;现在,在我测试的时候。但是无论我做什么,我都会继续收到此错误

Unable to verify/create output bucket bucket-name

这是我试图用来查询 Athena 的代码块:

client = Aws::Athena::Client.new # region/access key/secret key are set in the intializer.
client.start_query_execution({
                               query_string: "SELECT * FROM \"database\".\"table\" limit 10;",
                               result_configuration: {
                                 output_location: "s3://bucket-name/aws-athena-query-results/",
                                 encryption_configuration: {
                                   encryption_option: "SSE_S3"
                                 }
                               }
                             })

提前感谢您提供的任何帮助:D

【问题讨论】:

  • Amazon S3 存储桶是否与调用 Amazon Athena 的区域位于同一区域?他们可能需要在同一地区。
  • 我在那里兴奋了一分钟,bc 当我在 s3 页面上时,它显示 global。但是存储桶中的属性将其列为与我使用 Rails SDK 运行的命令相同的区域。我什至尝试使用该区域初始化一个新的 Athena 客户端实例,但仍然得到相同的错误:(

标签: ruby-on-rails amazon-web-services amazon-s3 aws-sdk amazon-athena


【解决方案1】:

在我的情况下,这是我们的 DevOps 负责人设置的强制 MFA 权限。暂时从该组中删除我的 IAM 用户允许 Athena 访问。他们现在将协助我创建/修改允许 Athena 访问的权限,即使我的帐户启用了 MFA

【讨论】:

  • 很高兴你知道了!如有必要,您可以使用 MFA 代码致电 GetSessionToken(),但避免使用 MFA 会更容易。
  • 是的,我们将设置具有适当范围权限等的不同凭据。这样,管理员可以保持管理员身份,但需要此功能的应用程序部分仅具有此功能。但感谢GetSessionToken() 的想法。将来可能会派上用场:D我只是开始在工作中潜入AWS:D
猜你喜欢
  • 2021-05-26
  • 2019-05-31
  • 1970-01-01
  • 2018-02-18
  • 2021-07-03
  • 2020-03-02
  • 2020-02-15
  • 2020-11-07
相关资源
最近更新 更多