存取 Azure VM 上的 s3 儲存桶時出現 AWS 存取金鑰問題

存取 Azure VM 上的 s3 儲存桶時出現 AWS 存取金鑰問題

我正在嘗試從 Azure HDInsight 叢集虛擬機器存取 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

值:XXXXXX

屬性4:

名稱:fs.s3a.session.token

值:XXXXX

最初我試圖在沒有 Spark-shell 屬性「fs.s3a.aws.credentials.provider」的情況下存取 s3

相關內容