简介
本文档提供关于以图搜图的 API 概览和 SDK 示例代码。
开通以图搜图
功能说明
该接口用于开通 Bucket 搜图功能。
方法原型
boolean openImageSearch(OpenImageSearchRequest imageSearchRequest);
请求示例
//1.创建任务请求对象OpenImageSearchRequest request = new OpenImageSearchRequest();//2.添加请求参数 参数详情请见 API 接口文档request.setBucketName("demobucket-123456789");request.setMaxCapacity("100");request.setMaxQps("10");//3.调用接口,获取任务响应对象boolean response = client.openImageSearch(request);
参数说明
Request 中的具体数据描述如下:
节点名称(关键字)  | 父节点  | 描述  | 类型  | 是否必选  | 
bucketName  | Request  | Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述  | String  | 是  | 
maxCapacity  | Request  | 图库容量限制  | String  | 是  | 
MaxQps  | Request  | 图库访问限制,默认最高为10qps  | String  | 否  | 
返回结果说明
成功:成功则返回 true。 
失败:发生错误(例如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理。
添加图库图片
功能说明
将图片资源添加至图库。
方法原型
boolean addGalleryImages(ImageSearchRequest imageSearchRequest);
请求示例
//1.创建任务请求对象ImageSearchRequest request = new ImageSearchRequest();//2.添加请求参数 参数详情请见 API 接口文档request.setBucketName("demobucket-123456789");request.setObjectKey("1.png");request.setEntityId("mark1");//3.调用接口,获取任务响应对象boolean response = client.addGalleryImages(request);
参数说明
Request 中的具体数据描述如下:
节点名称(关键字)  | 父节点  | 描述  | 类型  | 是否必选  | 
bucketName  | Request  | Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述  | String  | 是  | 
objectKey  | Request  | 图片文件在 bucket 中的位置  | String  | 是  | 
entityId  | Request  | 物品 ID,最多支持64个字符。若 EntityId 已存在,则对其追加图片  | String  | 是  | 
customContent  | Request  | 用户自定义的内容,最多支持4096个字符,查询时原样带回  | String  | 否  | 
tags  | Request  | 图片自定义标签,最多不超过10个,json 字符串,格式为 key:value 对  | String  | 否  | 
返回结果说明
成功:成功则返回 true。 
失败:发生错误(例如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理。
图片搜索接口
功能说明
检索图库中的图片。
方法原型
ImageSearchResponse searchGalleryImages(ImageSearchRequest imageSearchRequest);
请求示例
//1.创建任务请求对象ImageSearchRequest request = new ImageSearchRequest();//2.添加请求参数 参数详情请见 API 接口文档request.setBucketName("demobucket-123456789");request.setObjectKey("1.png");//3.调用接口,获取任务响应对象ImageSearchResponse response = client.searchGalleryImages(request);
参数说明
Request 中的具体数据描述如下:
节点名称(关键字)  | 父节点  | 描述  | 类型  | 是否必选  | 
bucketName  | Request  | Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述  | String  | 是  | 
objectKey  | Request  | 图片文件在 bucket 中的位置  | String  | 是  | 
matchThreshold  | Request  | 出参 Score 中,只有超过 MatchThreshold 值的结果才会返回。默认为0  | String  | 否  | 
Offset  | Request  | 起始序号,默认值为0  | String  | 否  | 
limit  | Request  | 返回数量,默认值为10,最大值为100  | String  | 否  | 
filter  | Request  | 针对入库时提交的 Tags 信息进行条件过滤。支持>、>=、<、<=、=、!=,多个条件之间支持 AND 和 OR 进行连接  | String  | 否  | 
返回结果说明
成功:成功则返回 ImageSearchResponse 响应对象。
失败:发生错误(例如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理。
删除图库图片
功能说明
将图片资源移出图库。
方法原型
boolean deleteGalleryImages(ImageSearchRequest imageSearchRequest);
请求示例
//1.创建任务请求对象ImageSearchRequest request = new ImageSearchRequest();//2.添加请求参数 参数详情请见 API 接口文档request.setBucketName("demobucket-123456789");request.setObjectKey("1.png");request.setEntityId("mark");//3.调用接口,获取任务响应对象boolean response = client.deleteGalleryImages(request);
参数说明
Request 中的具体数据描述如下:
节点名称(关键字)  | 父节点  | 描述  | 类型  | 是否必选  | 
bucketName  | Request  | Bucket 的命名规则为 BucketName-APPID,详情请参见 存储桶概述  | String  | 是  | 
objectKey  | Request  | 图片文件在 bucket 中的位置  | String  | 是  | 
entityId  | Request  | 物品 ID  | String  | 是  | 
返回结果说明
成功:成功则返回 true。
失败:发生错误(例如 Bucket 不存在),抛出异常 CosClientException 或者 CosServiceException。详情请参见 异常处理。