Skip to content

Commit d14138c

Browse files
authored
Merge pull request #203 from 563750789/master
add metaInsight API
2 parents d5853a5 + 1d4de5e commit d14138c

File tree

74 files changed

+3457
-53
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

74 files changed

+3457
-53
lines changed

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
<modelVersion>4.0.0</modelVersion>
55
<groupId>com.qcloud</groupId>
66
<artifactId>cos_api</artifactId>
7-
<version>5.6.218</version>
7+
<version>5.6.219.1</version>
88
<packaging>jar</packaging>
99
<name>cos-java-sdk</name>
1010
<description>java sdk for qcloud cos</description>

src/main/java/com/qcloud/cos/COS.java

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,8 +51,7 @@
5151
import com.qcloud.cos.model.ciModel.job.v2.*;
5252
import com.qcloud.cos.model.ciModel.mediaInfo.MediaInfoRequest;
5353
import com.qcloud.cos.model.ciModel.mediaInfo.MediaInfoResponse;
54-
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetRequest;
55-
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetResponse;
54+
import com.qcloud.cos.model.ciModel.metaInsight.*;
5655
import com.qcloud.cos.model.ciModel.persistence.AIGameRecResponse;
5756
import com.qcloud.cos.model.ciModel.persistence.CIUploadResult;
5857
import com.qcloud.cos.model.ciModel.persistence.AIRecRequest;
@@ -3247,6 +3246,8 @@ SelectObjectContentResult selectObjectContent(SelectObjectContentRequest selectR
32473246

32483247
ZipPreviewResponse zipPreview(ZipPreviewRequest request);
32493248

3249+
GoodsMattingResponse goodsMatting(GoodsMattingRequest customRequest);
3250+
32503251
CreateHLSPlayKeyResponse createHLSPlayKey(CreateHLSPlayKeyRequest customRequest);
32513252

32523253
GetHLSPlayKeyResponse getHLSPlayKey(GetHLSPlayKeyRequest customRequest);
@@ -3260,6 +3261,36 @@ SelectObjectContentResult selectObjectContent(SelectObjectContentRequest selectR
32603261
RecognizeLogoResponse recognizeLogo(RecognizeLogoRequest customRequest);
32613262

32623263
CreateDatasetResponse createDataset(CreateDatasetRequest customRequest);
3264+
3265+
CreateDatasetBindingResponse createDatasetBinding(CreateDatasetBindingRequest customRequest);
3266+
3267+
CreateFileMetaIndexResponse createFileMetaIndex(CreateFileMetaIndexRequest customRequest);
3268+
3269+
DatasetFaceSearchResponse datasetFaceSearch(DatasetFaceSearchRequest customRequest);
3270+
3271+
DatasetSimpleQueryResponse datasetSimpleQuery(DatasetSimpleQueryRequest customRequest);
3272+
3273+
DeleteDatasetResponse deleteDataset(DeleteDatasetRequest customRequest);
3274+
3275+
DeleteDatasetBindingResponse deleteDatasetBinding(DeleteDatasetBindingRequest customRequest);
3276+
3277+
DeleteFileMetaIndexResponse deleteFileMetaIndex(DeleteFileMetaIndexRequest customRequest);
3278+
3279+
DescribeDatasetResponse describeDataset(DescribeDatasetRequest customRequest);
3280+
3281+
DescribeDatasetBindingResponse describeDatasetBinding(DescribeDatasetBindingRequest customRequest);
3282+
3283+
DescribeDatasetBindingsResponse describeDatasetBindings(DescribeDatasetBindingsRequest customRequest);
3284+
3285+
DescribeDatasetsResponse describeDatasets(DescribeDatasetsRequest customRequest);
3286+
3287+
DescribeFileMetaIndexResponse describeFileMetaIndex(DescribeFileMetaIndexRequest customRequest);
3288+
3289+
SearchImageResponse searchImage(SearchImageRequest customRequest);
3290+
3291+
UpdateDatasetResponse updateDataset(UpdateDatasetRequest customRequest);
3292+
3293+
UpdateFileMetaIndexResponse updateFileMetaIndex(UpdateFileMetaIndexRequest customRequest);
32633294
}
32643295

32653296

src/main/java/com/qcloud/cos/COSClient.java

Lines changed: 173 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -102,8 +102,7 @@
102102
import com.qcloud.cos.model.ciModel.job.v2.*;
103103
import com.qcloud.cos.model.ciModel.mediaInfo.MediaInfoRequest;
104104
import com.qcloud.cos.model.ciModel.mediaInfo.MediaInfoResponse;
105-
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetRequest;
106-
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetResponse;
105+
import com.qcloud.cos.model.ciModel.metaInsight.*;
107106
import com.qcloud.cos.model.ciModel.persistence.AIGameRecResponse;
108107
import com.qcloud.cos.model.ciModel.persistence.CIUploadResult;
109108
import com.qcloud.cos.model.ciModel.persistence.AIRecRequest;
@@ -141,14 +140,7 @@
141140
import com.qcloud.cos.model.transform.ObjectTaggingXmlFactory;
142141
import com.qcloud.cos.region.Region;
143142
import com.qcloud.cos.retry.RetryUtils;
144-
import com.qcloud.cos.utils.Base64;
145-
import com.qcloud.cos.utils.BinaryUtils;
146-
import com.qcloud.cos.utils.DateUtils;
147-
import com.qcloud.cos.utils.Jackson;
148-
import com.qcloud.cos.utils.Md5Utils;
149-
import com.qcloud.cos.utils.ServiceUtils;
150-
import com.qcloud.cos.utils.StringUtils;
151-
import com.qcloud.cos.utils.UrlEncoderUtils;
143+
import com.qcloud.cos.utils.*;
152144
import com.qcloud.cos.http.TimeOutCosHttpClient;
153145

154146
import org.apache.commons.codec.DecoderException;
@@ -5056,7 +5048,7 @@ public ZipPreviewResponse zipPreview(ZipPreviewRequest zipPreviewRequest) {
50565048
return invoke(request, new Unmarshallers.CICommonUnmarshaller<ZipPreviewResponse>(ZipPreviewResponse.class));
50575049
}
50585050

5059-
// @Override
5051+
// @Override
50605052
public GoodsMattingResponse goodsMatting(GoodsMattingRequest customRequest) {
50615053
CosHttpRequest<GoodsMattingRequest> request = createRequest(customRequest.getBucketName(), "/" + customRequest.getObjectKey(), customRequest, HttpMethodName.GET);
50625054
request.addParameter("ci-process","GoodsMatting");
@@ -5127,9 +5119,178 @@ public RecognizeLogoResponse recognizeLogo(RecognizeLogoRequest customRequest) {
51275119

51285120
@Override
51295121
public CreateDatasetResponse createDataset(CreateDatasetRequest customRequest) {
5130-
return null;
5122+
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5123+
CosHttpRequest<CreateDatasetRequest> request = createRequest(customRequest.getAppId(), "/dataset", customRequest , HttpMethodName.POST);
5124+
request.addHeader("Accept", "application/json");
5125+
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5126+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<CreateDatasetResponse>(CreateDatasetResponse.class));
5127+
}
5128+
5129+
@Override
5130+
public CreateDatasetBindingResponse createDatasetBinding(CreateDatasetBindingRequest customRequest) {
5131+
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5132+
5133+
CosHttpRequest<CreateDatasetBindingRequest> request = createRequest(customRequest.getAppId(), "/datasetbinding", customRequest , HttpMethodName.POST);
5134+
request.addHeader("Accept", "application/json");
5135+
5136+
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5137+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<CreateDatasetBindingResponse>(CreateDatasetBindingResponse.class));
5138+
}
5139+
5140+
@Override
5141+
public CreateFileMetaIndexResponse createFileMetaIndex(CreateFileMetaIndexRequest customRequest) {
5142+
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5143+
5144+
CosHttpRequest<CreateFileMetaIndexRequest> request = createRequest(customRequest.getAppId(), "/filemeta", customRequest , HttpMethodName.POST);
5145+
request.addHeader("Accept", "application/json");
5146+
5147+
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5148+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<CreateFileMetaIndexResponse>(CreateFileMetaIndexResponse.class));
5149+
}
5150+
5151+
@Override
5152+
public DatasetFaceSearchResponse datasetFaceSearch(DatasetFaceSearchRequest customRequest) {
5153+
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5154+
5155+
CosHttpRequest<DatasetFaceSearchRequest> request = createRequest(customRequest.getAppId(), "/datasetquery/facesearch", customRequest , HttpMethodName.POST);
5156+
request.addHeader("Accept", "application/json");
5157+
5158+
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5159+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<DatasetFaceSearchResponse>(DatasetFaceSearchResponse.class));
5160+
}
5161+
5162+
@Override
5163+
public DatasetSimpleQueryResponse datasetSimpleQuery(DatasetSimpleQueryRequest customRequest) {
5164+
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5165+
5166+
CosHttpRequest<DatasetSimpleQueryRequest> request = createRequest(customRequest.getAppId(), "/datasetquery/simple", customRequest , HttpMethodName.POST);
5167+
request.addHeader("Accept", "application/json");
5168+
5169+
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5170+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<DatasetSimpleQueryResponse>(DatasetSimpleQueryResponse.class));
5171+
}
5172+
5173+
@Override
5174+
public DeleteDatasetResponse deleteDataset(DeleteDatasetRequest customRequest) {
5175+
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5176+
5177+
CosHttpRequest<DeleteDatasetRequest> request = createRequest(customRequest.getAppId(), "/dataset", customRequest , HttpMethodName.DELETE);
5178+
request.addHeader("Accept", "application/json");
5179+
5180+
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5181+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<DeleteDatasetResponse>(DeleteDatasetResponse.class));
5182+
}
5183+
5184+
@Override
5185+
public DeleteDatasetBindingResponse deleteDatasetBinding(DeleteDatasetBindingRequest customRequest) {
5186+
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5187+
5188+
CosHttpRequest<DeleteDatasetBindingRequest> request = createRequest(customRequest.getAppId(), "/datasetbinding", customRequest , HttpMethodName.DELETE);
5189+
request.addHeader("Accept", "application/json");
5190+
5191+
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5192+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<DeleteDatasetBindingResponse>(DeleteDatasetBindingResponse.class));
5193+
}
5194+
5195+
@Override
5196+
public DeleteFileMetaIndexResponse deleteFileMetaIndex(DeleteFileMetaIndexRequest customRequest) {
5197+
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5198+
5199+
CosHttpRequest<DeleteFileMetaIndexRequest> request = createRequest(customRequest.getAppId(), "/filemeta", customRequest , HttpMethodName.DELETE);
5200+
5201+
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5202+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<DeleteFileMetaIndexResponse>(DeleteFileMetaIndexResponse.class));
5203+
}
5204+
5205+
@Override
5206+
public DescribeDatasetResponse describeDataset(DescribeDatasetRequest customRequest) {
5207+
5208+
CosHttpRequest<DescribeDatasetRequest> request = createRequest(customRequest.getAppId(), "/dataset", customRequest , HttpMethodName.GET);
5209+
addParameterIfNotNull(request, "datasetname", customRequest.getDatasetname());
5210+
addParameterIfNotNull(request, "statistics", String.valueOf(customRequest.getStatistics()));
5211+
request.addHeader("Accept", "application/json");
5212+
5213+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<DescribeDatasetResponse>(DescribeDatasetResponse.class));
5214+
}
5215+
5216+
@Override
5217+
public DescribeDatasetBindingResponse describeDatasetBinding(DescribeDatasetBindingRequest customRequest) {
5218+
5219+
CosHttpRequest<DescribeDatasetBindingRequest> request = createRequest(customRequest.getAppId(), "/datasetbinding", customRequest , HttpMethodName.GET);
5220+
addParameterIfNotNull(request, "datasetname", customRequest.getDatasetname());
5221+
addParameterIfNotNull(request, "uri", customRequest.getUri());
5222+
request.addHeader("Accept", "application/json");
5223+
5224+
5225+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<DescribeDatasetBindingResponse>(DescribeDatasetBindingResponse.class));
5226+
}
5227+
5228+
@Override
5229+
public DescribeDatasetBindingsResponse describeDatasetBindings(DescribeDatasetBindingsRequest customRequest) {
5230+
5231+
CosHttpRequest<DescribeDatasetBindingsRequest> request = createRequest(customRequest.getAppId(), "/datasetbindings", customRequest , HttpMethodName.GET);
5232+
addParameterIfNotNull(request, "datasetname", customRequest.getDatasetname());
5233+
addParameterIfNotNull(request, "maxresults", customRequest.getMaxresults());
5234+
addParameterIfNotNull(request, "nexttoken", customRequest.getNexttoken());
5235+
request.addHeader("Accept", "application/json");
5236+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<DescribeDatasetBindingsResponse>(DescribeDatasetBindingsResponse.class));
5237+
}
5238+
5239+
@Override
5240+
public DescribeDatasetsResponse describeDatasets(DescribeDatasetsRequest customRequest) {
5241+
5242+
CosHttpRequest<DescribeDatasetsRequest> request = createRequest(customRequest.getAppId(), "/datasets", customRequest , HttpMethodName.GET);
5243+
addParameterIfNotNull(request, "maxresults", customRequest.getMaxresults());
5244+
addParameterIfNotNull(request, "nexttoken", customRequest.getNexttoken());
5245+
addParameterIfNotNull(request, "prefix", customRequest.getPrefix());
5246+
request.addHeader("Accept", "application/json");
5247+
5248+
5249+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<DescribeDatasetsResponse>(DescribeDatasetsResponse.class));
51315250
}
51325251

5252+
@Override
5253+
public DescribeFileMetaIndexResponse describeFileMetaIndex(DescribeFileMetaIndexRequest customRequest) {
5254+
5255+
CosHttpRequest<DescribeFileMetaIndexRequest> request = createRequest(customRequest.getAppId(), "/filemeta", customRequest , HttpMethodName.GET);
5256+
addParameterIfNotNull(request, "datasetname", customRequest.getDatasetname());
5257+
addParameterIfNotNull(request, "uri", customRequest.getUri());
5258+
request.addHeader("Accept", "application/json");
5259+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<DescribeFileMetaIndexResponse>(DescribeFileMetaIndexResponse.class));
5260+
}
5261+
5262+
@Override
5263+
public SearchImageResponse searchImage(SearchImageRequest customRequest) {
5264+
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5265+
5266+
CosHttpRequest<SearchImageRequest> request = createRequest(customRequest.getAppId(), "/datasetquery/imagesearch", customRequest , HttpMethodName.POST);
5267+
request.addHeader("Accept", "application/json");
5268+
5269+
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5270+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<SearchImageResponse>(SearchImageResponse.class));
5271+
}
5272+
5273+
@Override
5274+
public UpdateDatasetResponse updateDataset(UpdateDatasetRequest customRequest) {
5275+
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5276+
5277+
CosHttpRequest<UpdateDatasetRequest> request = createRequest(customRequest.getAppId(), "/dataset", customRequest , HttpMethodName.PUT);
5278+
request.addHeader("Accept", "application/json");
5279+
5280+
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5281+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<UpdateDatasetResponse>(UpdateDatasetResponse.class));
5282+
}
5283+
5284+
@Override
5285+
public UpdateFileMetaIndexResponse updateFileMetaIndex(UpdateFileMetaIndexRequest customRequest) {
5286+
rejectNull(customRequest, "The request parameter must be specified setting the object tags");
5287+
5288+
CosHttpRequest<UpdateFileMetaIndexRequest> request = createRequest(customRequest.getAppId(), "/filemeta", customRequest , HttpMethodName.PUT);
5289+
request.addHeader("Accept", "application/json");
5290+
5291+
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5292+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<UpdateFileMetaIndexResponse>(UpdateFileMetaIndexResponse.class));
5293+
}
51335294

51345295
public String generateCosDomainPrivateM3U8Url(PrivateM3U8Request privateM3U8Request) {
51355296
CosHttpRequest<PrivateM3U8Request> request = createRequest(privateM3U8Request.getBucketName(), privateM3U8Request.getObject(), privateM3U8Request, HttpMethodName.GET);
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.qcloud.cos.demo.ci;
2+
3+
import com.qcloud.cos.COSClient;
4+
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetBindingRequest;
5+
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetBindingResponse;
6+
import com.qcloud.cos.utils.Jackson;
7+
8+
import java.util.List;
9+
10+
/**
11+
* 绑定存储桶与数据集 详情见https://cloud.tencent.com/document/product/460/106159
12+
*/
13+
public class CreateDatasetBindingDemo {
14+
15+
public static void main(String[] args) {
16+
// 1 初始化用户身份信息(secretId, secretKey)。
17+
COSClient client = ClientUtils.getTestClient();
18+
// 2 调用要使用的方法。
19+
createDatasetBinding(client);
20+
}
21+
22+
/**
23+
* createDatasetBinding 本文档介绍创建数据集(Dataset)和对象存储(COS)Bucket 的绑定关系
24+
* 绑定后将使用创建数据集时所指定算子对文件进行处理。
25+
* 绑定关系创建后,将对 COS 中新增的文件进行准实时的增量追踪扫描,使用创建数据集时所指定算子对文件进行处理,抽取文件元数据信息进行索引。
26+
* 通过此方式为文件建立索引后,您可以使用元数据查询API对元数据进行查询、管理和统计。
27+
* 该接口属于 POST 请求。
28+
*/
29+
public static void createDatasetBinding(COSClient client) {
30+
CreateDatasetBindingRequest request = new CreateDatasetBindingRequest();
31+
request.setAppId("1251704708");
32+
// 设置数据集名称,同一个账户下唯一。;是否必传:是
33+
request.setDatasetName("mark");
34+
// 设置资源标识字段,表示需要与数据集绑定的资源,当前仅支持COS存储桶,字段规则:cos://<BucketName>,其中BucketName表示COS存储桶名称,例如:cos://examplebucket-1250000000;是否必传:是
35+
request.setURI("cos://markjrzhang-1251704708");
36+
37+
CreateDatasetBindingResponse response = client.createDatasetBinding(request);
38+
System.out.println(Jackson.toJsonString(response));
39+
}
40+
}

0 commit comments

Comments
 (0)