全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 开发者工具 解决方案 物联网

低级接口

更新时间:2017-06-07 13:26:11

低级接口分为同步接口(阻塞接口)异步接口(非阻塞接口)两类 对于同步接口,在整个传输请求完成之前不会返回;对于异步操作,请求发送之后立刻返回,并不会等待传输请求完成。

AliyunOASClient——低级接口的入口

AliyunOASClient实例化

低级接口的入口是AliyunOASClient对象。你可以通过下面的工厂方法获取对象实例:

//初始化认证信息
ServiceCredentials credentials = new ServiceCredentials("[yourAccessKeyId]",
    "[yourAccessKeySecret]");
//服务地址,如杭州
ServiceHost serviceHost = new ServiceHost("http://cn-hangzhou.oas.aliyuncs.com", 80);
//客户端配置
ClientConfiguration clientConfiguration = new ClientConfiguration();
// 方法1
AliyunOASClient aliyunOASClient = OASFactory
    .aliyunOASClientFactory(serviceHost, credentials, clientConfiguration).withLogger();
// 方法2
AliyunOASClient aliyunOASClient2 = OASFactory.aliyunOASClientFactory(credentials,
    "http://cn-hangzhou.oas.aliyuncs.com");

同步接口和异步接口

在AliyunOASClient中,每个功能都会有同步和异步两个接口,比如创建Vault这个功能它的同步、异步接口的定义分别如下:

/**
 * 创建Vault同步接口
 * @param createVaultRequest 创建Vault请求对象
 * @return CreateVaultResult 对象
 * @throws OASClientException 客户端异常
 * @throws OASServerException 服务端异常
 */
public CreateVaultResult createVault(CreateVaultRequest createVaultRequest)
    throws OASClientException, OASServerException;

/**
 * 创建Vault异步接口
 * @param <T> 返回对象的类型
 * @param createVaultRequest 创建Vault请求对象
 * @param handler 异步请求处理器
 * @return ListenableFuture对象
 * @throws OASClientException 客户端异常
 * @throws OASServerException 服务端异常
 */
public <T> ListenableFuture<T> createVaultAsync(
    CreateVaultRequest createVaultRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;

二者的区别:

  1. 命名上异步接口均以Async字眼结尾以示区别;
  2. 同步接口返回的均是OAS解析后的结果类;异步接口返回的是ListenableFuture对象,关于ListenableFuture的使用请参考 AsyncHttpClient 项目文档

同步接口

每一个同步接口都以OASRequest(或其子类)为参数,以OASResult(或其子类)为返回结果。OASRequestOASResult的每一个成员变量均带有 gettersetterwith 方法,其中 with 方法功能与 setter 相同,但返回值是 this 引用,可用于级联操作。

下文将主要介绍同步接口的使用。其中,前四节将会介绍各个接口的请求参数和返回值,而其中出现的自定义类型将会在descriptor、其他类型一节和工具一章介绍。

OASRequest仅作为公共父类,没有实现任何方法。

OASResult包含的变量如下表所述。

成员变量 类型 含义
requestId String 请求的唯一标识,见 OAS API文档2.4.2节
date Date 请求的响应时间,见 OAS API文档2.4.2节

低级接口是《OAS API手册》所定义的接口的直接映射,为方便用户查阅,下文叙述顺序与《OAS API手册-第四节》顺序保持一致,对于各个参数具体含义,请务必参阅《OAS API手册》对应的描述。

下面以创建Vault和上传Archive两个例子简单示例同步接口的使用,其他功能接口的使用均与此相似。

// 创建Vault
CreateVaultRequest createVaultRequest = new CreateVaultRequest().withVaultName("[yourVaultName]");
CreateVaultResult createVaultResult = aliyunOASClient.createVault(createVaultRequest);
String vaultId = createVaultResult.getVaultId();

// 上传Archive
File file = new File("[pathOfFileToUpload]");
String contentEtag = new ContentEtagGenerator().update(file).asHex();
String treeEtag = new TreeEtagGenerator().update(file).asHex();
UploadArchiveRequest uploadRequest = new UploadArchiveRequest()
    .withVaultId(vaultId)
    .withFile(file)
    .withContentEtag(contentEtag)
    .withTreeEtag(treeEtag);
UploadArchiveResult uploadResult = client.uploadArchive(uploadRequest);
String archiveId = uploadResult.getArchiveId();

异步接口

异步接口除了接收OASRequest作为参数外,还需要提供AsyncHandler作为回调方法,返回结果为ListenableFuture。异步接口暴露的是底层异步HTTP库的原始处理接口,用户可根据实际需要自行定制。本节仅以例子说明异步接口的基本使用方法,更详细的信息可参阅Async Http Client项目手册

// 创建Vault
CreateVaultRequest createVaultRequest = new CreateVaultRequest()
    .withVaultName("[yourVaultName]");
ListenableFuture<Response> future = aliyunOASClient.createVaultAsync(
    createVaultRequest,
    new AsyncCompletionHandlerBase());

// 获取结果(阻塞)
Response response = future.get();
if (response.getStatusCode() / 100 != 2) {
    System.out.println("Error");
} else {
    System.out.println("Vault ID: " + response.getHeader("x-oas-vault-id"));
}

日志输出

OASClientOASClientAsync均支持日志输出,开启日志的方法如下:

// withLogger添加日志输出
AliyunOASClient aliyunOASClient = OASFactory
    .aliyunOASClientFactory(serviceHost, credentials, clientConfiguration)
    .withLogger();

Java SDK使用SLF4J-log4j输出日志,以下是日志打印的参考配置(log4j.properties),用户可根据实际情况进行自定义。建议用户至少打开info级别(debug和trace级别将包含更多信息)的打印,方便查看程序运行状态。当遇到问题时,用户可把相关日志打印提交给OAS技术支持。关于更详细的配置项描述,请参考log4j的官方手册

log4j.rootLogger=INFO,stderr
log4j.appender.stderr=org.apache.log4j.ConsoleAppender
log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
log4j.appender.stderr.layout.ConversionPattern=%d %p [%c] - %m%n

自定义配置

ServiceHost

ServiceHost类是OAS服务地址对象

变量名 类型 描述
host String OAS服务地址,如 http://cn-hangzhou.oas.aliyuncs.com
port int OAS服务器端口,默认为-1,即使用端口80(HTTP协议)或443(HTTPS协议)

ClientConfiguration

ClientConfiguration可用于配置高级接口或低级接口的行为,所支持的所有配置项如下表所示。其中,使用默认的构造方法可生成默认配置,save 可保存配置至本地文件,load 可从本地文件读取配置,具体使用请参考示例。

变量名 类型 描述
maxConnections int 最大总连接数,默认为200
connectionTimeoutMs int 连接超时毫秒数,默认为Integer.MAX_VALUE,即无限制
idleConnectionTimeoutMs int 连接空闲毫秒数,默认为Integer.MAX_VALUE,即无限制
requestTimeoutMs int 单个连接的最大请求毫秒数,默认为Integer.MAX_VALUE,即无限制。注意,该变量指的是请求开始到请求结束的总时间,若设置较小的值,可能会导致上传和下载等较费时的操作无法完成
maxRetry int 遇到网络出错时的最大重试数,默认为3
enableProxy boolean 是否使用代理服务器,默认为false
proxyHost String 代理服务器地址,默认为空字符串
proxyPort int 代理服务器端口,默认为8080
proxyUsername String 代理服务器验证的用户名,默认为空字符串,即不需要验证
proxyPassword String 代理服务器验证的密码,默认为空字符串
// 生成默认配置并进行自定义
ClientConfiguration conf = new ClientConfiguration()
    .withConnectionTimeoutMs(1000)
    .withMaxRety(1);

// 保存配置
conf.save(new File("[pathForSavingConfiguration]"));

// 从文件加载配置
conf = ClientConfiguration.load("[pathForConfigurationFile]");

// 配置代理服务器
conf.withEnableProxy(true)
    .withProxyHost("http://localhost")
    .withProxyPort(8080)
    .withProxyUsername("username")
    .withProxyPassword("password");

Vault 操作

创建 Vault

请求参数(CreateVaultRequest
变量名 类型 描述
vaultName String 待新建的Vault的名称
接口定义
/**
 * 创建Vault同步接口
 * @param createVaultRequest 创建Vault请求对象
 * @return OAS封装好的 CreateVaultResult 对象
 * @throws OASClientException
 * @throws OASServerException
 */
public CreateVaultResult createVault(CreateVaultRequest createVaultRequest)
    throws OASClientException, OASServerException;

/**
 * 创建Vault异步接口
 * @param createVaultRequest 创建Vault请求对象
 * @param handler 异步请求处理器
 * @return ListenableFuture对象
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> createVaultAsync(
    CreateVaultRequest createVaultRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(CreateVaultResult
变量名 类型 描述
location String 所创建的Vault对应的URI
vaultId String 所创建的Vault的ID

删除 Vault

请求参数(DeleteVaultRequest
变量名 类型 描述
vaultId String 待删除的Vault的ID
接口定义
/**
 * 删除Vault同步方法
 * @param deleteVaultRequest 删除Vault请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public OASResult deleteVault(DeleteVaultRequest deleteVaultRequest)
    throws OASClientException, OASServerException;

/**
 * 删除Vault异步接口
 * @param deleteVaultRequest 删除Vault请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> deleteVaultAsync(
    DeleteVaultRequest deleteVaultRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(OASResult

参考OASResult结构

获取 Vault 信息

请求参数(DescribeVaultRequest
变量名 类型 描述
vaultId String 待查询的Vault的ID
接口定义
/**
 * 获取Vault信息同步接口
 * @param describeVaultRequest 获取Vault信息请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public DescribeVaultResult describeVault(
    DescribeVaultRequest describeVaultRequest)
    throws OASClientException, OASServerException;

/**
 * 获取Vault信息异步接口
 * @param describeVaultRequest 获取Vault信息请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> describeVaultAsync(
    DescribeVaultRequest describeVaultRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(DescribeVaultResult
变量名 类型 描述
descriptor VaultDescriptor Vault的JSON描述

获取 Vault 列表

请求参数(ListVaultsRequest
变量名 类型 描述
limit int 返回列表的最大长度
marker String 列表的起始标识
接口定义
/**
 * 获取Vault列表同步接口
 * @param listVaultsRequest 获取Vault列表请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public ListVaultsResult listVaults(ListVaultsRequest listVaultsRequest)
    throws OASClientException, OASServerException;

/**
 * 获取Vault列表异步接口
 * @param listVaultsRequest 获取Vault列表请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> listVaultsAsync(
    ListVaultsRequest listVaultsRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(ListVaultsResult
变量名 类型 描述
marker String 下一次请求的起始标识
vaultList List<VaultDescriptor> Vault的JSON描述列表

Archive 操作

查询 Archive 元数据

请求参数(GetArchiveMetaRequest
变量 类型 描述
vaultId String 待上传的目标Vault的ID
archiveId String 成功上传的Archive的ID
接口定义
/**
 * 根据VaultId、ArchiveId获得Archive的元数据信息
 * @param getArchiveMetaRequest 请求对象
 * @return GetArchiveMetaResult对象
 * @throws OASClientException
 * @throws OASServerException
 */
public GetArchiveMetaResult getArchiveMeta(GetArchiveMetaRequest getArchiveMetaRequest)
    throws OASClientException, OASServerException;
响应结果
变量名 类型 描述
descriptor ArchiveDescriptor Archive描述对象

ArchiveDescriptor结构:

变量名 类型 描述
archiveId String ArchiveId字符串
treeEtag String Archive的treeEtag校验信息
description String 描述信息
creationDate Date 创建时间
size long 大小(单位:字节)

上传 Archive

请求参数(UploadArchiveRequest
变量名 类型 描述
vaultId String 待上传的目标Vault的ID
file File 待上传的文件,与stream为二选一参数,两者均设置时结果不确定
stream InputStream 待上传的流,与file为二选一参数,两者均设置时结果不确定
contentLength long 可选参数,待上传的长度,默认为file.length()或stream.available()
description String 可选参数,Archive的描述字段
contentEtag String Archive的校验码
treeEtag String Archive的哈希树校验码
接口定义
/**
 * 上传Archive同步接口
 * @param uploadArchiveRequest 上传Archive请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public UploadArchiveResult uploadArchive(
    UploadArchiveRequest uploadArchiveRequest)
    throws OASClientException, OASServerException;

/**
 * 上传Archive异步接口
 * @param uploadArchiveRequest 上传Archive请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> uploadArchiveAsync(
    UploadArchiveRequest uploadArchiveRequest,AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(UploadArchiveResult
变量名 类型 描述
location String 成功上传的Archive的URI
archiveId String 成功上传的Archive的ID

删除 Archive

请求参数(DeleteArchiveRequest
变量名 类型 描述
vaultId String 待删除的Archive所属Vault的ID
archiveId String 待删除的Archive的ID
接口定义
/**
 * 删除Archive同步接口
 * @param deleteArchiveRequest 删除Archive请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public OASResult deleteArchive(DeleteArchiveRequest deleteArchiveRequest)
    throws OASClientException, OASServerException;

/**
 * 删除Archive异步请求
 * @param deleteArchiveRequest 删除Archive请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> deleteArchiveAsync(
    DeleteArchiveRequest deleteArchiveRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(OASResult)

参考OASResult结构

Multipart Upload 操作

初始化 Multipart Upload 任务

请求参数(InitiateMultipartUploadRequest
变量名 类型 描述
vaultId String 待新建任务的Vault的ID
partSize long 分块的字节大小
description String Archive的描述字段
接口定义
/**
 * 初始化Multipart上传任务同步接口
 * @param initiateMultipartUploadRequest 初始化Multipart上传任务请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public InitiateMultipartUploadResult initiateMultipartUpload(
    InitiateMultipartUploadRequest initiateMultipartUploadRequest)
    throws OASClientException, OASServerException;

/**
 * 初始化Multipart上传任务异步接口
 * @param initiateMultipartUploadRequest 初始化Multipart上传任务请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> initiateMultipartUploadAsync(
    InitiateMultipartUploadRequest initiateMultipartUploadRequest,
    AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(InitiateMultipartUploadResult
变量名 类型 描述
location String 成功新建的任务的URI
uploadId String 成功新建的任务的ID

获取 Multipart Upload任务列表

请求参数(ListMultipartUploadsRequest
变量名 类型 描述
vaultId String 待查询的Vault的ID
limit int 返回列表的最大长度
marker String 列表的起始标识
接口定义
/**
 * 获取Multipart上传任务列表同步接口
 * @param listMultipartUploadsRequest 获取Multipart上传任务列表请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public ListMultipartUploadsResult listMultipartUploads(
    ListMultipartUploadsRequest listMultipartUploadsRequest)
    throws OASClientException, OASServerException;

/**
 * 获取Multipart上传任务列表异步接口
 * @param listMultipartUploadsRequest 获取Multipart上传任务列表请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> listMultipartUploadsAsync(
    ListMultipartUploadsRequest listMultipartUploadsRequest,
    AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(ListMultipartUploadsResult
变量名 类型 描述
marker String 下一次列表查询的起始标识
uploadList List<MultipartUploadDescriptor> Mulitpart Upload的JSON描述列表

删除 Multipart Upload 任务

请求参数(CancelMultipartUploadRequest
变量名 类型 描述
vaultId String 待删除的任务所属Vault的ID。
uploadId String 待删除的任务的ID。
接口定义
/**
 * 删除Multipart上传任务同步接口
 * @param cancelMultipartUploadRequest 删除Multipart上传任务请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public OASResult cancelMultipartUpload(
    CancelMultipartUploadRequest cancelMultipartUploadRequest)
    throws OASClientException, OASServerException;

/**
 * 删除Multipart上传任务异步接口
 * @param cancelMultipartUploadRequest 删除Multipart上传任务请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> cancelMultipartUploadAsync(
    CancelMultipartUploadRequest cancelMultipartUploadRequest,
    AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(OASResult

Part上传

请求参数(UploadPartRequest
变量名 类型 描述
vaultId String 待上传的任务所属Vault的ID
uploadId String 待上传的Part所属任务的ID
file File 待上传的文件,与stream为二选一参数,两者均设置时结果不确定
stream InputStream 待上传的流,与file为二选一参数,两者均设置时结果不确定
range Range 待上传的Part对应整个文件的字节范围
contentEtag String 校验字段
treeEtag String 哈希树校验信息
接口定义
/**
 * 上传Part同步接口
 * @param uploadPartRequest 上传Part请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public OASResult uploadPart(UploadPartRequest uploadPartRequest)
    throws OASClientException, OASServerException;

/**
 * 上传Part异步接口
 * @param uploadPartRequest 上传Part请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> uploadPartAsync(
    UploadPartRequest uploadPartRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(OASResult

参考OASResult结构

获取 Part 列表

请求参数(ListPartsRequest
变量名 类型 描述
vaultId String 待查询的任务所属Vault的ID
uploadId String 待查询的任务的ID
limit int 返回列表的最大长度
marker String 列表的起始标识
接口定义
/**
 * 获取Part列表同步接口
 * @param listPartsRequest 获取Part列表请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public ListPartsResult listParts(ListPartsRequest listPartsRequest)
    throws OASClientException, OASServerException;

/**
 * 获取Part列表异步接口
 * @param listPartsRequest 获取Part列表请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> listPartsAsync(
    ListPartsRequest listPartsRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(ListPartsResult
变量名 类型 描述
marker String 下一次列表查询的起始标识
descriptor MultipartUploadDescriptor Mulitpart Upload任务的JSON描述

Part 合并

请求参数(CompleteMultipartUploadRequest
变量名 类型 描述
vaultId String 待合并的任务所属Vault的ID
uploadId String 待合并的任务的ID
size long 文件的字节大小
treeEtag String 哈希树校验字段
接口定义
/**
 * Part合并同步接口
 * @param completeMultipartUploadRequest Part合并请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public CompleteMultipartUploadResult completeMultipartUpload(
    CompleteMultipartUploadRequest completeMultipartUploadRequest)
    throws OASClientException, OASServerException;

/**
 * Part合并异步接口
 * @param completeMultipartUploadRequest Part合并请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> completeMultipartUploadAsync(
    CompleteMultipartUploadRequest completeMultipartUploadRequest,
    AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果
变量名 类型 描述
location String 成功上传的Archive的URI
archiveId String 成功上传的Archive的ID

Job 操作

初始化 Job 任务

请求参数(InitiateJobRequest
变量名 类型 描述
vaultId String 待新建Job的Vault的ID
archiveId String 待下载的Archive的ID,可选参数
type JobType Job类型
description String Job的描述字段
retrievalRange Range 待下载的Archive字节范围,可选参数
接口定义
/**
 * 初始化Job同步接口
 * @param initiateJobRequest 初始化Job请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public InitiateJobResult initiateJob(InitiateJobRequest initiateJobRequest)
    throws OASClientException, OASServerException;

/**
 * 初始化Job异步接口
 * @param initiateJobRequest 初始化Job请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> initiateJobAsync(
    InitiateJobRequest initiateJobRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(InitiateJobResult
变量名 类型 描述
location String 创建成功的Job的URI
jobId String 创建成功的Job的ID

Job Output 下载

请求参数(GetJobOutputRequest
变量名 类型 描述
vaultId String 待下载的Job所属Vault的ID
jobId String 待下载的Job的ID
range Range 待下载的字节范围
file File 保存下载结果的文件
接口定义
/**
 * Job Output下载同步接口
 * @param getJobOutputRequest Job Output下载请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public GetJobOutputResult getJobOutput(GetJobOutputRequest getJobOutputRequest)
    throws OASClientException, OASServerException;

/**
 * Job Output下载异步接口
 * @param getJobOutputRequest Job Output下载请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> getJobOutputAsync(
    GetJobOutputRequest getJobOutputRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(GetJobOutputResult
变量名 类型 描述
file File 保存下载结果的文件
contentEtag String 校验码字段,可能为空
range Range 下载的字节范围,可能为空
sizeTotal long 下载的字节长度

获取 Job 列表

请求参数(ListJobsRequest
变量名 类型 描述
vaultId String 待查询的Vault的ID
limit int 返回列表的最大长度
marker String 列表的起始标识
接口定义
/**
 * 获取Job列表同步接口
 * @param listJobsRequest 获取Job列表请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public ListJobsResult listJobs(ListJobsRequest listJobsRequest)
    throws OASClientException, OASServerException;

/**
 * 获取Job列表异步接口
 * @param listJobsRequest 获取Job列表请求对象
 * @param handler 异步请求处理器
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> listJobsAsync(
    ListJobsRequest listJobsRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(ListVaultsResult
变量名 类型 描述
marker String 下一次查询的起始标识
vaultList List<VaultDescriptor> Job的JSON描述列表

Job 任务状态查询

请求参数(DescribeJobRequest
变量名 类型 描述
vaultId String 待查询的Job所属Vault的ID
jobId String 待查询的Job的ID
接口定义
/**
 * Job信息查询同步接口
 * @param describeJobRequest Job信息查询请求对象
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public DescribeJobResult describeJob(DescribeJobRequest describeJobRequest)
    throws OASClientException, OASServerException;

/**
 * Job信息查询异步接口
 * @param describeJobRequest Job信息查询请求对象
 * @param handler
 * @return
 * @throws OASClientException
 * @throws OASServerException
 */
public <T> ListenableFuture<T> describeJobAsync(
    DescribeJobRequest describeJobRequest, AsyncHandler<T> handler)
    throws OASClientException, OASServerException;
响应结果(DescribeJobResult
变量名 类型 描述
descriptor JobDescriptor Job的JSON描述

Descriptor

OASDescriptor是服务器返回的JSON数据的封装,以下各个类均是OASDescriptor的子类,本节仅介绍JSON标签与变量名之间的对应关系,每个JSON标签的具体含义请参阅API手册。OASDescriptor的每一个成员变量均带有getter、setter和with方法。

VaultDescriptor

VaultDescriptor是Vault的JSON描述的封装,详见API手册4.1.3节返回体。

JSON标签 变量名 类型
CreationDate creationDate Date
LastInventoryDate lastInventoryDate Date
NumberOfArchives numberOfArchives int
SizeInBytes size long
VaultId vaultId String
VaultName vaultName String

MultipartUploadDescriptor

MultipartUploadDescriptor是Multipart Upload任务的JSON描述的封装,详见API手册4.3.2一节返回体。注意,当调用获取Multipart Upload任务列表接口(API手册4.3.2)时,partList为空列表。partList仅在调用获取Part列表接口(API手册4.3.5)时被设置。

JSON标签 变量名 类型
ArchiveDescription description String
CreationDate creationDate Date
MultipartUploadId uploadId String
PartSizeInBytes partSize long
Parts partList List<PartDescriptor>

PartDescriptor

PartDescriptor是Part的JSON描述的封装,详见API手册4.3.5一节返回体。

JSON标签 变量名 类型
ContentEtag contentEtag String
RangeInBytes range Range

JobDescriptor

JobDescriptor是Job任务的JSON描述的封装,详见API手册4.4.4一节返回体。

JSON标签 变量名 类型
Action action JobType
ArchiveId archiveId String
ArchiveSizeInBytes archiveSize long
ArchiveContentEtag archiveContentEtag String
Completed completed boolean
CompletionDate completionDate Date
CreationDate creationDate Date
InventorySizeInBytes inventorySize long
JobDescription description String
JobId jobId String
StatusCode statusCode JobStatus
StatusMessage statusMessage String

其他类型

JobStatus

枚举,表示Job任务状态,取值为IN_PROGRESSSUCCEEDEDFAILED

JobType

枚举,表示Job任务类型,取值为ARCHIVE_RETRIEVALINVENTORY_RETRIEVAL

Range

类,范围的描述,包含startend两个变量(long

本文导读目录