检索对象内容

最后更新时间:2020-08-25 17:48:20

    简介

    本文档提供关于检索对象内容操作相关的 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;
        }
    
        @Override
        public void onFail(CosXmlRequest cosXmlRequest,
                           CosXmlClientException clientException,
                           CosXmlServiceException serviceException) {
            if (clientException != null) {
                clientException.printStackTrace();
            } else {
                serviceException.printStackTrace();
            }
        }
    });

    说明:

    更多完整示例,请前往 GitHub 查看。

    Was this page helpful?

    本页内容是否解决了您的问题?

    • 完全没帮助
    • 文档较差
    • 文档一般
    • 文档不错
    • 文档很好
    反馈
    帮助