++ArchiveManager++是高级接口的入口,包含上传和下载两类接口,每一个接口均包含阻塞和异步两种实现,其中方法名以Async结尾的为异步方法。所有接口均可能抛出两种异常,分别为++OASClientException++和++OASServerException++,详见本章异常一节。
++ArchiveManager++的可通过如下三种方式获得:
// 使用默认配置
ServiceCredentials credentials = new ServiceCredentials(
"[yourAccessKeyID]", "[yourAccessKeySecret]");
ArchiveManager archiveManager = OASFactory.archiveManagerFactory(credentials,
"http://cn-hangzhou.oas.aliyuncs.com");
//初始化认证
ServiceCredentials credentials = new ServiceCredentials(
"[yourAccessKeyId]", "[yourAccessKeySecret]");
//服务地址
ServiceHost serviceHost = new ServiceHost("http://cn-hangzhou.oas.aliyuncs.com", 80);
//客户端配置
ClientConfiguration clientConfiguration = new ClientConfiguration();
ArchiveManager archiveManager = new ArchiveManager(serviceHost, credentials, clientConf);// 使用AliyunOASClient初始化
AliyunOASClient aliyunOASClient = OASFactory.aliyunOASClientFactory(
serviceHost, credentials, clientConfiguration).withLogger();
ArchiveManager archiveManager = OASFactory.archiveManagerFactory(aliyunOASClient);
其中,ClientConfiguration的具体使用请参阅本章最后一节自定义配置,AliyunOASClient的具体介绍参见
《OAS Java SDK低级接口文档》。为使示例更简洁,本章示例中若出现未定义的archiveManager变量,均是指ArchiveManager对象。
在Multipart上传、大文件下载时,多线程可以提高执行效率,高级接口提供让用户指定线程并发数量:
// 设置多线程并发数为5,默认:3,最大:10
// 设置单上传链路重试次数,默认为2,最大:3
ArchiveManager manager = OASFactory.archiveManagerFactory(
credentials,
"http://cn-hangzhou.oas.aliyuncs.com"
).withNumConcurrence(5).withMaxRetryTimePerRequest(3);
注:为避免文档中代码的冗长,本文设计的样例代码,会省去ArchiveManager的实例化。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
ArchiveManager
是阿里云OAS服务中用于文件上传与下载的高级接口入口,支持阻塞和异步两种模式的操作。通过该接口,用户可以高效地管理对象存储中的档案数据,特别是在处理大文件上传和下载时,利用多线程技术可显著提升执行效率。
初始化ArchiveManager
方式一:使用默认配置
ServiceCredentials credentials = new ServiceCredentials("[yourAccessKeyID]", "[yourAccessKeySecret]");
ArchiveManager archiveManager = OASFactory.archiveManagerFactory(credentials, "http://cn-hangzhou.oas.aliyuncs.com");
方式二:自定义服务地址与客户端配置
ServiceCredentials credentials = new ServiceCredentials("[yourAccessKeyId]", "[yourAccessKeySecret]");
ServiceHost serviceHost = new ServiceHost("http://cn-hangzhou.oas.aliyuncs.com", 80);
ClientConfiguration clientConfiguration = new ClientConfiguration();
ArchiveManager archiveManager = new ArchiveManager(serviceHost, credentials, clientConf);
方式三:基于AliyunOASClient初始化
AliyunOASClient aliyunOASClient = OASFactory.aliyunOASClientFactory(serviceHost, credentials, clientConfiguration).withLogger();
ArchiveManager archiveManager = OASFactory.archiveManagerFactory(aliyunOASClient);
配置并发与重试设置 为了优化大文件处理性能,可以通过以下方式设置多线程并发数(默认3,最大10)和单请求重试次数(默认2,最大3):
ArchiveManager manager = OASFactory.archiveManagerFactory(
credentials,
"http://cn-hangzhou.oas.aliyuncs.com"
).withNumConcurrence(5).withMaxRetryTimePerRequest(3);
执行文件操作
archiveManager
提供的上传方法,根据具体需求选择同步或异步接口。AccessKeyID
和AccessKeySecret
,并根据实际需求调整服务地址。OASClientException
(客户端异常)和OASServerException
(服务端异常),需合理处理这些异常情况。ClientConfiguration
)和低级接口(AliyunOASClient
)使用,请参考相关文档章节。通过上述步骤,您可以充分利用ArchiveManager
高级接口来高效地执行文件上传和下载任务,特别是在处理大数据量传输时,通过合理的配置优化执行效率。