使用 Java 的 Hello World 示例
此示例尝试创建名为“hello-world”的存储桶,并且由于存储桶 hello-world 已由 S3 的全局命名空间中的其他人创建,因此会引发以下异常。通过创建唯一命名的存储桶,将“hello-world”更改为其他内容以避免异常。可以使用 AWS 控制台删除如此创建的新存储桶
线程
main
中的异常 com.amazonaws.services.s3.model.AmazonS3Exception:请求的存储桶名称不可用。存储桶命名空间由系统的所有用户共享。请选择其他名称,然后重试。 (服务:Amazon S3;状态代码:409;错误代码:BucketAlreadyExists;请求 ID:…
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.CreateBucketRequest;
import com.amazonaws.services.s3.model.Bucket;
/** S3 "hello world" example. */
public class S3Hello {
/** Name of hello-world bucket -- must be globally unique. The
* bucket namespace is shared by all users of the system.
*/
static final String BUCKET_NAME = "hello-world";
/** Creates bucket
* @param args Command line arguments
*/
public static void main(final String[] args) {
AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
CreateBucketRequest request
= new CreateBucketRequest(BUCKET_NAME);
Bucket bucket = s3.createBucket(request);
System.out.println("S3 Hello World completed.");
}
}
此示例需要以下依赖项:
- Java 安装与控制台工作。
- 已安装 AWS Java SDK。 https://aws.amazon.com/sdk-for-java/
- 凭据文件
credentials
在你的主目录下的 .aws 中设置。 https://aws.amazon.com/developers/getting-started/java/ - 凭证在 S3 中具有管理员或创建存储桶权限。 http://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html#using-with-s3-actions-related-to-buckets