使用aws-sdk-java上传到S3存储桶时出现PermanentRedirect错误

3

我正在尝试从Java类将文件上传到AWS S3。

我正在使用给出的完全相同的代码这里

我更改的唯一部分是这些:

private static String bucketName     = "s3-us-west-2.amazonaws.com/<my-bubket-name>";
private static String keyName        = "*** Provide key ***";
private static String uploadFileName = "/home/...<localpath>.../test123";

我不确定在提供密钥中应该添加什么。但即使我保留它,我会收到这样的错误:

错误消息:存储桶位于此区域:null。请使用此区域重试请求(服务:Amazon S3;状态代码:301;错误代码:PermanentRedirect;请求ID:*******) HTTP状态代码:301 AWS错误代码:PermanentRedirect 错误类型:客户端

3个回答

4

你应该将 s3-us-west-2.amazonaws.com/<my-bucket-name> 替换为 <my-bucket-name>


1
您需要指定存储桶的名称。KeyName 是您指定的存储桶内部存储文件的位置。它应该像这样:
private static String bucketName = "xyz";// xyz is my bucket name at s3
private static String keyName = "upload/test/";// this is location where 
//file will be stored
private static String uploadFileName = "/home/...<localpath>.../test123";

1

请确保您使用了正确的区域。 将区域从us-west-2更改为us-east-1对我有用。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接