amazon-web-services - Presto 无法访问 AWS S3 数据
问题描述
我正在尝试将我的本地 Presto 连接到 AWS Glue 以获取元数据,并将 S3 连接到 S3 以获取数据。我能够连接到 Glue 并执行show tables;
和desc <table>;
. 但是,当我这样做时,它给了我这个错误select * from <table>;
Query <query id> failed: The AWS Access Key Id you provided does not exist in our records. (Service: Amazon S3; Status Code: 403; Error Code: InvalidAccessKeyId; Request ID: <id>; S3 Extended Request ID: <id>)
我的hive.properties
文件看起来像这样
connector.name=hive-hadoop2
hive.metastore=glue
hive.metastore.glue.region=<region>
hive.s3.use-instance-credentials=false
hive.s3.aws-access-key=<access key>
hive.s3.aws-secret-key=<secret key>
解决方案
该错误表示凭据未被识别为有效。由于您可以连接到 Glue,因此您的环境或 ~/.aws 似乎有一些有效的凭据。您也应该能够将这些凭据用于 S3 访问。
为此,请确保您使用的是 Presto 332 或更高版本,并从您的设置中删除hive.s3.use-instance-credentials
, 。hive.s3.aws-access-key
hive.s3.aws-secret-key
推荐阅读
- python - 为什么我在 Python 中收到“AttributeError:'str' object has no attribute 'append'”?
- php - 如何使用 php 设计用于将一个 repo 的代码部署到多个服务器的 bit-bucket 管道?
- c++ - 如何将可变参数从一个模板传递到另一个模板
- sendgrid - 限制来自 SendGrid 的每批中的电子邮件数量
- php - Woocommerce - 如何通过列表的方式显示单个产品的特定属性
- regex - 积极的可选前瞻
- javascript - c3 样条图 - 多个 y 轴上的多个数据
- octave - 在 Octave 中创建 Halton 序列
- javascript - 使用jQuery在无限循环中单击按钮时更改按钮的内容
- c# - Xamarin HttpClient.PutAsync 没有参数问题