详情页标题前

腾讯云对象存储检索对象内容

详情页1

简介

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

示例代码

QCloudSelectObjectContentRequest *request = [QCloudSelectObjectContentRequest new];// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketrequest.bucket = @"examplebucket-1250000000";// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "dir1/object1"request.object = @"exampleobject";request.selectType = @"2";// 选择文件 配置QCloudSelectObjectContentConfig *config= [QCloudSelectObjectContentConfig new];/**SQL 表达式,代表您需要发起的检索操作。例如SELECT s._1 FROM COSObject s。 这个表达式可以从 CSV 格式的对象中检索第一列内容。有关 SQL 表达式的详细介绍, 请参见 (Select)[https://cloud.tencent.com/document/product/436/37636] 命令*/config.express = @"select * from COSObject";/**表达式类型,该项为扩展项,目前只支持 SQL 表达式,仅支持 SQL 参数*/config.expressionType = QCloudExpressionTypeSQL;/** 描述待检索对象的格式 */QCloudInputSerialization *inputS = [QCloudInputSerialization new];inputS.compressionType = QCloudCOSXMLCompressionTypeNONE;/**描述在JSON对象格式下所需的文件参数。*/QCloudSerializationJSON *inputJson = [QCloudSerializationJSON new];/**    SON 文件的类型:    DOCUMENT 表示 JSON 文件仅包含一个独立的 JSON 对象,且该对象可以被切割成多行    LINES 表示 JSON 对象中的每一行包含了一个独立的 JSON 对象    合法值为 DOCUMENT 、LINES    */inputJson.type = QCloudInputJSONFileTypeDocument;inputS.serializationJSON = inputJson;config.inputSerialization = inputS;/** 描述检索结果的输出格式 */QCloudOutputSerialization *outputS = [QCloudOutputSerialization new];
QCloudSerializationJSON *outputJson = [QCloudSerializationJSON new];/** 将输出结果中的记录分隔为不同行的字符,默认通过\n进行分隔。您可以指定任意8进制字符, 如逗号、分号、Tab 等。该参数最多支持2个字节,即您可以输入\r\n这类格式的分隔符。默认值为\n */outputJson.outputRecordDelimiter = @"\n";/** 描述在JSON对象格式下所需的文件参数。 */outputS.serializationJSON = outputJson;
config.outputSerialization = outputS;/** 是否需要返回查询进度 QueryProgress 信息,如果选中 COS Select 将周期性返回查询进度 */QCloudRequestProgress *requestProgress = [QCloudRequestProgress new];requestProgress.enabled = @"FALSE";config.requestProgress =requestProgress;request.selectObjectContentConfig = config;/** 文件存储在本地的路径 */request.downloadingURL = [NSURL fileURLWithPath:QCloudFileInSubPath(@"test", @"2.json")];[request setDownProcessBlock:^(int64_t bytesDownload, int64_t totalBytesDownload, int64_t totalBytesExpectedToDownload) { NSLog(@"⏬⏬⏬⏬DOWN [Total]%lld [Downloaded]%lld [Download]%lld", totalBytesExpectedToDownload, totalBytesDownload, bytesDownload);}];
[request setFinishBlock:^(id _Nonnull result, NSError * _Nonnull error) { NSLog(@"result = %@",result);}];[[QCloudCOSXMLService defaultCOSXML] SelectObjectContent:request];

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

let request = QCloudSelectObjectContentRequest.init();// 存储桶名称,由BucketName-Appid 组成,可以在COS控制台查看 https://console.cloud.tencent.com/cos5/bucketrequest.bucket = "examplebucket-1250000000";// 对象键,是对象在 COS 上的完整路径,如果带目录的话,格式为 "dir1/object1"request.object = "exampleobject";//代表这一接口的版本信息request.selectType = "2";// 选择文件 配置let config = QCloudSelectObjectContentConfig();/**SQL 表达式,代表您需要发起的检索操作。例如SELECT s._1 FROM COSObject s。 这个表达式可以从 CSV 格式的对象中检索第一列内容。有关 SQL 表达式的详细介绍, 请参见 (Select)[https://cloud.tencent.com/document/product/436/37636] 命令*/
config.express = "Select * from COSObject";/**表达式类型,该项为扩展项,目前只支持 SQL 表达式,仅支持 SQL 参数*/config.expressionType = .SQL;
/** 描述待检索对象的格式 */let inputS = QCloudInputSerialization();inputS.compressionType = .NONE;/** 描述在JSON对象格式下所需的文件参数。 */let inputJson = QCloudSerializationJSON.init();/** SON 文件的类型: DOCUMENT 表示 JSON 文件仅包含一个独立的 JSON 对象,且该对象可以被切割成多行 LINES 表示 JSON 对象中的每一行包含了一个独立的 JSON 对象 合法值为 DOCUMENT 、LINES */inputJson.type = .document;
inputS.serializationJSON = inputJson;
config.inputSerialization = inputS;
/** 描述检索结果的输出格式 */let outputS = QCloudOutputSerialization.init();
let outputJson = QCloudSerializationJSON.init();/** 将输出结果中的记录分隔为不同行的字符,默认通过\n进行分隔。您可以指定任意8进制字符, 如逗号、分号、Tab 等。该参数最多支持2个字节,即您可以输入\r\n这类格式的分隔符。默认值为\n */outputJson.outputRecordDelimiter = "\n";outputS.serializationJSON = outputJson;
config.outputSerialization = outputS;/** 是否需要返回查询进度 QueryProgress 信息,如果选中 COS Select 将周期性返回查询进度 */let requestProgress = QCloudRequestProgress.init();requestProgress.enabled = "FALSE";config.requestProgress = requestProgress;request.selectObjectContentConfig = config;//文件在本地的存储路径request.downloadingURL = NSURL.fileURL(withPath: QCloudFileInSubPath("test", "2.json"));request.finishBlock = {(result,error) in if error != nil{ print(error!) }else{ print(result!); } }
QCloudCOSXMLService.defaultCOSXML().selectObjectContent(request);

说明更多完整示例,请前往 GitHub 查看。
对象存储官网1折活动,限时活动,即将结束,速速收藏
同尘科技腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利。同意关联立享优惠

转转请注明出处:https://www.yunxiaoer.com/145654.html

(0)
上一篇 2023年12月9日
下一篇 2023年12月9日
详情页2

相关推荐

  • 腾讯云容器服务DaemonSet 管理同尘科技

    简介 DaemonSet 主要用于部署常驻集群内的后台程序,例如节点的日志采集。DaemonSet 保证在所有或部分节点上均运行指定的 Pod。 新节点添加到集群内时,也会有自动部署 Pod;节点被移除集群后,Pod 将自动回收。 调度说明 若配置了 Pod 的 nodeSelector 或 affinity 参数,DaemonSet 管理的 Pod 将按照…

    2023年12月9日
  • 腾讯云对象存储防盗链

    简介 本文档提供关于存储桶 Referer 白名单或者黑名单的 API 概览以及 SDK 示例代码。注意 需要v5.5.0 及以上版本。 API 操作名 操作描述 PUT Bucket referer 设置存储桶 Referer 设置存储桶 Referer 白名单或者黑名单 GET Bucket referer 查询存储桶 Referer 查询存储桶 Ref…

    腾讯云 2023年12月9日
  • 信息流广告,信息流部分建议宽度830px,只针对默认列表样式,顺序随机
  • 阿里云日志服务SLS普通消费-云淘科技

    日志服务提供多语言SDK,且都支持日志服务消费接口。本文介绍普通消费日志的SDK示例及控制台的消费预览功能。 SDK消费 本示例中,创建一个PullLogsDemo.java文件,并调用接口读取日志数据,完成普通消费的演示。示例如下所示。关于日志服务SDK的更多信息,请参见日志服务SDK参考。 import com.aliyun.openservices.l…

    2023年12月10日
  • 腾讯云TDSQL-C MySQL版实例管理简介

    本文为您介绍什么是实例,如何查看实例列表以及您可对实例进行的操作。 实例介绍 实例是腾讯云上的数据库资源,TDSQL-C MySQL 版最基本的管理单元为集群,一个集群中可以包含多个实例,其中有读写实例和只读实例。集群下的实例类型和支持创建的数量等说明如下: 集群下包含的实例类型 可创建数量 支持 IP 读写实例 1 默认开启读写内网地址,可手动开启读写外网…

    2023年12月9日
  • 腾讯云云点播移动端播放问题

    本文主要介绍 Android 与 iOS 端几类常见问题及相应解决方案。 出现“no v4 play info”异常? 通过 FileId 播放时,需要首先使用 Adaptive-HLS(10) 转码模板对视频进行转码,或者使用播放器签名 psign 指定播放的视频,否则可能导致视频播放失败。在未开启防盗链进行播放的过程中,如果出现了“no v4 play …

    腾讯云 2023年12月9日

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
本站为广大会员提供阿里云、腾讯云、华为云、百度云等一线大厂的购买,续费优惠,保证底价,买贵退差。