Azure VM 上の s3 バケットにアクセス中に AWS アクセス キーの問題が発生する

Azure VM 上の s3 バケットにアクセス中に AWS アクセス キーの問題が発生する

Azure HDInsight Cluster VM から AWS s3 バケットにアクセスしようとしています。新しいキーを生成し、.aws/credentials に追加しました。Azure VM では「aws s3 ls」は正常に動作しています。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にアクセスしようとしていました。

関連情報