简介
本文档提供关于创建元数据索引的相关 API 概览以及 SDK 示例代码。
API | 操作描述 |
提取一个 COS 文件的元数据,在数据集中建立索引。会根据数据集中的算子提取不同的元数据建立索引,也支持建立自定义的元数据索引。 |
SDK API 参考
创建元数据索引
功能说明
提取一个 COS 文件的元数据,在数据集中建立索引。会根据数据集中的算子提取不同的元数据建立索引,也支持建立自定义的元数据索引。
注意:
COS Android SDK 版本需要大于等于 v5.9.30。
示例代码
// APPIDString appid = "1253000000";CreateFileMetaIndexRequest request = new CreateFileMetaIndexRequest(appid);CreateFileMetaIndex createFileMetaIndex = new CreateFileMetaIndex();// 创建元数据索引请求体request.setCreateFileMetaIndex(createFileMetaIndex);// 设置请求// 设置数据集名称,同一个账户下唯一。;是否必传:是createFileMetaIndex.datasetName = "test";// 设置元数据索引结果(以回调形式发送至您的回调地址,支持以 http:// 或者 https:// 开头的地址,例如: http://www.callback.com。;是否必传:否createFileMetaIndex.callback = "http://www.callback.com";CreateFileMetaIndex.File file = new CreateFileMetaIndex.File();createFileMetaIndex.file = file;// 设置自定义ID。该文件索引到数据集后,作为该行元数据的属性存储,用于和您的业务系统进行关联、对应。您可以根据业务需求传入该值,例如将某个URI关联到您系统内的某个ID。推荐传入全局唯一的值。在查询时,该字段支持前缀查询和排序,详情请见字段和操作符的支表。 ;是否必传:否file.customId = "001";// 设置自定义标签。您可以根据业务需要自定义添加标签键值对信息,用于在查询时可以据此为筛选项进行检索,详情请见字段和操作符的支持列表。 ;是否必传:否file.customLabels = new HashMap<>();file.customLabels.put("age", "18");file.customLabels.put("level", "6");// 设置可选项,文件媒体类型,枚举值: image:图片。 other:其他。 document:文档。 archive:压缩包。 video:视频。 audio:音频。 ;是否必传:否file.mediaType = "image";// 设置可选项,文件内容类型(MIME Type),如image/jpeg。 ;是否必传:否file.contentType = "image/jpeg";// 设置资源标识字段,表示需要建立索引的文件地址,当前仅支持COS上的文件,字段规则:cos:///,其中BucketName表示COS存储桶名称,ObjectKey表示文件完整路径,例如:cos://examplebucket-1250000000/test1/img.jpg。 注意: 1、仅支持本账号内的COS文件 不支持HTTP开头的地址;是否必传:是file.uRI = "cos://examplebucket-1250000000/test.jpg";// 设置输入图片中检索的人脸数量,默认值为20,最大值为20。(仅当数据集模板 ID 为 Official:FaceSearch 有效)。;是否必传:否file.maxFaceNum = 20;// 设置自定义人物属性(仅当数据集模板 ID 为 Official:FaceSearch 有效)。;是否必传:否file.persons = new ArrayList<>();CreateFileMetaIndex.Persons person1 = new CreateFileMetaIndex.Persons();person1.personId = "11111111";CreateFileMetaIndex.Persons person2 = new CreateFileMetaIndex.Persons();person2.personId = "22222222";file.persons.add(person1);file.persons.add(person2);ciService.createFileMetaIndexAsync(request, new CosXmlResultListener() {@Overridepublic void onSuccess(CosXmlRequest request, CosXmlResult cosResult) {// result 创建元数据索引的结果// 详细字段请查看api文档或者SDK源码CreateFileMetaIndexResult result = (CreateFileMetaIndexResult) cosResult;}@Overridepublic void onFail(CosXmlRequest request, CosXmlClientException clientException, CosXmlServiceException serviceException) {if (clientException != null) {clientException.printStackTrace();} else {serviceException.printStackTrace();}}});
说明: