Skip to content

Commit 92ec2b0

Browse files
author
markjrzhang
committed
add metaInsight API
1 parent dbf6515 commit 92ec2b0

File tree

64 files changed

+2989
-17
lines changed

Some content is hidden

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

64 files changed

+2989
-17
lines changed

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

Lines changed: 31 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;
@@ -3260,6 +3259,36 @@ SelectObjectContentResult selectObjectContent(SelectObjectContentRequest selectR
32603259
RecognizeLogoResponse recognizeLogo(RecognizeLogoRequest customRequest);
32613260

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

32653294

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

Lines changed: 167 additions & 3 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;
@@ -5124,9 +5123,174 @@ public CreateDatasetResponse createDataset(CreateDatasetRequest customRequest) {
51245123
CosHttpRequest<CreateDatasetRequest> request = createRequest(customRequest.getAppId(), "/dataset", customRequest , HttpMethodName.POST);
51255124
request.addHeader("Accept", "application/json");
51265125
this.setContent(request, CIJackson.toJsonBytes(customRequest), "application/json", false);
5127-
return invoke(request, new Unmarshallers.CICommonUnmarshaller<CreateDatasetResponse>(CreateDatasetResponse.class));
5126+
return invoke(request, new Unmarshallers.CICommonJsonUnmarshaller<CreateDatasetResponse>(CreateDatasetResponse.class));
51285127
}
51295128

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));
5250+
}
5251+
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+
}
51305294

51315295
public String generateCosDomainPrivateM3U8Url(PrivateM3U8Request privateM3U8Request) {
51325296
CosHttpRequest<PrivateM3U8Request> request = createRequest(privateM3U8Request.getBucketName(), privateM3U8Request.getObject(), privateM3U8Request, HttpMethodName.GET);
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
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+
绑定关系创建后,将对 COS 中新增的文件进行准实时的增量追踪扫描,使用创建数据集时所指定算子对文件进行处理,抽取文件元数据信息进行索引。通过此方式为文件建立索引后,您可以使用元数据查询API对元数据进行查询、管理和统计。
25+
26+
* 该接口属于 POST 请求。
27+
*/
28+
public static void createDatasetBinding(COSClient client) {
29+
CreateDatasetBindingRequest request = new CreateDatasetBindingRequest();
30+
request.setBucketName("demo-1234567890");
31+
// 设置数据集名称,同一个账户下唯一。;是否必传:是
32+
request.setDatasetName("test");
33+
// 设置资源标识字段,表示需要与数据集绑定的资源,当前仅支持COS存储桶,字段规则:cos://<BucketName>,其中BucketName表示COS存储桶名称,例如:cos://examplebucket-1250000000;是否必传:是
34+
request.setURI("cos://examplebucket-1250000000");
35+
36+
CreateDatasetBindingResponse response = client.createDatasetBinding(request);
37+
System.out.println(Jackson.toJsonString(response));
38+
}
39+
}

src/main/java/com/qcloud/cos/demo/ci/CreateDatasetDemo.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,8 @@
33
import com.qcloud.cos.COSClient;
44
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetRequest;
55
import com.qcloud.cos.model.ciModel.metaInsight.CreateDatasetResponse;
6-
import com.qcloud.cos.utils.CIJackson;
76
import com.qcloud.cos.utils.Jackson;
87

9-
import java.util.Arrays;
10-
118
/**
129
* 创建数据集 详情见https://cloud.tencent.com/document/product/460/106020
1310
*/
@@ -38,7 +35,6 @@ public static void createDataset(COSClient client) {
3835
// Official:FaceSearch:人脸检索模板,包含人脸检索、COS 文件基础元信息算子。
3936
// Official:ImageSearch:图像检索模板,包含图像检索、COS 文件基础元信息算子。
4037
request.setTemplateId("Official:COSBasicMeta");
41-
System.out.println(CIJackson.toJsonString(request));
4238
CreateDatasetResponse response = client.createDataset(request);
4339
System.out.println(Jackson.toJsonString(response));
4440
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
package com.qcloud.cos.demo.ci;
2+
3+
import com.qcloud.cos.COSClient;
4+
import com.qcloud.cos.model.ciModel.metaInsight.CreateFileMetaIndexRequest;
5+
import com.qcloud.cos.model.ciModel.metaInsight.CreateFileMetaIndexResponse;
6+
import com.qcloud.cos.utils.Jackson;
7+
8+
9+
/**
10+
* 创建元数据索引 详情见https://cloud.tencent.com/document/product/460/106022
11+
*/
12+
public class CreateFileMetaIndexDemo {
13+
14+
public static void main(String[] args) {
15+
// 1 初始化用户身份信息(secretId, secretKey)。
16+
COSClient client = ClientUtils.getTestClient();
17+
// 2 调用要使用的方法。
18+
createFileMetaIndex(client);
19+
}
20+
21+
/**
22+
* createFileMetaIndex 提取一个 COS 文件的元数据,在数据集中建立索引。会根据数据集中的算子提取不同的元数据建立索引,也支持建立自定义的元数据索引。
23+
* 该接口属于 POST 请求。
24+
*/
25+
public static void createFileMetaIndex(COSClient client) {
26+
CreateFileMetaIndexRequest request = new CreateFileMetaIndexRequest();
27+
request.setBucketName("demo-1234567890");
28+
// 设置数据集名称,同一个账户下唯一。;是否必传:是
29+
request.setDatasetName("test001");
30+
31+
CreateFileMetaIndexResponse response = client.createFileMetaIndex(request);
32+
System.out.println(Jackson.toJsonString(response));
33+
}
34+
}

0 commit comments

Comments
 (0)