小编Car*_*fan的帖子

AmazonS3Exception:授权标头格式错误;地区错误

在 Stackoverlfow 中找到了一些涵盖相同错误的主题,但场景与我的不符。有一个 AWS s3 java 客户端程序,可以在 Windows 上正常运行,将文件上传到 s3 存储桶。现在尝试在 Linux (Ubuntu) 服务器上运行相同的程序,并收到此错误

com.amazonaws.services.s3.model.AmazonS3Exception:授权标头格式错误;区域“us-east-1”是错误的;期待“eu-west-2”(服务:Amazon S3;状态代码:400;错误代码:AuthorizationHeaderMalformed;请求 ID:

我将 .aws\credentials 文件从 Windows 笔记本电脑上传到服务器上的 ~/.aws/ 目录。没有做任何改变。在与 AWS 上的 IAM 进行交叉检查后,我确认我拥有正确的凭证密钥。

这是设置区域 AmazonS3 s3Client 的代码(是的,它是硬编码的);私有静态最终字节[] BUFFER =新字节[4096 * 1024];

public FileUpload() {
    s3Client = AmazonS3ClientBuilder.standard().withRegion("us-east-1").build();
}
Run Code Online (Sandbox Code Playgroud)

我在 AWS 控制台中手动创建了存储桶,它位于 us-east-1 区域。

我需要 ~/.aws 下的配置文件吗?Windows 笔记本电脑上没有

java linux amazon-s3 amazon-web-services

1
推荐指数
1
解决办法
2万
查看次数

标签 统计

amazon-s3 ×1

amazon-web-services ×1

java ×1

linux ×1