控制台指南

最佳实践

开发者指南

数据湖存储

API 文档

SDK 文档

数据库文档捉虫大赛邀您参加,好礼多多> HOT

简介

本文档提供关于检索对象内容操作相关的 API 概览以及 SDK 示例代码。

API 操作名 操作描述
SELECT Object Content 检索对象内容 从指定对象(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 查看。

目录