【发布时间】: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