开发者社区 问答 正文

实例化ArchiveManager

++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的实例化。

展开
收起
云栖大讲堂 2017-10-26 14:44:12 1738 分享 版权
阿里云 AI 助理回答

如何使用ArchiveManager进行文件上传和下载操作

背景介绍

ArchiveManager是阿里云OAS服务中用于文件上传与下载的高级接口入口,支持阻塞和异步两种模式的操作。通过该接口,用户可以高效地管理对象存储中的档案数据,特别是在处理大文件上传和下载时,利用多线程技术可显著提升执行效率。

步骤指南

  1. 初始化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);
      
  2. 配置并发与重试设置 为了优化大文件处理性能,可以通过以下方式设置多线程并发数(默认3,最大10)和单请求重试次数(默认2,最大3):

    ArchiveManager manager = OASFactory.archiveManagerFactory(
       credentials, 
       "http://cn-hangzhou.oas.aliyuncs.com"
    ).withNumConcurrence(5).withMaxRetryTimePerRequest(3);
    
  3. 执行文件操作

    • 上传文件:使用archiveManager提供的上传方法,根据具体需求选择同步或异步接口。
    • 下载文件:同样,调用相应的下载方法,并可依据文件大小考虑是否启用多线程以提高效率。

注意事项

  • 在使用过程中,务必确保已正确配置AccessKeyIDAccessKeySecret,并根据实际需求调整服务地址。
  • 操作过程中可能会遇到OASClientException(客户端异常)和OASServerException(服务端异常),需合理处理这些异常情况。
  • 多线程并发数量和重试次数的设置应根据实际网络环境和文件大小灵活调整,以达到最佳性能。
  • 对于更详细的客户端配置(ClientConfiguration)和低级接口(AliyunOASClient)使用,请参考相关文档章节。

通过上述步骤,您可以充分利用ArchiveManager高级接口来高效地执行文件上传和下载任务,特别是在处理大数据量传输时,通过合理的配置优化执行效率。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答分类:
问答地址: