访问 Azure VM 上的 s3 存储桶时出现 AWS 访问密钥问题

访问 Azure VM 上的 s3 存储桶时出现 AWS 访问密钥问题

我正在尝试从 Azure HDInsight Cluster VM 访问 AWS s3 存储桶。我生成了新密钥并添加到 .aws/credentials。“aws s3 ls”在 Azure VM 中运行良好。如果我执行 hadoop distcp 或在 spark-shell 中读取 s3 文件,我会收到 403 错误“您提供的 AWS 访问密钥 ID 在我们的记录中不存在。”。我确实尝试导出 AWS_SESSION_TOKEN、AWS_ACCESS_KEY_ID 和 AWS_SECRET_ACCESS_KEY。但没有成功。请帮我解决这个问题。

答案1

我找到了解决此问题的方法。我在 core-site.xml 中添加了以下属性。

属性1:

名称:fs.s3a.aws.credentials.provider

值: org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider

属性2:

名称:fs.s3a.access.key

值:XXXXXXXXX

属性3:

名称:fs.s3a.secret.key

值:XXXXXXX

属性4:

名称:fs.s3a.session.token

值:XXXXX

最初,我尝试从 spark-shell 访问没有属性“fs.s3a.aws.credentials.provider”的 s3

相关内容