tencent cloud

文档反馈

检索对象内容

最后更新时间:2022-01-23 14:39:50

    简介

    本文档提供关于检索对象内容操作相关的 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 查看。

    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持