bucket_op.h 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651
  1. // Copyright (c) 2017, Tencent Inc.
  2. // All rights reserved.
  3. //
  4. // Author: sevenyou <sevenyou@tencent.com>
  5. // Created: 07/13/17
  6. // Description:
  7. #pragma once
  8. #include "cos_sys_config.h"
  9. #include "op/base_op.h"
  10. #include "op/cos_result.h"
  11. #include "request/bucket_req.h"
  12. #include "request/data_process_req.h"
  13. #include "request/auditing_req.h"
  14. #include "response/bucket_resp.h"
  15. #include "response/data_process_resp.h"
  16. #include "response/auditing_resp.h"
  17. namespace qcloud_cos {
  18. /// \brief 封装了Bucket相关的操作
  19. class BucketOp : public BaseOp {
  20. public:
  21. /// \brief BucketOp构造函数
  22. ///
  23. /// \param cos_conf Cos配置
  24. explicit BucketOp(const SharedConfig& config) : BaseOp(config) {}
  25. /// \brief BucketOp析构函数
  26. virtual ~BucketOp() {}
  27. /// \brief 判断bucket是否存在
  28. bool IsBucketExist(const std::string& bucket_name);
  29. /// \brief 获取Bucket所在Location
  30. std::string GetBucketLocation(const std::string& bucket_name);
  31. /// \brief 创建一个Bucket
  32. /// (详见:https://www.qcloud.com/document/product/436/7738)
  33. ///
  34. /// \param req PutBucket请求
  35. /// \param resp PutBucket返回
  36. ///
  37. /// \return 本次请求的调用情况(如状态码等)
  38. CosResult PutBucket(const PutBucketReq& req, PutBucketResp* resp);
  39. /// \brief 确认Bucket是否存在
  40. /// (详见:https://cloud.tencent.com/document/product/436/7735)
  41. ///
  42. /// \param req HeadBucket请求
  43. /// \param resp HeadBucket返回
  44. ///
  45. /// \return 本次请求的调用情况(如状态码等)
  46. CosResult HeadBucket(const HeadBucketReq& req, HeadBucketResp* resp);
  47. /// \brief 列出Bucket下的部分或者全部Object
  48. /// (详见:https://www.qcloud.com/document/product/436/7734)
  49. ///
  50. /// \param req GetBucket请求
  51. /// \param resp GetBucket返回
  52. ///
  53. /// \return 本次请求的调用情况(如状态码等)
  54. CosResult GetBucket(const GetBucketReq& req, GetBucketResp* resp);
  55. CosResult ListMultipartUpload(const ListMultipartUploadReq& req,
  56. ListMultipartUploadResp* resp);
  57. /// \brief 删除Bucket
  58. ///
  59. /// \param req DeleteBucket请求
  60. /// \param resp DeleteBucket返回
  61. ///
  62. /// \return 本次请求的调用情况(如状态码等)
  63. CosResult DeleteBucket(const DeleteBucketReq& req, DeleteBucketResp* resp);
  64. /// \brief 获得存储桶的版本控制信息
  65. /// (详见:https://cloud.tencent.com/document/product/436/8597)
  66. ///
  67. /// \param req GetBucketVersioning请求
  68. /// \param resp GetBucketVersioning返回
  69. ///
  70. /// \return 本次请求的调用情况(如状态码等)
  71. CosResult GetBucketVersioning(const GetBucketVersioningReq& req,
  72. GetBucketVersioningResp* resp);
  73. /// \brief 启用或者暂停存储桶的版本控制功能
  74. /// (详见:https://cloud.tencent.com/document/product/436/8591)
  75. ///
  76. /// \param req PutBucketVersioning请求
  77. /// \param resp PutBucketVersioning返回
  78. ///
  79. /// \return 本次请求的调用情况(如状态码等)
  80. CosResult PutBucketVersioning(const PutBucketVersioningReq& req,
  81. PutBucketVersioningResp* resp);
  82. /// \brief 列出Bucket下的跨域复制配置
  83. ///
  84. /// \param req GetBucketReplication请求
  85. /// \param resp GetBucketReplication返回
  86. ///
  87. /// \return 本次请求的调用情况(如状态码等)
  88. CosResult GetBucketReplication(const GetBucketReplicationReq& req,
  89. GetBucketReplicationResp* resp);
  90. /// \brief 增加/替换Bucket下的跨域复制配置
  91. ///
  92. /// \param req PutBucketReplication请求
  93. /// \param resp PutBucketReplication返回
  94. ///
  95. /// \return 本次请求的调用情况(如状态码等)
  96. CosResult PutBucketReplication(const PutBucketReplicationReq& req,
  97. PutBucketReplicationResp* resp);
  98. /// \brief 删除Bucket下的跨域复制配置
  99. ///
  100. /// \param req DeleteBucketReplication请求
  101. /// \param resp DeleteBucketReplication返回
  102. ///
  103. /// \return 本次请求的调用情况(如状态码等)
  104. CosResult DeleteBucketReplication(const DeleteBucketReplicationReq& req,
  105. DeleteBucketReplicationResp* resp);
  106. /// \brief 列出Bucket下的生命周期配置
  107. ///
  108. /// \param req GetBucketLifecycle请求
  109. /// \param resp GetBucketLifecycle返回
  110. ///
  111. /// \return 本次请求的调用情况(如状态码等)
  112. CosResult GetBucketLifecycle(const GetBucketLifecycleReq& req,
  113. GetBucketLifecycleResp* resp);
  114. /// \brief 增加/替换Bucket下的生命周期配置
  115. ///
  116. /// \param req PutBucketLifecycle请求
  117. /// \param resp PutBucketLifecycle返回
  118. ///
  119. /// \return 本次请求的调用情况(如状态码等)
  120. CosResult PutBucketLifecycle(const PutBucketLifecycleReq& req,
  121. PutBucketLifecycleResp* resp);
  122. /// \brief 删除Bucket下的生命周期配置
  123. ///
  124. /// \param req DeleteBucketLifecycle请求
  125. /// \param resp DeleteBucketLifecycle返回
  126. ///
  127. /// \return 本次请求的调用情况(如状态码等)
  128. CosResult DeleteBucketLifecycle(const DeleteBucketLifecycleReq& req,
  129. DeleteBucketLifecycleResp* resp);
  130. /// \brief 列出Bucket下的ACL
  131. ///
  132. /// \param req GetBucketACL请求
  133. /// \param resp GetBucketACL返回
  134. ///
  135. /// \return 本次请求的调用情况(如状态码等)
  136. CosResult GetBucketACL(const GetBucketACLReq& req, GetBucketACLResp* resp);
  137. /// \brief 增加/替换Bucket下的ACL, 可以通过Header或者Body传入ACL信息
  138. /// 注意Header 和 Body 只能选择其中一种,否则响应返回会冲突
  139. ///
  140. /// \param req PutBucketACL请求
  141. /// \param resp PutBucketACL返回
  142. ///
  143. /// \return 本次请求的调用情况(如状态码等)
  144. CosResult PutBucketACL(const PutBucketACLReq& req, PutBucketACLResp* resp);
  145. /// \brief 获取Bucket的权限策略
  146. ///
  147. /// \param req GetBucketPolicy请求
  148. /// \param resp GetBucketPolicy返回
  149. ///
  150. /// \return 本次请求的调用情况(如状态码等)
  151. CosResult GetBucketPolicy(const GetBucketPolicyReq& req, GetBucketPolicyResp* resp);
  152. /// \brief 写入/替换Bucket的权限策略,通过Body传入
  153. ///
  154. /// \param req PutBucketPolicy请求
  155. /// \param resp PutBucketPolicy返回
  156. ///
  157. /// \return 本次请求的调用情况(如状态码等)
  158. CosResult PutBucketPolicy(const PutBucketPolicyReq& req, PutBucketPolicyResp* resp);
  159. /// \brief 删除Bucket的权限策略
  160. ///
  161. /// \param req DeleteBucketPolicy请求
  162. /// \param resp DeleteBucketPolicy返回
  163. ///
  164. /// \return 本次请求的调用情况(如状态码等)
  165. CosResult DeleteBucketPolicy(const DeleteBucketPolicyReq& req, DeleteBucketPolicyResp* resp);
  166. /// \brief 列出Bucket下的CORS
  167. ///
  168. /// \param req GetBucketCORS请求
  169. /// \param resp GetBucketCORS返回
  170. ///
  171. /// \return 本次请求的调用情况(如状态码等)
  172. CosResult GetBucketCORS(const GetBucketCORSReq& req, GetBucketCORSResp* resp);
  173. /// \brief 增加/替换Bucket下的CORS
  174. ///
  175. /// \param req PutBucketCORS请求
  176. /// \param resp PutBucketCORS返回
  177. ///
  178. /// \return 本次请求的调用情况(如状态码等)
  179. CosResult PutBucketCORS(const PutBucketCORSReq& req, PutBucketCORSResp* resp);
  180. /// \brief 删除Bucket下的CORS
  181. ///
  182. /// \param req DeleteBucketCORS请求
  183. /// \param resp DeleteBucketCORS返回
  184. ///
  185. /// \return 本次请求的调用情况(如状态码等)
  186. CosResult DeleteBucketCORS(const DeleteBucketCORSReq& req,
  187. DeleteBucketCORSResp* resp);
  188. /// \brief 列出Bucket下的部分或者全部Object(包括多版本)
  189. ///
  190. /// \param req GetBucketObjectVersions请求
  191. /// \param resp GetBucketObjectVersions返回
  192. ///
  193. /// \return 本次请求的调用情况(如状态码等)
  194. CosResult GetBucketObjectVersions(const GetBucketObjectVersionsReq& req,
  195. GetBucketObjectVersionsResp* resp);
  196. /// \brief 获取Bucket所在Location
  197. ///
  198. /// \param req GetBucketLocation请求
  199. /// \param resp GetBucketLocation返回
  200. ///
  201. /// \return 本次请求的调用情况(如状态码等)
  202. CosResult GetBucketLocation(const GetBucketLocationReq& req,
  203. GetBucketLocationResp* resp);
  204. // TODO(sevenyou)
  205. // std::string ListMultipartUploads();
  206. /// \brief 为源存储桶开启日志记录
  207. /// \brief https://cloud.tencent.com/document/product/436/17054
  208. /// \param req PutBucketLogging请求
  209. /// \param resp PutBucketLogging返回
  210. ///
  211. /// \return 本次请求的调用情况(如状态码等)
  212. CosResult PutBucketLogging(const PutBucketLoggingReq& req,
  213. PutBucketLoggingResp* resp);
  214. /// \brief 用于获取源存储桶的日志配置信息
  215. /// \brief https://cloud.tencent.com/document/product/436/17053
  216. /// \param req GetBucketLogging请求
  217. /// \param resp GetBucketLogging返回
  218. ///
  219. /// \return 本次请求的调用情况(如状态码等)
  220. CosResult GetBucketLogging(const GetBucketLoggingReq& req,
  221. GetBucketLoggingResp* resp);
  222. /// \brief 用于存储桶绑定自定义域名
  223. /// \brief
  224. /// \param req PutBucketDomain请求
  225. /// \param resp PutBucketDomain返回
  226. ///
  227. /// \return 本次请求的调用情况(如状态码等)
  228. CosResult PutBucketDomain(const PutBucketDomainReq& req,
  229. PutBucketDomainResp* resp);
  230. /// \brief 用于获取存储桶绑定自定义域名
  231. /// \brief
  232. /// \param req GetBucketDomain请求
  233. /// \param resp GetBucketDomain返回
  234. ///
  235. /// \return 本次请求的调用情况(如状态码等)
  236. CosResult GetBucketDomain(const GetBucketDomainReq& req,
  237. GetBucketDomainResp* resp);
  238. /// \brief 存储桶配置静态网站,通过传入 XML
  239. /// 格式的配置文件进行配置,文件大小限制为64KB \brief
  240. /// https://cloud.tencent.com/document/product/436/31930 \param req
  241. /// PutBucketWebsite请求 \param resp PutBucketWebsite返回
  242. ///
  243. /// \return 本次请求的调用情况(如状态码等)
  244. CosResult PutBucketWebsite(const PutBucketWebsiteReq& req,
  245. PutBucketWebsiteResp* resp);
  246. /// \brief 获取与存储桶关联的静态网站配置信息.
  247. /// \brief https://cloud.tencent.com/document/product/436/31929
  248. /// \param req GetBucketWebsite请求
  249. /// \param resp GetBucketWebsite返回
  250. ///
  251. /// \return 本次请求的调用情况(如状态码等)
  252. CosResult GetBucketWebsite(const GetBucketWebsiteReq& req,
  253. GetBucketWebsiteResp* resp);
  254. /// \brief 删除存储桶中的静态网站配置.
  255. /// \brief https://cloud.tencent.com/document/product/436/31928
  256. /// \param req DeleteBucketWebsite请求
  257. /// \param resp DeleteBucketWebsite返回
  258. ///
  259. /// \return 本次请求的调用情况(如状态码等)
  260. CosResult DeleteBucketWebsite(const DeleteBucketWebsiteReq& req,
  261. DeleteBucketWebsiteResp* resp);
  262. /// \brief 为已存在的Bucket设置标签.
  263. /// \brief https://cloud.tencent.com/document/product/436/34838
  264. /// \param req PutBucketTagging请求
  265. /// \param resp PutBucketTagging返回
  266. ///
  267. /// \return 本次请求的调用情况(如状态码等)
  268. CosResult PutBucketTagging(const PutBucketTaggingReq& req,
  269. PutBucketTaggingResp* resp);
  270. /// \brief 查询指定存储桶下已有的存储桶标签.
  271. /// \brief https://cloud.tencent.com/document/product/436/34837
  272. /// \param req GetBucketTagging请求
  273. /// \param resp GetBucketTagging返回
  274. ///
  275. /// \return 本次请求的调用情况(如状态码等)
  276. CosResult GetBucketTagging(const GetBucketTaggingReq& req,
  277. GetBucketTaggingResp* resp);
  278. /// \brief 删除指定存储桶下已有的存储桶标签.
  279. /// \brief https://cloud.tencent.com/document/product/436/34836
  280. /// \param req DeleteBucketTagging请求
  281. /// \param resp DeleteBucketTagging返回
  282. ///
  283. /// \return 本次请求的调用情况(如状态码等)
  284. CosResult DeleteBucketTagging(const DeleteBucketTaggingReq& req,
  285. DeleteBucketTaggingResp* resp);
  286. /// \brief 用于在存储桶中创建清单任务.
  287. /// \brief https://cloud.tencent.com/document/product/436/33707
  288. /// \param req PutBucketinventory请求
  289. /// \param resp PutBucketinventory返回
  290. ///
  291. /// \return 本次请求的调用情况(如状态码等)
  292. CosResult PutBucketInventory(const PutBucketInventoryReq& req,
  293. PutBucketInventoryResp* resp);
  294. /// \brief 查询存储桶中用户的清单任务信息.
  295. /// \brief https://cloud.tencent.com/document/product/436/33705
  296. /// \param req GetBucketinventory请求
  297. /// \param resp GetBucketinventory返回
  298. ///
  299. /// \return 本次请求的调用情况(如状态码等)
  300. CosResult GetBucketInventory(const GetBucketInventoryReq& req,
  301. GetBucketInventoryResp* resp);
  302. /// \brief 请求返回一个存储桶中的所有清单任务.
  303. /// \brief https://cloud.tencent.com/document/product/436/33706
  304. /// \param req ListBucketInventoryConfigurations请求
  305. /// \param resp ListBucketInventoryConfigurations返回
  306. ///
  307. /// \return 本次请求的调用情况(如状态码等)
  308. CosResult ListBucketInventoryConfigurations(
  309. const ListBucketInventoryConfigurationsReq& req,
  310. ListBucketInventoryConfigurationsResp* resp);
  311. /// \brief 用于删除存储桶中指定的清单任务.
  312. /// \brief https://cloud.tencent.com/document/product/436/33704
  313. /// \param req DeleteBucketinventory请求
  314. /// \param resp DeleteBucketinventory返回
  315. ///
  316. /// \return 本次请求的调用情况(如状态码等)
  317. CosResult DeleteBucketInventory(const DeleteBucketInventoryReq& req,
  318. DeleteBucketInventoryResp* resp);
  319. /// \brief 用于为存储桶设置 Referer 白名单或者黑名单.
  320. /// \brief https://cloud.tencent.com/document/product/436/32492
  321. /// \param req PutBucketReferer请求
  322. /// \param resp PutBucketReferer响应
  323. ///
  324. /// \return 本次请求的调用情况(如状态码等)
  325. CosResult PutBucketReferer(const PutBucketRefererReq& req,
  326. PutBucketRefererResp* resp);
  327. /// \brief 读取存储桶 Referer 白名单或者黑名单.
  328. /// \brief https://cloud.tencent.com/document/product/436/32493
  329. /// \param req GetBucketReferer请求
  330. /// \param resp GetBucketReferer响应
  331. ///
  332. /// \return 本次请求的调用情况(如状态码等)
  333. CosResult GetBucketReferer(const GetBucketRefererReq& req,
  334. GetBucketRefererResp* resp);
  335. /// \brief 列举直播通道
  336. /// \param req ListLiveChannelReq请求
  337. /// \param resp ListLiveChannelResp返回
  338. ///
  339. /// \return 本次请求的调用情况(如状态码等)
  340. CosResult ListLiveChannel(const ListLiveChannelReq& req,
  341. ListLiveChannelResp* resp);
  342. /// \brief 配置存储桶智能分层
  343. ///
  344. /// \param req PutBucketIntelligentTiering请求
  345. /// \param resp PutBucketIntelligentTiering返回
  346. ///
  347. /// \return 本次请求的调用情况(如状态码等)
  348. CosResult PutBucketIntelligentTiering(
  349. const PutBucketIntelligentTieringReq& req,
  350. PutBucketIntelligentTieringResp* resp);
  351. /// \brief 获取存储桶智能分层配置
  352. ///
  353. /// \param req GetBucketIntelligentTiering请求
  354. /// \param resp GetBucketIntelligentTiering返回
  355. ///
  356. /// \return 本次请求的调用情况(如状态码等)
  357. CosResult GetBucketIntelligentTiering(
  358. const GetBucketIntelligentTieringReq& req,
  359. GetBucketIntelligentTieringResp* resp);
  360. /// \brief 存储桶绑定ci
  361. ///
  362. /// \param req PutBucketToCIReq请求
  363. /// \param resp PutBucketToCIResp返回
  364. ///
  365. /// \return 本次请求的调用情况(如状态码等)
  366. CosResult PutBucketToCI(const PutBucketToCIReq& req,
  367. PutBucketToCIResp* resp);
  368. /// \brief 开通文档预览
  369. /// \param req CreateDocBucket请求
  370. /// \param resp CreateDocBucket返回
  371. ///
  372. /// \return 本次请求的调用情况(如状态码等)
  373. CosResult CreateDocBucket(const CreateDocBucketReq& req,
  374. CreateDocBucketResp* resp);
  375. /// \brief 提交文档转码任务
  376. /// \brief https://cloud.tencent.com/document/product/436/54056
  377. /// \param req CreateDocProcessJobs请求
  378. /// \param resp CreateDocProcessJobs返回
  379. ///
  380. /// \return 本次请求的调用情况(如状态码等)
  381. CosResult CreateDocProcessJobs(const CreateDocProcessJobsReq& req,
  382. CreateDocProcessJobsResp* resp);
  383. /// \brief 查询指定的文档转码任务
  384. /// \brief https://cloud.tencent.com/document/product/436/54095
  385. /// \param req DescribeDocProcessJob请求
  386. /// \param resp DescribeDocProcessJob返回
  387. ///
  388. /// \return 本次请求的调用情况(如状态码等)
  389. CosResult DescribeDocProcessJob(const DescribeDocProcessJobReq& req,
  390. DescribeDocProcessJobResp* resp);
  391. /// \brief 拉取符合条件的的文档转码任务
  392. /// \brief https://cloud.tencent.com/document/product/436/54096
  393. /// \param req DescribeDocProcessJobs请求
  394. /// \param resp DescribeDocProcessJobs返回
  395. ///
  396. /// \return 本次请求的调用情况(如状态码等)
  397. CosResult DescribeDocProcessJobs(const DescribeDocProcessJobsReq& req,
  398. DescribeDocProcessJobsResp* resp);
  399. /// \brief 查询文档转码队列
  400. /// \brief https://cloud.tencent.com/document/product/436/54055
  401. /// \param req DescribeDocProcessQueues请求
  402. /// \param resp DescribeDocProcessQueues返回
  403. ///
  404. /// \return 本次请求的调用情况(如状态码等)
  405. CosResult DescribeDocProcessQueues(const DescribeDocProcessQueuesReq& req,
  406. DescribeDocProcessQueuesResp* resp);
  407. /// \brief 更新文档转码队列
  408. /// \brief https://cloud.tencent.com/document/product/436/54094
  409. /// \param req UpdateDocProcessQueue请求
  410. /// \param resp UpdateDocProcessQueue返回
  411. ///
  412. /// \return 本次请求的调用情况(如状态码等)
  413. CosResult UpdateDocProcessQueue(const UpdateDocProcessQueueReq& req,
  414. UpdateDocProcessQueueResp* resp);
  415. /// \brief 查询媒体处理开通状态
  416. /// \brief https://cloud.tencent.com/document/product/436/48988
  417. /// \param req DescribeMediaBuckets请求
  418. /// \param resp DescribeMediaBuckets返回
  419. ///
  420. /// \return 本次请求的调用情况(如状态码等)
  421. CosResult DescribeMediaBuckets(const DescribeMediaBucketsReq& req,
  422. DescribeMediaBucketsResp* resp);
  423. /// \brief 开通媒体处理
  424. /// \brief https://cloud.tencent.com/document/product/436/72824
  425. /// \param req CreateMediaBucketReq请求
  426. /// \param resp CreateMediaBucketResp返回
  427. ///
  428. /// \return 本次请求的调用情况(如状态码等)
  429. CosResult CreateMediaBucket(const CreateMediaBucketReq& req,
  430. CreateMediaBucketResp* resp);
  431. /// \brief 获取媒体文件信息
  432. /// \brief https://cloud.tencent.com/document/product/436/55672
  433. /// \param req GetMediainfo请求
  434. /// \param resp GetMediainfo返回
  435. ///
  436. /// \return 本次请求的调用情况(如状态码等)
  437. CosResult GetMediainfo(const GetMediaInfoReq& req, GetMediaInfoResp* resp);
  438. /// \brief 搜索媒体处理队列
  439. /// \brief https://cloud.tencent.com/document/product/436/54045
  440. /// \param req DescribeMediaQueues请求
  441. /// \param resp DescribeMediaQueues返回
  442. ///
  443. /// \return 本次请求的调用情况(如状态码等)
  444. CosResult DescribeMediaQueues(const DescribeMediaQueuesReq& req, DescribeQueuesResp* resp);
  445. /// \brief 更新媒体处理队列
  446. /// \brief https://cloud.tencent.com/document/product/436/54046
  447. /// \param req UpdateMediaQueue请求
  448. /// \param resp UpdateMediaQueue返回
  449. ///
  450. /// \return 本次请求的调用情况(如状态码等)
  451. CosResult UpdateMediaQueue(const UpdateMediaQueueReq& req,
  452. UpdateQueueResp* resp);
  453. /// \brief 提交数据处理任务
  454. /// \brief https://cloud.tencent.com/document/product/436/83110
  455. /// \param req CreateFileProcessJobs请求
  456. /// \param resp CreateFileProcessJobs返回
  457. ///
  458. /// \return 本次请求的调用情况(如状态码等)
  459. CosResult CreateDataProcessJobs(const CreateDataProcessJobsReq& req,
  460. CreateDataProcessJobsResp* resp);
  461. /// \brief 取消数据处理任务
  462. /// \brief https://cloud.tencent.com/document/product/436/85082
  463. /// \param req CancelFileProcessJobs请求
  464. /// \param resp CancelFileProcessJobs返回
  465. ///
  466. /// \return 本次请求的调用情况(如状态码等)
  467. CosResult CancelDataProcessJob(const CancelDataProcessJobReq& req,
  468. CancelDataProcessJobResp* resp);
  469. /// \brief 提交数据处理任务
  470. /// \param req DescribeDataProcessJobs请求
  471. /// \param resp DescribeDataProcessJobs返回
  472. ///
  473. /// \return 本次请求的调用情况(如状态码等)
  474. CosResult DescribeDataProcessJob(const DescribeDataProcessJobReq& req,
  475. DescribeDataProcessJobResp* resp);
  476. /// \brief 图片批量审核
  477. /// \brief https://cloud.tencent.com/document/product/436/63593
  478. /// \param req BatchImageAuditing请求
  479. /// \param resp BatchImageAuditing返回
  480. ///
  481. /// \return 本次请求的调用情况(如状态码等)
  482. CosResult BatchImageAuditing(const BatchImageAuditingReq& req,
  483. BatchImageAuditingResp* resp);
  484. /// \brief 查询图片审核任务结果
  485. /// \brief https://cloud.tencent.com/document/product/436/68904
  486. /// \param req DescribeImageAuditingJob请求
  487. /// \param resp DescribeImageAuditingJob返回
  488. ///
  489. /// \return 本次请求的调用情况(如状态码等)
  490. CosResult DescribeImageAuditingJob(const DescribeImageAuditingJobReq& req,
  491. DescribeImageAuditingJobResp* resp);
  492. /// \brief 提交视频审核任务
  493. /// \brief https://cloud.tencent.com/document/product/436/47316
  494. /// \param req DescribeVideoAuditingJob请求
  495. /// \param resp DescribeVideoAuditingJob返回
  496. ///
  497. /// \return 本次请求的调用情况(如状态码等)
  498. CosResult CreateVideoAuditingJob(const CreateVideoAuditingJobReq& req,
  499. CreateVideoAuditingJobResp* resp);
  500. /// \brief 查询视频审核任务结果
  501. /// \brief https://cloud.tencent.com/document/product/436/47317
  502. /// \param req DescribeVideoAuditingJob请求
  503. /// \param resp DescribeVideoAuditingJob返回
  504. ///
  505. /// \return 本次请求的调用情况(如状态码等)
  506. CosResult DescribeVideoAuditingJob(const DescribeVideoAuditingJobReq& req,
  507. DescribeVideoAuditingJobResp* resp);
  508. /// \brief 提交音频审核任务
  509. /// \brief https://cloud.tencent.com/document/product/436/54063
  510. /// \param req DescribeAudioAuditingJob请求
  511. /// \param resp DescribeAudioAuditingJob返回
  512. ///
  513. /// \return 本次请求的调用情况(如状态码等)
  514. CosResult CreateAudioAuditingJob(const CreateAudioAuditingJobReq& req,
  515. CreateAudioAuditingJobResp* resp);
  516. /// \brief 查询音频审核任务结果
  517. /// \brief https://cloud.tencent.com/document/product/436/54064
  518. /// \param req DescribeAudioAuditingJob请求
  519. /// \param resp DescribeAudioAuditingJob返回
  520. ///
  521. /// \return 本次请求的调用情况(如状态码等)
  522. CosResult DescribeAudioAuditingJob(const DescribeAudioAuditingJobReq& req,
  523. DescribeAudioAuditingJobResp* resp);
  524. /// \brief 提交文本审核任务
  525. /// \brief https://cloud.tencent.com/document/product/436/56289
  526. /// \param req DescribeTextAuditingJob请求
  527. /// \param resp DescribeTextAuditingJob返回
  528. ///
  529. /// \return 本次请求的调用情况(如状态码等)
  530. CosResult CreateTextAuditingJob(const CreateTextAuditingJobReq& req,
  531. CreateTextAuditingJobResp* resp);
  532. /// \brief 查询文本审核任务结果
  533. /// \brief https://cloud.tencent.com/document/product/436/56288
  534. /// \param req DescribeTextAuditingJob请求
  535. /// \param resp DescribeTextAuditingJob返回
  536. ///
  537. /// \return 本次请求的调用情况(如状态码等)
  538. CosResult DescribeTextAuditingJob(const DescribeTextAuditingJobReq& req,
  539. DescribeTextAuditingJobResp* resp);
  540. /// \brief 提交文档审核任务
  541. /// \brief https://cloud.tencent.com/document/product/436/59381
  542. /// \param req DescribeDocumentAuditingJob请求
  543. /// \param resp DescribeDocumentAuditingJob返回
  544. ///
  545. /// \return 本次请求的调用情况(如状态码等)
  546. CosResult CreateDocumentAuditingJob(const CreateDocumentAuditingJobReq& req,
  547. CreateDocumentAuditingJobResp* resp);
  548. /// \brief 查询文档审核任务结果
  549. /// \brief https://cloud.tencent.com/document/product/436/59382
  550. /// \param req DescribeDocumentAuditingJob请求
  551. /// \param resp DescribeDocumentAuditingJob返回
  552. ///
  553. /// \return 本次请求的调用情况(如状态码等)
  554. CosResult DescribeDocumentAuditingJob(const DescribeDocumentAuditingJobReq& req,
  555. DescribeDocumentAuditingJobResp* resp);
  556. /// \brief 提交网页审核任务
  557. /// \brief https://cloud.tencent.com/document/product/436/63958
  558. /// \param req DescribeWebPageAuditingJob请求
  559. /// \param resp DescribeWebPageAuditingJob返回
  560. ///
  561. /// \return 本次请求的调用情况(如状态码等)
  562. CosResult CreateWebPageAuditingJob(const CreateWebPageAuditingJobReq& req,
  563. CreateWebPageAuditingJobResp* resp);
  564. /// \brief 查询网页审核任务结果
  565. /// \brief https://cloud.tencent.com/document/product/436/63959
  566. /// \param req DescribeWebPageAuditingJob请求
  567. /// \param resp DescribeWebPageAuditingJob返回
  568. ///
  569. /// \return 本次请求的调用情况(如状态码等)
  570. CosResult DescribeWebPageAuditingJob(const DescribeWebPageAuditingJobReq& req,
  571. DescribeWebPageAuditingJobResp* resp);
  572. private:
  573. /// \brief 处理CI请求
  574. CosResult ProcessReq(const BucketReq& req, BaseResp* resp,
  575. bool is_ci_req = false);
  576. };
  577. } // namespace qcloud_cos