AWS S3强调解决方法

时间:2014-08-02 02:27:26

标签: java amazon-web-services amazon-s3

情况:我在一个以下划线命名的S3存储桶中有一堆图像(例如my_images)

但是,在使用Amazon的SDK(v 1.8.7)

实例化Java客户端时
AWSCredentials awsCredentials = new BasicAWSCredentials(accessKey, secretKey);
amazonS3 = new AmazonS3Client(awsCredentials);
amazonS3.createBucket("my_images");

我收到IllegalArgumentException。根据亚马逊的文档documentation

  

存储桶名称不应包含下划线

这有什么变通方法吗?如果SDK无法访问,亚马逊允许我使用下划线命名存储桶,这非常令人讨厌。

编辑:我尝试迁移到名为myImages和

的存储桶
  

存储桶名称不能包含大写字符

2 个答案:

答案 0 :(得分:0)

看起来我必须使用aws cli工具将我的整个存储桶迁移到符合新名称的存储桶

aws s3 sync s3://mybucket s3://mybucket2

Amazon

正在解决这种命名一致性问题

答案 1 :(得分:0)

欧洲地区Bucket只允许使用小写字母。虽然在美国创建的Buckets可能包含小写和大写,但亚马逊建议在创建存储桶时使用所有小写字母

有关详细信息,请查看this page