更新时间:2023-12-11 GMT+08:00

添加图片

功能介绍

将图片导入图片索引库,该图片可以是同一区域OBS桶内的图片或请求消息体里的图片,只有导入图片索引库的图片方可被搜索到。

  • 添加或搜索的图片存储在OBS的桶中时,需要对OBS的桶授权。具体操作如下:

    在图像搜索服务管理控制台“实例管理”页面,单击实例操作列的“离线导入”,进入“离线导入”页面。选择存放数据的OBS桶,单击“授权”按钮,字体显示为灰色即完成OBS授权访问。离线导入的步骤请参考“快速入门 >离线导入”。

URI

POST /v1/{project_id}/{instance_name}/image

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

用户的项目ID。获取方法请参见获取项目ID和名称

instance_name

String

实例名称。

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。

表3 请求Body参数

参数

是否必选

参数类型

描述

file

String

图片文件Base64编码字符串,仅支持JPEG/JPG/PNG/BMP格式,图片最小边不小于100px,最大边不超过2048px。

path

String

图片的URL路径,作为图片库中索引图片的ID,是必选参数。

说明:
  • 当file字段不为空时,图片从file获取,path作为图片索引ID使用;当file字段不存在或者为空时,图片需要通过下载获取,此时path作为下载图片的地址(当前仅支持从华为云图像搜索服务所在区域的OBS下载图片),同时,path也作为图片索引ID。

tags

Object

图片自定义标签。格式为key:value对,所有图片的key总数最多不超过10个,但是每个key对应的value不限制个数,例如:key为动物,对应的value可以是猫、狗、鸟等多个。

标签名(key)添加方式:

  1. 登录管理控制台,单击“创建实例”自定义标签名。
  2. 在“实例管理”页签,单击实例名称,进入“基础信息”页添加自定义标签。

响应参数

状态码: 200

表4 响应Body参数

参数

参数类型

描述

result

String

调用成功时表示调用结果。 调用失败时无此字段。

状态码: 400

表5 响应Body参数

参数

参数类型

描述

error_code

String

调用失败时的错误码,具体请参见错误码。

调用成功时无此字段。

error_msg

String

调用失败时的错误信息。

调用成功时无此字段。

请求示例

  • 方式一:使用图片的BASE64编码,将图片导入图片索引库,图片的URL路径为/../image.jpg。
    POST https://{endpoint}/v1/{project_id}/{instance_name}/image
    
    {
      "path" : "/../image.jpg",
      "file" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA..."
    }
  • 方式二:使用图片的url,将图片导入图片索引库,图片的URL路径为https://bucketName.obs.myhuaweicloud.com/image/test1.jpg。
    POST https://{endpoint}/v1/{project_id}/{instance_name}/image
    
    {
      "path" : "https://bucketName.obs.myhuaweicloud.com/image/test1.jpg"
    }
  • 方式三:使用图片的BASE64编码和标签,将图片导入图片索引库,图片的URL路径为https://bucketName.obs.myhuaweicloud.com/image/test1.jpg。
    POST https://{endpoint}/v1/{project_id}/{instance_name}/image
    
    {
      "path" : "https://bucketName.obs.myhuaweicloud.com/image/test1.jpg",
      "file" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA...",
      "tags" : {
        "test-tags" : "test-image"
      }
    }
  • 方式四:使用图片的url和标签,将图片导入图片索引库,图片的URL路径为https://bucketName.obs.myhuaweicloud.com/image/test1.jpg。
    POST https://{endpoint}/v1/{project_id}/{instance_name}/image
    
    {
      "path" : "https://bucketName.obs.myhuaweicloud.com/image/test1.jpg",
      "tags" : {
        "test-tags" : "test-image"
      }
    }

响应示例

状态码: 200

成功响应示例

{
  "result" : "Success"
}

状态码: 400

失败响应示例

{
  "error_code" : "IS.0003",
  "error_msg" : "Arguments of path can not be null."
}

状态码

状态码

描述

200

成功响应示例。

400

失败响应示例。

错误码

请参见错误码