public class ObsClient extends Object implements Closeable
限定符和类型 | 字段和说明 |
---|---|
protected ObsConfiguration |
config |
protected com.obs.services.internal.RestS3Service |
tasService |
构造器和说明 |
---|
ObsClient(String accessKey,
String secretKey,
ObsConfiguration config)
构造函数
|
ObsClient(String accessKey,
String secretKey,
String endPoint)
构造函数
|
ObsClient(String accessKey,
String secretKey,
String securityToken,
ObsConfiguration config)
构造函数
|
ObsClient(String accessKey,
String secretKey,
String securityToken,
String endPoint)
构造函数
|
protected ObsConfiguration config
protected volatile com.obs.services.internal.RestS3Service tasService
public ObsClient(String accessKey, String secretKey, String endPoint)
accessKey
- 访问密钥中的AKsecretKey
- 访问密钥中的SKendPoint
- OBS的服务地址public ObsClient(String accessKey, String secretKey, ObsConfiguration config)
accessKey
- 访问密钥中的AKsecretKey
- 访问密钥中的SKconfig
- OBS客户端配置参数public ObsClient(String accessKey, String secretKey, String securityToken, ObsConfiguration config)
accessKey
- 临时访问密钥中的AKsecretKey
- 临时访问密钥中的SKsecurityToken
- 安全令牌config
- OBS客户端配置参数public void refresh(String accessKey, String secretKey, String securityToken)
accessKey
- 临时访问密钥中的AKsecretKey
- 临时访问密钥中的SKsecurityToken
- 安全令牌public int enableTas(TasConfiguration tasConfiguration) throws TasException
tasConfiguration
- Tas配置信息TasException
- SDK自定义异常(表示TAS服务不能正常处理业务时返回的信息,包括对应请求的描述信息及不能正常处理的原因和错误码)
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 封装开启TAS服务的请求
TasConfiguration tasConfig = new
TasConfiguration();
tasConfig.setAk(ak);//Access Key
tasConfig.setSk(sk);//Secret Access Key
tasConfig.setUlMaxSsn(10);//设置最大Session数
tasConfig.setUlMaxConn(100);//设置最大连接数
tasConfig.setiAppType(TasAppType.TASAppTypeObsCustomProxy);//设置应用代理类型
tasConfig.setiTransferMode(TasTransferModeType.TAS_TRANSFER_TYPE_NONE);//设置应用传输协议
tasConfig.setPstProxyListenAddr(new
URL("http://127.0.0.1:3333"));
tasConfig.setPstConnectAddr(new
URL("http://10.135.45.212:3333"));
tasConfig.setPstBackProxyAddr(new
URL("http://10.67.172.247:7110"));
tasConfig.setPstTargerServerAddr(new
URL("http://172.22.4.101:443"));
// 调用enable接口,开启TAS服务
obsClient.enableTas(tasConfig);
}
catch (ObsException e)
{
System.out.println("Enable TAS failed. Error
Message: " + e.getErrorMessage()
+ ". Response Code: " +
e.getResponseCode());
}
catch (TasException e)
{
System.out.println("Enable TAS failed. Error
info: " + e.toString());
}
catch (Exception e)
{
System.out. println("Enable TAS failed. Error
message: " + e.getMessage());
}
public void destroySession(int ssnId) throws TasException
ssnId
- TAS服务Session IDTasException
- SDK自定义异常(表示TAS服务不能正常处理业务时返回的信息。包括对应请求的描述信息及不能正常处理的原因和错误码)
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 调用destroySession接口,销毁Session
obsClient.destroySession(123456789);
}
catch (ObsException e)
{
System.out.println("DestroySession TAS
failed. Error Message: " + e.getErrorMessage()
+ ". Response Code: " +
e.getResponseCode());
}
catch (TasException e)
{
System.out. println("DestroySession TAS
failed. Error info: " + e.toString());
}
public void disableTas() throws TasException
TasException
- SDK自定义异常(表示TAS服务不能正常处理业务时返回的信息。包括对应请求的描述信息及不能正常处理的原因和错误码)
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 调用disableTas接口,关闭TAS服务
obsClient.disableTas();
}
catch (ObsException e)
{
System.out.println("Disable TAS failed.
Error Message: " + e.getErrorMessage()
+ ". Response Code: " +
e.getResponseCode());
}
catch (TasException e)
{
System.out. println("Disable TAS failed.
Error info: " + e.toString());
}
public String createSignedUrl(HttpMethodEnum method, String bucketName, String objectKey, SpecialParamEnum specialParam, Date expiryTime, Map<String,String> headers, Map<String,Object> queryParams) throws ObsException
method
- Http请求方法bucketName
- 桶名objectKey
- 对象名specialParam
- 特殊操作符expiryTime
- 临时授权的有效截止日期headers
- 头信息queryParams
- 查询参数信息ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key"; //设置临时授权的有效时间
final long offsetTime = 600000L;
Date expiryTime = new Date(System.currentTimeMillis() +
offsetTime);
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的createSignedUrl接口
String signedUrl =
obsClient.createSignedUrl(HttpMethodEnum.GET, bucketName, objectKey,
null, expiryTime, null, null);
System.out.println("createSignedUrl
success.");
System.out.println("preSignedUrl is :
"+signedUrl);
}
catch (ObsException e)
{
System.out.println("createSignedUrl failed.
" + e.getErrorMessage() + "response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public String createSignedUrl(HttpMethodEnum method, String bucketName, String objectKey, SpecialParamEnum specialParam, long expires, Map<String,String> headers, Map<String,Object> queryParams)
method
- Http请求方法bucketName
- 桶名objectKey
- 对象名specialParam
- 特殊操作符expires
- 临时授权的有效时间,单位:秒,默认值:300headers
- 头信息queryParams
- 查询参数信息ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的createSignedUrl接口
String signedUrl =
obsClient.createSignedUrl(HttpMethodEnum.GET, bucketName, objectKey,
null, 3600, null, null);
System.out.println("createSignedUrl
success.");
System.out.println("preSignedUrl is :
"+signedUrl);
}
catch (ObsException e)
{
System.out.println("createSignedUrl failed.
" + e.getErrorMessage() + "response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public TemporarySignatureResponse createTemporarySignature(TemporarySignatureRequest request)
request
- 临时授权访问的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的createTemporarySignature接口
TemporarySignatureRequest request = new
TemporarySignatureRequest();
request.setMethod(HttpMethodEnum.GET);
TemporarySignatureResponse res =
obsClient.createTemporarySignature(request);
System.out.println("createTemporarySignature success.");
System.out.println("signedUrl is : "+
res.getSignedUrl());
}
catch (ObsException e)
{
System.out.println("createTemporarySignature failed.
" + e.getErrorMessage() + "response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public V4TemporarySignatureResponse createV4TemporarySignature(V4TemporarySignatureRequest request) throws ObsException
request
- V4临时授权访问的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的createV4TemporarySignature接口
V4TemporarySignatureRequest request = new
V4TemporarySignatureRequest();
request.setMethod(HttpMethodEnum.GET);
V4TemporarySignatureResponse res =
obsClient.createV4TemporarySignature(request);
System.out.println("createV4TemporarySignature success.");
System.out.println("signedUrl is : "+
res.getSignedUrl());
}
catch (ObsException e)
{
System.out.println("createV4TemporarySignature failed. " +
e.getErrorMessage() + "response code :" + e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public V4PostSignatureResponse createV4PostSignature(String acl, String contentType, long expires, String bucketName, String objectKey) throws ObsException
acl
- 对象的访问权限contentType
- 对象的MIME类型expires
- 有效时间,单位:秒bucketName
- 桶名objectKey
- 对象名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的createV4PostSignature接口
V4PostSignatureResponse res =
obsClient.createV4PostSignature("public-read", "text/plain", 300,
bucketName, objectKey);
System.out.println(res.getAlgorithm());
System.out.println(res.getCredential());
System.out.println(res.getDate());
System.out.println(res.getOriginPolicy());
System.out.println(res.getPolicy());
}
catch (ObsException e)
{
System.out.println("createV4PostSignature
failed. " + e.getErrorMessage() + "response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public V4PostSignatureResponse createV4PostSignature(long expires, String bucketName, String objectKey) throws ObsException
expires
- 有效时间,单位:秒bucketName
- 桶名objectKey
- 对象名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的createV4PostSignature接口
V4PostSignatureResponse res =
obsClient.createV4PostSignature(300, bucketName, objectKey);
System.out.println(res.getAlgorithm());
System.out.println(res.getCredential());
System.out.println(res.getDate());
System.out.println(res.getOriginPolicy());
System.out.println(res.getPolicy());
}
catch (ObsException e)
{
System.out.println("createV4PostSignature
failed. " + e.getErrorMessage() + "response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public V4PostSignatureResponse createV4PostSignature(V4PostSignatureRequest request) throws ObsException
request
- 基于V4的浏览器表单授权访问请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的createV4PostSignature接口
V4PostSignatureRequest request = new
V4PostSignatureRequest();
request.setBucketName(bucketName);
request.setObjectKey(objectKey);
request.getFormParams().put("acl",
"public-read");
request.getFormParams().put("content-type",
"text/plain");
V4PostSignatureResponse res =
obsClient.createV4PostSignature(request);
System.out.println(res.getAlgorithm());
System.out.println(res.getCredential());
System.out.println(res.getDate());
System.out.println(res.getOriginPolicy());
System.out.println(res.getPolicy());
}
catch (ObsException e)
{
System.out.println("createV4PostSignature
failed. " + e.getErrorMessage() + "response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public ObsBucket createBucket(String bucketName) throws ObsException
桶命名规范:
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的createBucket接口
ObsBucket bucketResult =
obsClient.createBucket(bucketName);
System.out.println("Create bucket success.
BucketName: " + bucketResult.getBucketName()
+ "; CreationDate" +
bucketResult.getCreationDate()
+ "; Location: " +
bucketResult.getLocation());
}
catch (ObsException e)
{
System.out.println("Create bucket failed.
Error Message: " + e.getErrorMessage()
+ ". Response Code: " +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public ObsBucket createBucket(String bucketName, String location) throws ObsException
桶命名规范:
bucketName
- 桶名location
- 创建桶的区域,如果使用的终端节点归属于默认区域,可以不携带此参数;如果使用的终端节点归属于其他区域,则必须携带此参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的createBucket接口
ObsBucket bucketResult =
obsClient.createBucket(bucketName, null);
System.out.println("Create bucket success.
BucketName: " + bucketResult.getBucketName()
+ "; CreationDate" +
bucketResult.getCreationDate()
+ "; Location: " +
bucketResult.getLocation());
}
catch (ObsException e)
{
System.out.println("Create bucket failed.
Error Message: " + e.getErrorMessage()
+ ". Response Code: " +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
@Deprecated public ObsBucket createBucket(S3Bucket bucket) throws ObsException
桶命名规范:
bucket
- 桶信息,包含请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 创建桶实例
S3Bucket s3Bucket = new S3Bucket();
Map<String,Object> metadata = new
HashMap<String,Object>();
metadata.put("x-amz-acl", "public-read");
// 设置桶的存储类型
STANDARD(标准存储)、STANDARD_IA(低频访问存储)、GLACIER(归档存储)
metadata.put("x-default-storage-class",
"STANDARD");
s3Bucket.setBucketName(bucketName);
s3Bucket.setMetadata(metadata);
// 调用create接口创建桶,并获得创建的桶对象
ObsBucket rObsBucket =
obsClient.createBucket(s3Bucket);
System.out.println("Bucket name: " +
rObsBucket.getBucketName()
+ ", location: " +
rObsBucket.getLocation());
public ObsBucket createBucket(ObsBucket bucket) throws ObsException
桶命名规范:
bucket
- 桶信息,包含请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 创建桶实例
ObsBucket obsBucket = new ObsBucket();
Map<String,Object> metadata = new
HashMap<String,Object>();
metadata.put("x-amz-acl", "public-read");
// 设置桶的存储类型
STANDARD(标准存储)、STANDARD_IA(低频访问存储)、GLACIER(归档存储)
metadata.put("x-default-storage-class",
"STANDARD");
obsBucket.setBucketName(bucketName);
obsBucket.setMetadata(metadata);
// 调用create接口创建桶,并获得创建的桶对象
ObsBucket rObsBucket =
obsClient.createBucket(obsBucket);
System.out.println("Bucket name: " +
rObsBucket.getBucketName()
+ ", location: " +
rObsBucket.getLocation());
@Deprecated public List<S3Bucket> listBuckets() throws ObsException
ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的listBuckets接口
List<S3Bucket> bucketList =
obsClient.listBuckets();
Iterator<S3Bucket> iterator =
bucketList.iterator();
System.out.println("List bucket success:
");
while (iterator.hasNext())
{
S3Bucket bucket =
iterator.next();
System.out.println("
*bucketName: " + bucket.getBucketName());
System.out.println("
createDate: " + bucket.getCreationDate());
Owner owner =
bucket.getOwner();
if (null !=
owner)
{
System.out.println(" owner id: " + owner.getId());
System.out.println(" owner displayname: " +
owner.getDisplayName());
}
else
{
System.out.println(" owner is null");
}
}
}
catch (ObsException e)
{
System.out.println(" List bucket failed." +
e.getErrorMessage() + ", response code : " +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public List<ObsBucket> listBuckets(ListBucketsRequest request) throws ObsException
request
- 获取桶列表请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
ListBucketsRequest request = new ListBucketsRequest();
request.setQueryLocation(true);
//调用ObsClient的listBuckets接口
List<ObsBucket> bucketList =
obsClient.listBuckets(request);
Iterator<ObsBucket> iterator =
bucketList.iterator();
System.out.println("List bucket success:
");
while (iterator.hasNext())
{
ObsBucket bucket =
iterator.next();
System.out.println("
*bucketName: " + bucket.getBucketName());
System.out.println("
createDate: " + bucket.getCreationDate());
Owner owner =
bucket.getOwner();
if (null !=
owner)
{
System.out.println(" owner id: " + owner.getId());
System.out.println(" owner displayname: " +
owner.getDisplayName());
}
else
{
System.out.println(" owner is null");
}
}
}
catch (ObsException e)
{
System.out.println(" List bucket failed." +
e.getErrorMessage() + ", response code : " +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse deleteBucket(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的deleteBucket接口
obsClient.deleteBucket(bucketName);
System.out.println("Delete bucket
success.");
}
catch (ObsException e)
{
System.out.println("Delete bucket failed. "
+ e.getErrorMessage() + " response code :"
+
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public ObjectListing listObjects(ListObjectsRequest listObjectsRequest) throws ObsException
listObjectsRequest
- 请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 设置查询条件
ListObjectsRequest listObjectsRequest = new
ListObjectsRequest();
listObjectsRequest.setBucketName(bucketName);
listObjectsRequest.setPrefix("test");
listObjectsRequest.setMaxKeys(3);
// 调用listObjects接口查询bucket005桶下的所有对象
ObjectListing objListing =
obsClient.listObjects(listObjectsRequest);
// 输出桶内对象的信息
List<ObsObject> objList =
objListing.getObjects();
for (ObsObject obsObject : objList)
{
System.out.println("ObjectKey:
" + obsObject.getObjectKey()
+
", content type: " + obsObject.getMetadata().getContentType()
+
", content length: " +
obsObject.getMetadata().getContentLength());
}
public ObjectListing listObjects(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的listObjects接口
ObjectListing result =
obsClient.listObjects(bucketName);
Iterator<ObsObject> itr =
result.getObjects().iterator();
System.out.println("List objects success.
Objects: ");
while (itr.hasNext())
{
ObsObject obsObject =
(ObsObject)itr.next();
System.out.println("object: " + obsObject.getObjectKey());
}
}
catch (ObsException e)
{
System.out.println("List objects failed. " +
e.getErrorMessage() + " response code :" + e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public boolean headBucket(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 调用isBucketExist接口判断桶是否存在
boolean isBucketExist =
obsClient.headBucket(bucketName);
if(isBucketExist)
{
System.out.
println("This bucket exists.");
}
else
{
System.out.
println("This bucket doesn't exist.");
}
}
catch (ObsException e)
{
System.out.println("Error message: " +
e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public ListVersionsResult listVersions(String bucketName, String prefix, String delimiter, String keyMarker, String versionIdMarker, long maxKeys, String nextVersionIdMarker) throws ObsException
bucketName
- 桶名prefix
- 对象名前缀delimiter
- 分组字符keyMarker
- 列举时按对象名排序的起始位置versionIdMarker
- 与keyMarker配合使用,返回的对象列表将是按照字典顺序排序后在该标识符以后的所有对象。maxKeys
- 指定返回的最大对象数,范围是[1,1000],超出范围时,按照默认的1000进行处理。nextVersionIdMarker
- 废弃字段,不建议填写。ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
public ListVersionsResult listVersions(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
public ListVersionsResult listVersions(String bucketName, long maxKeys) throws ObsException
bucketName
- 桶名maxKeys
- 指定返回的最大对象数,范围是[1,1000],超出范围时,按照默认的1000进行处理。ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
public ListVersionsResult listVersions(String bucketName, String prefix, String delimiter, String keyMarker, String versionIdMarker, long maxKeys) throws ObsException
bucketName
- 桶名prefix
- 对象名前缀delimiter
- 分组字符keyMarker
- 列举时按对象名排序的起始位置versionIdMarker
- 与keyMarker配合使用,返回的对象列表将是按照字典顺序排序后在该标识符以后的所有对象。maxKeys
- 指定返回的最大对象数,范围是[1,1000],超出范围时,按照默认的1000进行处理。ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
public String getBucketMetadata(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 调用getBucketMetadata接口查询桶的元数据信息
String defaultStorageClass =
obsClient.getBucketMetadata(bucketName);
System.out.println("DefaultStorageClass:" +
defaultStorageClass);
}
catch (ObsException e)
{
System.out.println("Error message: " +
e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public BucketMetadataInfoResult getBucketMetadata(BucketMetadataInfoRequest bucketMetadataInfoRequest) throws ObsException
bucketMetadataInfoRequest
- 请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
BucketMetadataInfoRequest request = new
BucketMetadataInfoRequest();
request.setBucketName(bucketName);
request.setOrigin("www.example.com");
request.getRequestHeaders().add("header1");
// 调用getBucketMetadata接口查询桶的元数据信息
BucketMetadataInfoResult result =
obsClient.getBucketMetadata(request);
System.out.println("DefaultStorageClass:" +
result.getDefaultStorageClass());
System.out.println("AllowOrigin:" +
result.getAllowOrigin());
System.out.println("MaxAge:" +
result.getMaxAge());
System.out.println("AllowHeaders:" +
result.getAllowHeaders());
System.out.println("AllowMethods:" +
result.getAllowMethods());
System.out.println("ExposeHeaders:" +
result.getExposeHeaders());
}
catch (ObsException e)
{
System.out.println("Error message: " +
e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public AccessControlList getBucketAcl(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketAcl接口
AccessControlList acl =
obsClient.getBucketAcl(bucketName);
System.out.println("Get bucket acl success.
ACL: ");
Owner owner = acl.getOwner();
if (null != owner)
{
System.out.println("
owner id:" + owner.getId());
System.out.println("
owner displayname:" + owner.getDisplayName());
}
else
{
System.out.println("
owner is null");
}
GrantAndPermission[] grantAndPermissions =
acl.getGrantAndPermissions();
if (null != grantAndPermissions)
{
for (int i = 0; i
< grantAndPermissions.length; i++)
{
System.out.println(" permissions :" +
grantAndPermissions[i].getPermission());
}
}
}
catch (ObsException e)
{
System.out.println("Get bucket acl failed. "
+ e.getErrorMessage() + " response code :"
+
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
@Deprecated public HeaderResponse setBucketAcl(String bucketName, String cannedACL, AccessControlList acl) throws ObsException
bucketName
- 桶名cannedACL
- 预定义访问策略字符串表示,有效值:acl
- 访问权限 ( acl和cannedACL不能同时使用)ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
public HeaderResponse setBucketAcl(String bucketName, AccessControlList acl) throws ObsException
bucketName
- 桶名acl
- 访问权限ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
// 封装修改访问权限的请求
AccessControlList acl = new
AccessControlList();
Owner own = new Owner();// 设置桶的所有者的信息
own.setId("owner domain id");
own.setDisplayName("user001");
acl.setOwner(own);
// 设置被授权用户的信息以及被赋予的权限
CanonicalGrantee canonicalGrant =
new
CanonicalGrantee("grantee domain id");
canonicalGrant.setDisplayName("user002");
acl.grantPermission(canonicalGrant,
Permission.PERMISSION_READ);
// 设置被授权用户组的信息以及被赋予的权限
GroupGrantee groupGrant =
new GroupGrantee(
"http://acs.amazonaws.com/groups/global/AuthenticatedUsers");
acl.grantPermission(groupGrant,
Permission.PERMISSION_READ);
// 调用setBucketAcl设置桶的访问权限
obsClient.setBucketAcl(bucketName,
acl);
System.out.println("set bucket acl
success.");
}
catch (ObsException e)
{
System.out.println("Error message: " +
e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public String getBucketLocation(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketLocation接口
String location =
obsClient.getBucketLocation(bucketName);
System.out.println( "Get bucket location
success. Bucket location: " + location);
}
catch (ObsException e)
{
System.out.println("Get bucket location
failed. " + e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public BucketLocationResponse getBucketLocationV2(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketLocation接口
BucketLocationResponse response =
obsClient.getBucketLocationV2(bucketName);
System.out.println( "Get bucket location
success. Bucket location: " + response.getLocation());
}
catch (ObsException e)
{
System.out.println("Get bucket location
failed. " + e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public BucketStorageInfo getBucketStorageInfo(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketStorageInfo接口
BucketStorageInfo storageInfo =
obsClient.getBucketStorageInfo(bucketName);
System.out.println( "Get bucket storageinfo
success. objectNumber: " + storageInfo.getObjectNumber() + "; Size: "
+ storageInfo.getSize());
}
catch (ObsException e)
{
System.out.println("Get bucket storageinfo
failed. " + e.getErrorMessage() + " response code : " +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public BucketQuota getBucketQuota(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketQuota接口
BucketQuota quota =
obsClient.getBucketQuota(bucketName);
System.out.println("Get bucket quota
success. Bucket quota: " + quota.getBucketQuota());
}
catch (ObsException e)
{
System.out.println("Get bucket quota failed.
" + e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketQuota(String bucketName, BucketQuota bucketQuota) throws ObsException
bucketName
- 桶名bucketQuota
- 桶配额ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
final long quota = 512L;
BucketQuota bucketQuota = new BucketQuota();
bucketQuota.setBucketQuota(quota);
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的setBucketQuota接口
obsClient.setBucketQuota(bucketName,
bucketQuota);
System.out.println("set bucket quota
success.");
}
catch (ObsException e)
{
System.out.println("set bucket quota failed.
" + e.getErrorMessage() + " response code :"
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public BucketStoragePolicyConfiguration getBucketStoragePolicy(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketStoragePolicy接口
BucketStoragePolicyConfiguration storagePolicyConfig = obsClient.getBucketStoragePolicy(bucketName);
System.out.println("get bucket storagePolicy success. storageClass:" + storagePolicyConfig.getStorageClass());
}
catch (ObsException e)
{
System.out.println("get bucket storagePolicy failed.
" + e.getErrorMessage() + " response code :"
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketStoragePolicy(String bucketName, BucketStoragePolicyConfiguration bucketStorage) throws ObsException
bucketName
- 桶名bucketStorage
- 桶的存储策略ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
BucketStoragePolicyConfiguration storagePolicyConfiguration = new BucketStoragePolicyConfiguration();
storagePolicyConfiguration.setBucketStorageClass(StorageClassEnum.WARM);
//调用ObsClient的setBucketStoragePolicy接口
obsClient.setBucketStoragePolicy(bucketName,storagePolicyConfiguration);
System.out.println("set bucket storagePolicy
success.");
}
catch (ObsException e)
{
System.out.println("set bucket storagePolicy failed.
" + e.getErrorMessage() + " response code :"
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
@Deprecated public HeaderResponse setBucketCors(String bucketName, S3BucketCors s3BucketCors) throws ObsException
bucketName
- 桶名s3BucketCors
- CORS配置ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
S3BucketCors s3BucketCors = new S3BucketCors();
try
{ //实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 定义CORS规则
List<BucketCorsRule> rules = new
ArrayList<BucketCorsRule>();
List<String> allowedHeader = new
ArrayList<String>();
allowedHeader.add("allowedHeader");
List<String> allowedMethod = new
ArrayList<String>();
allowedMethod.add("GET");
List<String> allowedOrigin = new
ArrayList<String>();
allowedOrigin.add("allowedOrigin");
List<String> exposeHeader = new
ArrayList<String>();
exposeHeader.add("exposeHeader");
BucketCorsRule rule = new
BucketCorsRule();
rule.setAllowedHeader(allowedHeader);
rule.setAllowedMethod(allowedMethod);
rule.setAllowedOrigin(allowedOrigin);
rule.setId("001");
rule.setExposeHeader(exposeHeader);
rules.add(rule);
s3BucketCors.setRules(rules);
// 调用setBucketCors接口设置CORS规则
obsClient.setBucketCors(bucketName,
s3BucketCors);
}
catch (ObsException e)
{
System.out.println( "set bucket Cors failed.
" + e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketCors(String bucketName, BucketCors bucketCors) throws ObsException
bucketName
- 桶名bucketCors
- CORS配置ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
BucketCors bucketCors = new BucketCors();
try
{ //实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 定义CORS规则
List<BucketCorsRule> rules = new
ArrayList<BucketCorsRule>();
List<String> allowedHeader = new
ArrayList<String>();
allowedHeader.add("allowedHeader");
List<String> allowedMethod = new
ArrayList<String>();
allowedMethod.add("GET");
List<String> allowedOrigin = new
ArrayList<String>();
allowedOrigin.add("allowedOrigin");
List<String> exposeHeader = new
ArrayList<String>();
exposeHeader.add("exposeHeader");
BucketCorsRule rule = new
BucketCorsRule();
rule.setAllowedHeader(allowedHeader);
rule.setAllowedMethod(allowedMethod);
rule.setAllowedOrigin(allowedOrigin);
rule.setId("001");
rule.setExposeHeader(exposeHeader);
rules.add(rule);
bucketCors.setRules(rules);
// 调用setBucketCors接口设置CORS规则
obsClient.setBucketCors(bucketName,
bucketCors);
}
catch (ObsException e)
{
System.out.println( "set bucket Cors failed.
" + e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public BucketCors getBucketCors(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketCors接口
obsClient.getBucketCors(bucketName);
System.out.println("get bucket Cors
success.");
}
catch (ObsException e)
{
System.out.println("get bucket Cors failed.
" + e.getErrorMessage() + " response code :"
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse deleteBucketCors(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketCors接口
obsClient.deleteBucketCors(bucketName);
System.out.println("delete bucket Cors
success.");
}
catch (ObsException e)
{
System.out.println("delete bucket Cors
failed. " + e.getErrorMessage() + " response code :"
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public OptionsInfoResult optionsBucket(String bucketName, OptionsInfoRequest optionInfo) throws ObsException
bucketName
- 桶名optionInfo
- OPTIONS桶的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
OptionsInfoRequest optionsInfo = new
OptionsInfoRequest();
optionsInfo.setOrigin("allowedOrigin");//跨域请求Origin
List<String> methodList = new
ArrayList<String>();
methodList.add("GET");
optionsInfo.setRequestMethod(methodList);//请求可以带的HTTP方法
List<String> headList = new
ArrayList<String>();
headList.add("exposeHeader");
optionsInfo.setRequestHeaders(headList);//请求可以带的HTTP头域
//调用ObsClient的OptionsBucket接口
obsClient.optionsBucket(bucketName,
optionsInfo);
System.out.println("option bucket
success.");
}
catch (ObsException e)
{
System.out.println("option bucket failed. "
+ e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public OptionsInfoResult optionsObject(String bucketName, String objectKey, OptionsInfoRequest optionInfo) throws ObsException
bucketName
- 桶名objectKey
- 对象名optionInfo
- OPTIONS对象的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
OptionsInfoRequest optionsInfo = new
OptionsInfoRequest();
optionsInfo.setOrigin("allowedOrigin");//跨域请求Origin
List<String> methodList = new
ArrayList<String>();
methodList.add("GET");
optionsInfo.setRequestMethod(methodList);//请求可以带的HTTP方法
List<String> headList = new
ArrayList<String>();
headList.add("exposeHeader");
optionsInfo.setRequestHeaders(headList);//请求可以带的HTTP头域
//调用ObsClient的OptionsObject接口
obsClient.optionsObject(bucketName,objectKey,optionsInfo);
System.out.println("option object
success.");
}
catch (ObsException e)
{
System.out.println("option object failed. "
+ e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public BucketLoggingConfiguration getBucketLoggingConfiguration(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketLoggingConfiguration接口
BucketLoggingConfiguration
loggingConfiguration =
obsClient.getBucketLoggingConfiguration(bucketName);
if (loggingConfiguration != null)
{
System.out.println(
"Get bucket logging configuration success. Logging configuration: " +
loggingConfiguration.toString());
}
else
{
System.out.println(
"Get bucket logging configuration failed or logging configuration is
null." );
}
}
catch (ObsException e)
{
System.out.println("Get bucket logging
configuration failed. " + e.getErrorMessage() + "response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketLoggingConfiguration(String bucketName, BucketLoggingConfiguration loggingConfiguration, boolean updateTargetACLifRequired) throws ObsException
bucketName
- 桶名loggingConfiguration
- 日志管理配置updateTargetACLifRequired
- 是否通过SDK自动设置目标桶的日志投递组写权限和读ACP权限ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
//设置日志管理配置信息
BucketLoggingConfiguration loggingConfig = new
BucketLoggingConfiguration();
loggingConfig.setTargetBucketName(bucketName);
loggingConfig.setLogfilePrefix("access_log");
CanonicalGrantee grantee = new CanonicalGrantee();
grantee.setDisplayName("testuser");
grantee.setIdentifier("grantee domain id"); //存储系统的用户ID
Permission permission = Permission.PERMISSION_FULL_CONTROL;
GrantAndPermission[] grants = new GrantAndPermission[1];
grants[0] = new GrantAndPermission(grantee, permission);
loggingConfig.setTargetGrants(grants);
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的setBucketLoggingConfiguration接口
obsClient.setBucketLoggingConfiguration(bucketName, loggingConfig,
true);
System.out.println("set bucket logging
configuration success.");
}
catch (ObsException e)
{
System.out.println("set bucket logging
configuration failed. " + e.getErrorMessage() + "response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketLoggingConfiguration(String bucketName, BucketLoggingConfiguration loggingConfiguration) throws ObsException
bucketName
- 桶名loggingConfiguration
- 日志管理配置ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
//设置日志管理配置信息
BucketLoggingConfiguration loggingConfig = new
BucketLoggingConfiguration();
loggingConfig.setTargetBucketName(bucketName);
loggingConfig.setLogfilePrefix("access_log");
CanonicalGrantee grantee = new CanonicalGrantee();
grantee.setDisplayName("testuser");
grantee.setIdentifier("grantee domain id"); //存储系统的用户ID
Permission permission = Permission.PERMISSION_FULL_CONTROL;
GrantAndPermission[] grants = new GrantAndPermission[1];
grants[0] = new GrantAndPermission(grantee, permission);
loggingConfig.setTargetGrants(grants);
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的setBucketLoggingConfiguration接口
obsClient.setBucketLoggingConfiguration(bucketName,
loggingConfig);
System.out.println("set bucket logging
configuration success.");
}
catch (ObsException e)
{
System.out.println("set bucket logging
configuration failed. " + e.getErrorMessage() + "response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
@Deprecated public HeaderResponse setBucketVersioning(String bucketName, String status) throws ObsException
bucketName
- 桶名status
- 多版本状态字符串,支持Suspended(暂停多版本状态)和Enabled(启用多版本状态)ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
// 创建多版本状态实例
// 调用setBucketVersioning接口开启桶的多版本状态
obsClient.setBucketVersioning(bucketName,
"Enabled");
System.out.println("set bucket versioning
configuration success.");
}
catch (ObsException e)
{
System.out.println("failed to set bucket
versioning status.ErrorMessage: "
+
e.getErrorMessage() + ". Response code :"
+
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketVersioning(String bucketName, BucketVersioningConfiguration versioningConfiguration) throws ObsException
bucketName
- 桶名versioningConfiguration
- 桶的多版本状态配置ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
// 创建多版本状态实例
BucketVersioningConfiguration
bucketVersioningConfiguration =
new
BucketVersioningConfiguration(VersioningStatusEnum.ENABLED);
// 调用setBucketVersioning接口开启桶的多版本状态
obsClient.setBucketVersioning(bucketName,
bucketVersioningConfiguration);
System.out.println("set bucket versioning
configuration success.");
}
catch (ObsException e)
{
System.out.println("failed to set bucket
versioning status.ErrorMessage: "
+
e.getErrorMessage() + ". Response code :"
+
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public BucketVersioningConfiguration getBucketVersioning(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
// 调用getBucketVersioning接口查询桶的多版本状态是否开启
BucketVersioningConfiguration
versioningConfiguration =
obsClient.getBucketVersioning(bucketName);
System.out.println("The versioning state is:
" + versioningConfiguration.getStatus());
public LifecycleConfiguration getBucketLifecycleConfiguration(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketLifecycleConfiguration接口
LifecycleConfiguration lifecycleConfig =
obsClient.getBucketLifecycleConfiguration(bucketName);
if (null != lifecycleConfig)
{
System.out.println
("Get bucket lifecycle configuration success.");
}
else
{
System.out.println(
"Get bucket lifecycle configuration failed or lifecycleConfig is
null" );
}
}
catch (ObsException e)
{
System.out.println( " Get bucket lifecycle
configuration failed." + e.getErrorMessage() + ", response code:" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketLifecycleConfiguration(String bucketName, LifecycleConfiguration lifecycleConfig) throws ObsException
bucketName
- 桶名lifecycleConfig
- 桶的生命周期配置ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
LifecycleConfiguration lifecycleConfig = new
LifecycleConfiguration();
LifecycleConfiguration.Rule rule =
lifecycleConfig.newRule("lifecycle001", "user001", true);
LifecycleConfiguration.Expiration expiration
= rule.newExpiration();
expiration.setDays(10);
expiration.setDate(date);
rule.setExpiration(expiration);
lifecycleConfig.addRule(rule);
public HeaderResponse deleteBucketLifecycleConfiguration(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的deleteBucketLifecycleConfiguration接口
obsClient.deleteBucketLifecycleConfiguration(bucketName);
System.out.println( "Delete bucket lifecycle
configuration success.");
}
catch (ObsException e)
{
System.out.println( "Delete bucket lifecycle
configuration failed." + e.getErrorMessage() + ", response code:" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public String getBucketPolicy(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketPolicy接口
String policy =
obsClient.getBucketPolicy(bucketName);
System.out.println("Get bucket policy
success. Policy: " + policy);
}
catch (ObsException e)
{
System.out.println("Get bucket policy
failed." + e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public BucketPolicyResponse getBucketPolicyV2(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getBucketPolicy接口
BucketPolicyResponse response =
obsClient.getBucketPolicyV2(bucketName);
System.out.println("Get bucket policy
success. Policy: " + response.getPolicy());
}
catch (ObsException e)
{
System.out.println("Get bucket policy
failed." + e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketPolicy(String bucketName, String policy) throws ObsException
bucketName
- 桶名policy
- 以JSON格式字符串表示的桶策略ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常public HeaderResponse deleteBucketPolicy(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的deleteBucketPolicy接口
obsClient.deleteBucketPolicy(bucketName);
System.out.println("Delete bucket policy
success.");
}
catch (ObsException e)
{
System.out.println("Delete bucket policy
failed. " + e.getErrorMessage() + ", response code: " +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public WebsiteConfiguration getBucketWebsiteConfiguration(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
// 输出桶的WebsiteConfiguration信息
System.out.println("Key: "+conf.getKey()+ ",
Suffix: "+conf.getSuffix());
for (RouteRule routeRule : list)
{
System.out.
println("KeyPrefixEquals: "+
routeRule.getCondition().getKeyPrefixEquals()
+
", HttpErrorCodeEquals: " +
routeRule.getCondition().getHttpErrorCodeReturnedEquals());
System.out.
println("ReplaceKeyPrefixWith: "+routeRule.getRedirect().
getReplaceKeyPrefixWith()
+", HostName: " +
routeRule.getRedirect().getHostName());
}
}
catch (ObsException e)
{
System.out.println( "Get bucket website
cofiguration failed. Error message: " + e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketWebsiteConfiguration(String bucketName, WebsiteConfiguration websiteConfig) throws ObsException
bucketName
- 桶名websiteConfig
- 桶的website(托管)配置ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
// 设置website配置信息
WebsiteConfiguration conf = new
WebsiteConfiguration();
conf.setKey("index.html");
conf.setSuffix("Error.html");
RouteRule routeRule = new RouteRule();//
设置重定向规则容器
RouteRuleCondition condition = new
RouteRuleCondition();// 设置重定向条件
condition.setHttpErrorCodeReturnedEquals("404");
condition.setKeyPrefixEquals("pptx");
routeRule.setCondition(condition);
Redirect redirect = new Redirect();//
设置重定向规则
redirect.setHostName("www.host-example.com");
redirect.setReplaceKeyWith(
"errorpage.html");
routeRule.setRedirect(redirect);
List<RouteRule> routeRules = new
ArrayList<RouteRule>();// 重定向规则集合
routeRules.add(routeRule);
conf.setRouteRules(routeRules);
//
调用setBucketWebsiteConfiguration接口设置桶的website
obsClient.
setBucketWebsiteConfiguration(bucketName, conf);
System.out.println( "set bucket website
configuration success.");
}
catch (ObsException e)
{
System.out.println( "failed to set bucket
website configuration. Error message: " + e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse deleteBucketWebsiteConfiguration(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
public BucketTagInfo getBucketTagging(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 调用getBucketTagging接口获取桶标签信息
BucketTagInfo result =
obsClient.getBucketTagging(bucketName);
for (BucketTagInfo.TagSet.Tag tag :
result.getTagSet().getTags())
{
System.out.println("Key:" +
tag.getKey());
System.out.println("Value:" +
tag.getValue());
}
}
catch (ObsException e)
{
System.out.println("Error message: " +
e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketTagging(String bucketName, BucketTagInfo bucketTagInfo) throws ObsException
bucketName
- 桶名bucketTagInfo
- 桶标签ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
BucketTagInfo request = new
BucketTagInfo();
BucketTagInfo.TagSet tagSet = new
BucketTagInfo.TagSet();
request.setTagSet(tagSet);
tagSet.addTag("testKey001",
"testValue001");
tagSet.addTag("testKey002",
"testValue002");
// 调用setBucketTagging接口设置桶标签信息
obsClient.setBucketTagging(bucketName,request);
}
catch (ObsException e)
{
System.out.println("Error message: " +
e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse deleteBucketTagging(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 调用deleteBucketTagging接口删除桶标签信息
obsClient.deleteBucketTagging(bucketName);
}
catch (ObsException e)
{
System.out.println("Error message: " +
e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketReplicationConfiguration(String bucketName, ReplicationConfiguration replicationConfiguration) throws ObsException
bucketName
- 桶名replicationConfiguration
- 跨Region复制配置ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常public ReplicationConfiguration getBucketReplicationConfiguration(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常public HeaderResponse deleteBucketReplicationConfiguration(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常public BucketNotificationConfiguration getBucketNotification(String bucketName) throws ObsException
bucketName
- 桶名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 调用getBucketNotification接口获取桶的通知配置
BucketNotificationConfiguration result =
obsClient.getBucketNotification(bucketName);
System.out.println(result);
}
catch (ObsException e)
{
System.out.println("Error message: " +
e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setBucketNotification(String bucketName, BucketNotificationConfiguration bucketNotificationConfiguration) throws ObsException
bucketName
- 桶名bucketNotificationConfiguration
- 桶的通知配置ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常public PutObjectResult putObject(String bucketName, String objectKey, InputStream input, ObjectMetadata metadata) throws ObsException
bucketName
- 桶名objectKey
- 对象名input
- 待上传的数据流metadata
- 对象的属性ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
String greeting = "Hello World!";
ObjectMetadata metadata = new ObjectMetadata();
metadata.setContentLength((long)greeting.getBytes().length);
metadata.setContentType("text/plain");
Map<String,Object> meta = new
HashMap<String,Object>();
meta.put("x-amz-acl", "public-read-write");
meta.put("x-amz-meta-test", "test metadata");
metadata.setMetadata(meta);
ByteArrayInputStream input = new
ByteArrayInputStream(greeting.getBytes());
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的putObject接口
PutObjectResult result =
obsClient.putObject(bucketName, objectKey, input, metadata);
System.out.println("Put object success.
Etag: " + result.getEtag());
}
catch (ObsException e)
{
System.out.println("Put object failed. " +
e.getErrorMessage() + " response code :" + e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public PutObjectResult putObject(String bucketName, String objectKey, InputStream input) throws ObsException
bucketName
- 桶名objectKey
- 对象名input
- 待上传的数据流ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
String greeting = "Hello World!";
ByteArrayInputStream input = new
ByteArrayInputStream(greeting.getBytes());
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的putObject接口
PutObjectResult result =
obsClient.putObject(bucketName, objectKey, input);
System.out.println("Put object success.
Etag: " + result.getEtag());
}
catch (ObsException e)
{
System.out.println("Put object failed. " +
e.getErrorMessage() + " response code :" + e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public PutObjectResult putObject(PutObjectRequest request) throws ObsException
request
- 上传对象请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
File file = new File("localfile"); //
要上传的文件
FileInputStream fis = new
FileInputStream(file);
ObjectMetadata metadata = new
ObjectMetadata();// 设置上传对象的元数据
metadata.setContentLength(file.length()); //
设置头信息中的文件长度
metadata.setContentType("application/xml");//
设置上传的文件类型
// 封装上传对象的请求
PutObjectRequest request = new
PutObjectRequest();
request.setBucketName(bucketName);
request.setInput(fis);
request.setMetadata(metadata);
request.setObjectKey(objectKey);
// 调用putObject接口创建对象
PutObjectResult result =
obsClient.putObject(request);
System.out.println("Object etag: " +
result.getEtag());
public AppendObjectResult appendObject(AppendObjectRequest request) throws ObsException
ObsException
public PutObjectResult putObject(String bucketName, String objectKey, File file) throws ObsException
bucketName
- 桶名objectKey
- 对象名file
- 待上传的文件ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
File file = new File("localfile");
public PutObjectResult putObject(String bucketName, String objectKey, File file, ObjectMetadata metadata) throws ObsException
bucketName
- 桶名objectKey
- 对象名file
- 待上传的文件metadata
- 对象的属性ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
File file = new File("localfile");
public CompleteMultipartUploadResult uploadFile(UploadFileRequest uploadFileRequest) throws ObsException
uploadFileRequest
- 上传文件请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
UploadFileRequest uploadFileRequest = new
UploadFileRequest(bucketName, objectKey);
uploadFileRequest.setUploadFile("localFile");
// 开启断点续传模式
uploadFileRequest.setEnableCheckpoint(true);
CompleteMultipartUploadResult result =
obsClient.uploadFile(uploadFileRequest);
}
catch (ObsException e)
{
System.out.println( "upload object failed.
Error message: " + e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public DownloadFileResult downloadFile(DownloadFileRequest downloadFileRequest) throws ObsException
downloadFileRequest
- 下载文件的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
DownloadFileRequest downloadFileRequest = new
DownloadFileRequest(bucketName, objectKey);
uploadFileRequest.setDownloadFile("localFileName");
// 开启断点续传模式
uploadFileRequest.setEnableCheckpoint(true);
DownloadFileResult result =
obsClient.downloadFile(downloadFileRequest);
}
catch (ObsException e)
{
System.out.println( "download object failed.
Error message: " + e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public ObsObject getObject(GetObjectRequest getObjectRequest) throws ObsException
getObjectRequest
- 下载对象的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
ObsObject obsObject =
obsClient.getObject(getObjectRequest);
// 获得对象内容,并保存到本地
is = obsObject.getObjectContent();
File file = new File("localfile");
fos = new FileOutputStream(file);
int b = 0;
bos = new BufferedOutputStream(fos, 1024 *
1024 * 2);
while ((b = is.read()) != -1)
{
bos.write(b);
}
bos.flush();
}
catch (ObsException e)
{
System.out.println( "Get object failed. Error
message: " + e.getErrorMessage() + ". ResponseCode: " +
e.getResponseCode());
}
catch (FileNotFoundException e)
{
System.out.println( "Get object failed. Error
message: " + e.getMessage());
}
catch (IOException e)
{
System.out.println( "Get object failed. Error
message: " + e.getMessage());
}
finally
{
try
{
if (null != is)//
如果网络异常中断,可能会导致输入流未正常初始化
is.close();
if (null != fos)
fos.close();
if (null != bos)
bos.close();
}
catch (IOException e)
{
System.out.
println("Fail to close stream. Error message: " +
e.getMessage());
}
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public ObsObject getObject(String bucketName, String objectKey, String versionId) throws ObsException
bucketName
- 桶名objectKey
- 对象名versionId
- 对象版本号ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
InputStream is = null;
FileOutputStream fos = null;
BufferedOutputStream bos = null;
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getObject接口
ObsObject obsObject =
obsClient.getObject(bucketName, objectKey, "object version id");
// 获得对象内容,并保存到本地
is = obsObject.getObjectContent();
File file = new File("localfile");
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos, 1024 *
1024 * 2);
int b = 0;
while ((b = is.read()) != -1)
{
bos.write(b);
}
bos.flush();
System.out.println("get object
success.");
System.out.println("object :" +
obsObject.getObjectKey());
}
catch (ObsException e)
{
System.out.println("Get object failed. " +
e.getErrorMessage() + " response code :" + e.getResponseCode());
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (null != is)//
如果网络异常中断,可能会导致输入流未正常初始化
is.close();
if (null != fos)
fos.close();
if (null != bos)
bos.close();
}
catch (IOException e)
{
System.out.
println("Fail to close stream. Error message: " +
e.getMessage());
}
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public ObsObject getObject(String bucketName, String objectKey) throws ObsException
bucketName
- 桶名objectKey
- 对象名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
InputStream is = null;
FileOutputStream fos = null;
BufferedOutputStream bos = null;
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getObject接口
ObsObject obsObject =
obsClient.getObject(bucketName, objectKey);
// 获得对象内容,并保存到本地
is = obsObject.getObjectContent();
File file = new File("localfile");
fos = new FileOutputStream(file);
bos = new BufferedOutputStream(fos, 1024 *
1024 * 2);
int b = 0;
while ((b = is.read()) != -1)
{
bos.write(b);
}
bos.flush();
System.out.println("get object
success.");
System.out.println("object :" +
obsObject.getObjectKey());
}
catch (ObsException e)
{
System.out.println("Get object failed. " +
e.getErrorMessage() + " response code :" + e.getResponseCode());
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (null != is)//
如果网络异常中断,可能会导致输入流未正常初始化
is.close();
if (null != fos)
fos.close();
if (null != bos)
bos.close();
}
catch (IOException e)
{
System.out.
println("Fail to close stream. Error message: " +
e.getMessage());
}
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public ObjectMetadata getObjectMetadata(GetObjectMetadataRequest request) throws ObsException
request
- 获取对象属性的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
// 调用getObjectMetadata接口查询对象元数据
GetObjectMetadataRequest request = new
GetObjectMetadataRequest();
request.setBucketName(bucketName);
request.setObjectKey(objectKey);
ObjectMetadata metadata =
obsClient.getObjectMetadata(request);
System.out.println("ContentLength: " +
metadata.getContentLength()
+ ", ContentType: " +
metadata.getContentType()
+ ", Metadata: " +
metadata.getMetadata());
}
catch (ObsException e)
{
System.out.println( "Get metadata failed.
Error message: " + e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public ObjectMetadata getObjectMetadata(String bucketName, String objectKey, String versionId) throws ObsException
bucketName
- 桶名objectKey
- 对象名versionId
- 对象版本号ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
// 调用getObjectMetadata接口查询对象元数据
ObjectMetadata metadata =
obsClient.getObjectMetadata(bucketName, objectKey, "object version
id");
System.out.println("ContentLength: " +
metadata.getContentLength()
+ ", ContentType: " +
metadata.getContentType()
+ ", Metadata: " +
metadata.getMetadata());
}
catch (ObsException e)
{
System.out.println( "Get metadata failed.
Error message: " + e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public ObjectMetadata getObjectMetadata(String bucketName, String objectKey) throws ObsException
bucketName
- 桶名objectKey
- 对象名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
// 调用getObjectMetadata接口查询对象元数据
ObjectMetadata metadata =
obsClient.getObjectMetadata(bucketName, objectKey);
System.out.println("ContentLength: " +
metadata.getContentLength()
+ ", ContentType: " +
metadata.getContentType()
+ ", Metadata: " +
metadata.getMetadata());
}
catch (ObsException e)
{
System.out.println( "Get metadata failed.
Error message: " + e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public RestoreObjectRequest.RestoreObjectStatus restoreObject(RestoreObjectRequest restoreObjectRequest) throws ObsException
restoreObjectRequest
- 取回归档存储对象的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
public HeaderResponse deleteObject(String bucketName, String objectKey, String versionId) throws ObsException
bucketName
- 桶名objectKey
- 对象名versionId
- 对象版本号ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的deleteObject接口
obsClient.deleteObject(bucketName,
objectKey, "object version id");
System.out.println("Delete object
success.");
}
catch (ObsException e)
{
System.out.println("Delete object failed. "
+ e.getErrorMessage() + " response code :" + e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse deleteObject(String bucketName, String objectKey) throws ObsException
bucketName
- 桶名objectKey
- 对象名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的deleteObject接口
obsClient.deleteObject(bucketName,
objectKey);
System.out.println("Delete object
success.");
}
catch (ObsException e)
{
System.out.println("Delete object failed. "
+ e.getErrorMessage() + " response code :" + e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public DeleteObjectsResult deleteObjects(DeleteObjectsRequest deleteObjectsRequest) throws ObsException
deleteObjectsRequest
- 批量删除对象的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey1 = "my-obs-object-key1";
String objectKey2 = "my-obs-object-key2";
//构造deleteObjects接口的入参对象DeleteObjectsRequest
DeleteObjectsRequest request = new DeleteObjectsRequest();
request.setBucketName(bucketName);
KeyAndVersion[] keyAndVersions = new KeyAndVersion[2];
keyAndVersions[0] = new KeyAndVersion(objectKey1);
keyAndVersions[1]= new KeyAndVersion(objectKey2);
request.setKeyAndVersions(keyAndVersions);
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的deleteObjects接口
obsClient.deleteObjects(request);
System.out.println("Delete objects
success.");
}
catch (ObsException e)
{
System.out.println("Delete objects failed. "
+ e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public AccessControlList getObjectAcl(String bucketName, String objectKey, String versionId) throws ObsException
bucketName
- 桶名objectKey
- 对象名versionId
- 对象版本号ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getObjectAcl接口
AccessControlList acl =
obsClient.getObjectAcl(bucketName, objectKey, "object version
id");
//在控制台输出获取的对象ACL信息
System.out.println("Get object acl success.
Object: " + objectKey);
Owner owner = acl.getOwner();
if (null != owner)
{
System.out.println("
owner id:" + owner.getId());
System.out.println("
owner displayname:" + owner.getDisplayName());
}
else
{
System.out.println("
owner is null");
}
GrantAndPermission[] grantAndPermissions =
acl.getGrantAndPermissions();
if (null != grantAndPermissions)
{
for (int i = 0; i
< grantAndPermissions.length; i++)
{
System.out.println(" permissions :" +
grantAndPermissions[i].getPermission());
}
}
}
catch (ObsException e)
{
System.out.println("Get object acl failed. "
+ e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public AccessControlList getObjectAcl(String bucketName, String objectKey) throws ObsException
bucketName
- 桶名objectKey
- 对象名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的getObjectAcl接口
AccessControlList acl =
obsClient.getObjectAcl(bucketName, objectKey);
//在控制台输出获取的对象ACL信息
System.out.println("Get object acl success.
Object: " + objectKey);
Owner owner = acl.getOwner();
if (null != owner)
{
System.out.println("
owner id:" + owner.getId());
System.out.println("
owner displayname:" + owner.getDisplayName());
}
else
{
System.out.println("
owner is null");
}
GrantAndPermission[] grantAndPermissions =
acl.getGrantAndPermissions();
if (null != grantAndPermissions)
{
for (int i = 0; i
< grantAndPermissions.length; i++)
{
System.out.println(" permissions :" +
grantAndPermissions[i].getPermission());
}
}
}
catch (ObsException e)
{
System.out.println("Get object acl failed. "
+ e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setObjectAcl(String bucketName, String objectKey, String cannedACL, AccessControlList acl, String versionId) throws ObsException
bucketName
- 桶名objectKey
- 对象名cannedACL
- 预定义访问策略的字符串表示,有效值:acl
- 访问权限(acl和cannedACL不能同时使用)versionId
- 对象版本号ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key"; try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的setObjectAcl接口
obsClient.setObjectAcl(bucketName,
objectKey, "public-read", null, null);
System.out.println("Set object acl
success.");
}
catch (ObsException e)
{
System.out.println("Set object acl failed. "
+ e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setObjectAcl(String bucketName, String objectKey, AccessControlList acl, String versionId) throws ObsException
bucketName
- 桶名objectKey
- 对象名acl
- 访问权限versionId
- 对象版本号ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
AccessControlList acl = new AccessControlList();
Owner owner = new Owner();
owner.setId("owner domain id");
CanonicalGrantee cGrantee = new CanonicalGrantee();
cGrantee.setIdentifier("grantee domain id");
GroupGrantee gGrantee = new GroupGrantee();
gGrantee.setIdentifier(
"http://acs.amazonaws.com/groups/global/AuthenticatedUsers");
acl.grantPermission(cGrantee, Permission.PERMISSION_READ);
acl.setOwner(owner);
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的setObjectAcl接口
obsClient.setObjectAcl(bucketName,
objectKey, acl, "object version id");
System.out.println("Set object acl
success.");
}
catch (ObsException e)
{
System.out.println("Set object acl failed. "
+ e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse setObjectAcl(String bucketName, String objectKey, AccessControlList acl) throws ObsException
bucketName
- 桶名objectKey
- 对象名acl
- 访问权限ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
AccessControlList acl = new AccessControlList();
Owner owner = new Owner();
owner.setId("owner domain id");
CanonicalGrantee cGrantee = new CanonicalGrantee();
cGrantee.setIdentifier("grantee domain id");
GroupGrantee gGrantee = new GroupGrantee();
gGrantee.setIdentifier(
"http://acs.amazonaws.com/groups/global/AuthenticatedUsers");
acl.grantPermission(cGrantee, Permission.PERMISSION_READ);
acl.setOwner(owner);
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的setObjectAcl接口
obsClient.setObjectAcl(bucketName,
objectKey, acl);
System.out.println("Set object acl
success.");
}
catch (ObsException e)
{
System.out.println("Set object acl failed. "
+ e.getErrorMessage() + " response code :" +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public CopyObjectResult copyObject(CopyObjectRequest copyObjectRequest) throws ObsException
copyObjectRequest
- 复制对象请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
String sourceBucketName =
"my-obs-source-bucket"; // 源对象所属的桶
String sourceObjectKey =
"my-obs-source-object-key"; // 源对象
String destBucketName = "my-obs-dest-bucket";
// 要拷贝到的目标桶
String destObjectKey =
"my-obs-dest-object-key"; // 目标对象
Map<String,Object> metadata = new
HashMap<String,Object>();
metadata.put("x-amz-acl", "public-read");
ObjectMetadata newObjectMetadata = new
ObjectMetadata();
newObjectMetadata.setMetadata(metadata);
CopyObjectRequest copyObjectRequest =
new
CopyObjectRequest(sourceBucketName, sourceObjectKey,
destBucketName,
destObjectKey);
copyObjectRequest.setNewObjectMetadata(newObjectMetadata);
CopyObjectResult copyObjectResult =
obsClient.copyObject(copyObjectRequest);
// 新对象的Etag和修改日期
System.out.println("Etag: " +
copyObjectResult.getEtag()
+ ", LastModified: "
+ copyObjectResult.getLastModified());
public CopyObjectResult copyObject(String sourceBucketName, String sourceObjectKey, String destBucketName, String destObjectKey) throws ObsException
sourceBucketName
- 源桶名sourceObjectKey
- 源对象名destBucketName
- 目标桶名destObjectKey
- 目标对象名ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
String objectNewKey = "my-obs-object-new-key";
try
{
//实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
//调用ObsClient的copyObject接口
CopyObjectResult result =
obsClient.copyObject(bucketName, objectKey, bucketName,
objectNewKey);
System.out.println("Copy object
success.");
}
catch (ObsException e)
{
System.out.println("Copy object failed. " +
e.getErrorMessage() + " response code :" + e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public InitiateMultipartUploadResult initiateMultipartUpload(InitiateMultipartUploadRequest request) throws ObsException
request
- 初始化分段上传任务的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
// 封装初始化上传任务的请求
InitiateMultipartUploadRequest request =
new
InitiateMultipartUploadRequest();
request.setBucketName(bucketName);
request.setObjectKey(objectKey);
//
调用initiateMultipartUpload接口初始化上传任务,获得任务Id
InitiateMultipartUploadResult imu =
obsClient.initiateMultipartUpload(request
);
System.out.println("bucketName:" +
imu.getBucketName()
+ "\tObjectKey:" +
imu.getObjectKey()
+ "\tUploadId:" +
imu.getUploadId());
}
catch (ObsException e)
{
System.out.println( "Initiate multipart
upload failed. Error message: " + e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public HeaderResponse abortMultipartUpload(AbortMultipartUploadRequest request) throws ObsException
request
- 取消分段上传任务的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 封装取消上传任务的请求
AbortMultipartUploadRequest request = new
AbortMultipartUploadRequest();
request.setBucketName(bucketName);
request.setObjectKey(objectKey);
request.setUploadId("your upload id");
// 调用abortMultipartUpload接口,取消上传任务
obsClient.abortMultipartUpload(request);
}
catch (ObsException e)
{
System.out.
println("Abort multipart upload failed. Error message: " +
e.getErrorMessage()
+
". ResponseCode: " + e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public UploadPartResult uploadPart(String bucketName, String objectKey, String uploadId, int partNumber, InputStream input) throws ObsException
bucketName
- 桶名objectKey
- 对象名uploadId
- 分段上传任务的ID号partNumber
- 分段号input
- 待上传的数据流ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
String uploadId = "your upload id";
int partNumber = 1;
String greeting = "Hello World!";
ByteArrayInputStream input = new
ByteArrayInputStream(greeting.getBytes());
UploadPartResult result =
obsClient.uploadPart(bucketName, objectKey, uploadId, partNumber,
input);
System.out.println("Etag: " +
result.getEtag() + " PartNumber: "+ result.getPartNumber());
}
catch (ObsException e)
{
System.out.
println("Error message: " + e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public UploadPartResult uploadPart(String bucketName, String objectKey, String uploadId, int partNumber, File file) throws ObsException
bucketName
- 桶名objectKey
- 对象名uploadId
- 分段上传任务的ID号partNumber
- 分段号file
- 待上传的文件ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
String uploadId = "your upload id";
int partNumber = 1;
UploadPartResult result =
obsClient.uploadPart(bucketName, objectKey, uploadId, partNumber, new
File("localfile"));
System.out.println("Etag: " +
result.getEtag() + " PartNumber: "+ result.getPartNumber());
}
catch (ObsException e)
{
System.out.
println("Error message: " + e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public UploadPartResult uploadPart(UploadPartRequest request) throws ObsException
request
- 上传段的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
// 封装上传段的请求信息
File file = new File("localfile");//
要上传的文件
UploadPartRequest request = new
UploadPartRequest(bucketName, objectKey,
file);
request.setUploadId("your upload id");
long partSize = 1024 * 1024 * 10;
request.setPartSize(partSize);//设置上传的每段大小为10MB
long uploadedLength = 0;
int partNumber = 1;
while(uploadedLength < file.length()
){
request.setPartNumber(partNumber);
request.setOffset(uploadedLength);//设置起始偏移位置
UploadPartResult
uploadPart = obsClient.uploadPart(request);
System.out.println(partNumber
+ " part is : " + uploadPart.getEtag());
partNumber++;
uploadedLength +=
partSize;
}
}
catch (ObsException e)
{
System.out.
println("Error message: " + e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public CopyPartResult copyPart(CopyPartRequest request) throws ObsException
request
- 复制段的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String sourceBucketName = "my-obs-source-bucket";
String sourceObjectKey = "my-obs-source-object-key";
String destBucketName = "my-obs-dest-bucket";
String destObjectKey = "my-obs-dest-object-key";
// 设置请求信息
CopyPartRequest request = new
CopyPartRequest();
request.setDestinationBucketName(destBucketName);//
目标桶名
request.setDestinationObjectKey(destObjectKey);//
目标对象名
request.setUploadId("your upload id");//
上传任务id
request.setPartNumber(1);// 要上传的段的段号
request.setSourceBucketName(sourceBucketName);
// 源桶名
request.setSourceObjectKey(sourceObjectKey);// 源对象名
request.setByteRangeStart(0l);// 拷贝的起始位置
request.setByteRangeEnd(50l);// 拷贝的终止位置
public CompleteMultipartUploadResult completeMultipartUpload(CompleteMultipartUploadRequest request) throws ObsException
request
- 合并段的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
try
{
// 实例化ObsClient服务
obsClient = new ObsClient(ak, sk,
config);
// 合并段的请求对象
CompleteMultipartUploadRequest request = new
CompleteMultipartUploadRequest();
request.setBucketName(bucketName);// 设置桶名
request.setObjectKey(objectKey);// 设置对象名
// 要合并的段
PartEtag partEtag = new PartEtag();
partEtag.seteTag("your etag value");
partEtag.setPartNumber(1);
// 要合并的段集合
List<PartEtag> partEtags = new
ArrayList<PartEtag>();
partEtags.add(partEtag);
request.setPartEtag(partEtags);
request.setUploadId("your upload id");
// 调用completeMultipartUpload接口,合并已上传的段
CompleteMultipartUploadResult result =
obsClient.completeMultipartUpload(request);
System.out.println("ObjectKey: "+result.
getObjectKey()
+ ", Etag: " +
result.getEtag());
public ListPartsResult listParts(ListPartsRequest request) throws ObsException
request
- 列举已上传段的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
String objectKey = "my-obs-object-key";
// 封装请求信息
ListPartsRequest request = new
ListPartsRequest();
request.setBucketName(bucketName);
request.setKey(objectKey);
request.setUploadId("your upload id");
ListPartsResult partsList =
obsClient.listParts(request);
List<Multipart> parts =
partsList.getMultipartList();
for (Multipart multipart : parts)
{
System.out.println("Etag:
"+multipart.getEtag()
+", PartNumber: "+multipart.getPartNumber()
+",
Size: " +multipart.getSize());
}
}
catch (ObsException e)
{
System.out.println("Error message: " +
e.getErrorMessage()
+ ". ResponseCode: "
+ e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
public MultipartUploadListing listMultipartUploads(ListMultipartUploadsRequest request) throws ObsException
request
- 列举分段上传任务的请求参数ObsException
- OBS SDK自定义异常,当调用接口失败、访问OBS失败时抛出该异常
config.setEndPoint(endPoint);
config.setHttpsOnly(true);
ObsClient obsClient = null;
String bucketName = "my-obs-bucket";
// 封装请求信息
ListMultipartUploadsRequest request = new
ListMultipartUploadsRequest();
request.setBucketName(bucketName);
request.setMaxUploads(100);
request.setPrefix("obj");
// 调用listMultipartUploads方法列出上传任务的信息
MultipartUploadListing listing =
obsClient.listMultipartUploads(request);
List<MultipartUpload> uploads =
listing.getMultipartTaskList();
for (MultipartUpload multipartUpload :
uploads)
{
System.out.
println("UploadId: " + multipartUpload.getUploadId()
+ ", Initiator: " +
multipartUpload.getInitiator().getId());
}
}
catch (ObsException e)
{
System.out.println("Error message: " +
e.getErrorMessage()
+ ". ResponseCode: " +
e.getResponseCode());
}finally{
try
{
if(obsClient != null){
obsClient.close();
}
}
catch (IOException e)
{
}
}
protected <T> T doActionWithResult(String action, String bucketName, com.obs.services.ObsClient.ActionCallbackWithResult<T> callback) throws ObsException
ObsException
protected void doAction(String action, String bucketName, com.obs.services.ObsClient.ActionCallback callback) throws ObsException
ObsException
public void close() throws IOException
close
在接口中 Closeable
close
在接口中 AutoCloseable
IOException
Copyright © 2018. All rights reserved.