- 产品文档
- > 存储与 CDN
- > 对象存储
- > AWS S3 兼容
- > AWS S3 SDK
- > S3 Java SDK手册
- > 安装
S3 Java SDK手册
安装
Java环境
JDK 6及以上版本
Maven项目中使用
在Maven工程中使用AWS S3 Java SDK只需在pom.xml中加入相应依赖即可
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-s3</artifactId>
<version>1.11.125</version>
</dependency>
<!--为了支持加密-->
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcprov-jdk15on</artifactId>
<version>1.55</version>
</dependency>
工程中直接引入jar
- 下载包含AWS Java SDK及其依赖的开发包: aws-java-sdk.zip;
- 解压该开发包;
- 将解压后文件夹下lib文件夹中aws-java-sdk-1.11.254.jar(版本可能不一样)的以及third-party/lib文件夹下的所有jar文件拷贝到您的项目中;
- 在Eclipse中选择您的工程,右击 -> Properties -> Java Build Path -> Add JARs
- 选中您在第三步拷贝的所有JAR文件
- 在Intellij Idea中,选取所有的JAR文件,右击 -> Add As Library
- 如果要使用客户端加密,需要加入 bcprov-jdk15on 包
前言
Java SDK提供的接口都在AmazonS3中实现,并以成员方法的方式对外提供调用。因此使用Java SDK前必须实例化一个AmazonS3对象。
关于请求参数
AmazonS3中的方法一般都提供两种参数传入方式:
- 普通传参方式:
example:
AmazonS3.createBucket(bucketName);
- request对象传参方式:
example:
CreateBucketRequest request = new CreateBucketRequest(bucketName);
request.setCannedAcl(CannedAccessControlList.Private);
AmazonS3.createBucket(request);
后面的使用指南只以其中的一种传参方式作为例子。
关于异常
所有错误异常包装在两个异常类型中,在调用Java SDK接口的时候,捕捉这些异常并打印必要的信息有利于定位问题(ps:在JAVA SDK使用指南的简单示例代码没有重复赘述,使用时注意添加)。
try{
s3Client.XXX("XXX");
//捕捉NOS服务器异常错误
}catch (AmazonServiceException e1){
System.out.println("Error Message: " + e1.getMessage()); //错误描述信息
System.out.println("HTTP Status Code: " + e1.getStatusCode()); //错误http状态码
System.out.println("NOS Error Code: " + e1.getErrorCode()); //服务器定义错误码
System.out.println("Error Type: " + e1.getErrorType()); //客户端的请求错误还是服务端的处理错误
System.out.println("Request ID: " + e1.getRequestId()); //请求ID,非常重要,有利于nos开发人员跟踪异常请求的错误原因
//捕捉客户端错误
}catch(SdkClientException e2){
System.out.println("Error Message: " + e2.getMessage()); //客户端错误信息
}