有奖捉虫:云通信与企业服务文档专题,速来> HOT

简介

本文档提供关于检索对象内容操作相关的 API 概览以及 SDK 示例代码。
API
操作名
操作描述
检索对象内容
从指定对象(CSV 格式或者 JSON 格式)中检索内容

SDK API 参考

SDK 所有接口的具体参数与方法说明,请参考 SDK API 参考

检索对象内容

功能说明

COS Select 支持检索以下格式的对象数据:
CSV 格式:对象以 CSV 格式存储,并以固定的分隔符划分。
JSON 格式:对象以 JSON 格式存储,可以是 JSON 文件或者 JSON 列表。
注意
使用 COS Select,您必须具有 cos:GetObject 的授权。
CSV、JSON 对象需要以 UTF-8 格式编码。
COS Select 支持检索 GZIP 或者 BZIP2 压缩的 CSV、JSON 对象。
COS Select 支持检索 SSE-COS 加密的 CSV、JSON 对象。

示例代码

String bucket = "examplebucket-1250000000";
// 对象必须为 JSON 或者 csv 格式的文件
String cosPath = "exampleobject";
final String expression = "Select * from COSObject";

SelectObjectContentRequest selectObjectContentRequest = new SelectObjectContentRequest(
bucket, cosPath, expression, true,
new InputSerialization(CompressionType.NONE, new JSONInput(JSONType.DOCUMENT)),
new OutputSerialization(new JSONOutput(","))
);

// 设置查询结果回调,可能会回调多次
selectObjectContentRequest.setSelectObjectContentProgressListener(new SelectObjectContentListener() {
@Override
public void onProcess(SelectObjectContentEvent event) {

}
});
cosXmlService.selectObjectContentAsync(selectObjectContentRequest,
new CosXmlResultListener() {
@Override
public void onSuccess(CosXmlRequest request, CosXmlResult result) {
SelectObjectContentResult selectObjectContentResult =
(SelectObjectContentResult) result;
}

// 如果您使用 kotlin 语言来调用,请注意回调方法中的异常是可空的,否则不会回调 onFail 方法,即:
// clientException 的类型为 CosXmlClientException?,serviceException 的类型为 CosXmlServiceException?
@Override
public void onFail(CosXmlRequest cosXmlRequest,
@Nullable CosXmlClientException clientException,
@Nullable CosXmlServiceException serviceException) {
if (clientException != null) {
clientException.printStackTrace();
} else {
serviceException.printStackTrace();
}
}
});
说明
更多完整示例,请前往 GitHub 查看。