您的位置:首页 > 其它

aliyun oss操作汇总

2017-05-24 19:30 134 查看
// endpoint以杭州为例,其它region请按实际情况填写
String endpoint = "http://oss-cn-hangzhou.aliyuncs.com";
// accessKey请登录https://ak-console.aliyun.com/#/查看
String accessKeyId = "<yourAccessKeyId>";
String accessKeySecret = "<yourAccessKeySecret>";
String content = "Hello OSS";
// 创建OSSClient实例
OSSClient ossClient = new OSSClient(endpoint, accessKeyId, accessKeySecret);
AppendObjectRequest appendObjectRequest = new AppendObjectRequest("<yourBucketName>",
"<yourKey>", new ByteArrayInputStream(content.getBytes()));
// 第一次追加
appendObjectRequest.setPosition(0L);
AppendObjectResult appendObjectResult = ossClient.appendObject(appendObjectRequest);
// 第二次追加
appendObjectRequest.setPosition(appendObjectResult.getNextPosition());
appendObjectResult = ossClient.appendObject(appendObjectRequest);
// 第三次追加
appendObjectRequest.setPosition(appendObjectResult.getNextPosition());
appendObjectResult = ossClient.appendObject(appendObjectRequest);
// 关闭client
ossClient.shutdown();

https://help.aliyun.com/document_detail/32013.html
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;

import com.aliyun.oss.ClientException;
import com.aliyun.oss.OSSClient;
import com.aliyun.oss.OSSException;
import com.aliyun.oss.model.AppendObjectRequest;
import com.aliyun.oss.model.AppendObjectResult;
import com.aliyun.oss.model.OSSObject;

/**
* This sample demonstrates how to upload an object by append mode
* to Aliyun OSS using the OSS SDK for Java.
*/
public class AppendObjectSample {

private static String endpoint = "*** Provide OSS endpoint ***";
private static String accessKeyId = "*** Provide your AccessKeyId ***";
private static String accessKeySecret = "*** Provide your AccessKeySecret ***";

private static String bucketName = "*** Provide bucket name ***";
private static String key = "*** Provide key ***";

public static void main(String[] args) throws IOException {
/*
* Constructs a client instance with your account for accessing OSS
*/
OSSClient client = new OSSClient(endpoint, accessKeyId, accessKeySecret);

try {
/*
* Append an object from specfied input stream, keep in mind that
* position should be set to zero at first time.
*/
String content = "Thank you for using Aliyun Object Storage Service";
InputStream instream = new ByteArrayInputStream(content.getBytes());
Long firstPosition = 0L;
System.out.println("Begin to append object at position(" + firstPosition + ")");
AppendObjectResult appendObjectResult = client.appendObject(
new AppendObjectRequest(bucketName, key, instream).withPosition(0L));
System.out.println("\tNext position=" + appendObjectResult.getNextPosition() +
", CRC64=" + appendObjectResult.getObjectCRC() + "\n");

/*
* Continue to append the object from specfied file descriptor at last position
*/
Long nextPosition = appendObjectResult.getNextPosition();
System.out.println("Continue to append object at last position(" + nextPosition + "):");
appendObjectResult = client.appendObject(
new AppendObjectRequest(bucketName, key, createTempFile())
.withPosition(nextPosition));
System.out.println("\tNext position=" + appendObjectResult.getNextPosition() +
", CRC64=" + appendObjectResult.getObjectCRC());

/*
* View object type of the appendable object
*/
OSSObject object = client.getObject(bucketName, key);
System.out.println("\tObject type=" + object.getObjectMetadata().getObjectType() + "\n");
// Do not forget to close object input stream if not use it any more
object.getObjectContent().close();

/*
* Delete the appendable object
*/
System.out.println("Deleting an appendable object");
client.deleteObject(bucketName, key);

} catch (OSSException oe) {
System.out.println("Caught an OSSException, which means your request made it to OSS, "
+ "but was rejected with an error response for some reason.");
System.out.println("Error Message: " + oe.getErrorCode());
System.out.println("Error Code:       " + oe.getErrorCode());
System.out.println("Request ID:      " + oe.getRequestId());
System.out.println("Host ID:           " + oe.getHostId());
} catch (ClientException ce) {
System.out.println("Caught an ClientException, which means the client encountered "
+ "a serious internal problem while trying to communicate with OSS, "
+ "such as not being able to access the network.");
System.out.println("Error Message: " + ce.getMessage());
} finally {
/*
* Do not forget to shut down the client finally to release all allocated resources.
*/
client.shutdown();
}
}

private static File createTempFile() throws IOException {
File file = File.createTempFile("oss-java-sdk-", ".txt");
file.deleteOnExit();

Writer writer = new OutputStreamWriter(new FileOutputStream(file));
writer.write("abcdefghijklmnopqrstuvwxyz\n");
writer.write("0123456789011234567890\n");
writer.close();

return file;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: