Node.js SDK

本文介绍图像搜索服务Node.js SDK的使用方法及示例。

说明

如需了解更多产品详情和获取技术支持,请单击在线咨询或通过钉钉群(35035130)联系我们。

接口列表

接口名称

接口说明

Add

增加图片。

SearchImageByPic

使用图片进行搜索。

SearchImageByName

指定名称,使用已入库的图片进行搜索。

Delete

删除图片。

UpdateImage

修改图片。

Detail

查询实例信息。

DumpMeta

元信息导出任务。

DumpMetaList

元信息导出任务列表。

BatchTask

批量任务。

BatchTaskList

批量任务列表。

准备工作

  • 在安装和使用阿里云SDK前,确保您已经注册阿里云账号并生成访问密钥(AccessKey)。详情请参见创建AccessKey

  • 安装图像搜索Node.js SDK。

npm install @alicloud/imagesearch20201214@4.0.0 --save

Add接口

  • 代码示例

    const oss = require('@alicloud/oss-util');
    const fs = require('fs');
    const imagesearch = require('@alicloud/imagesearch20201214')
    // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
    const client = new imagesearch.default({
        // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
        // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
        // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
        accessKeyId: process.env.CC_AK_ENV,
        accessKeySecret: process.env.CC_SK_ENV,
        type: "access_key",
      // 请更换成您购买实例的区域,例如购买的是杭州区域,则endpoint="imagesearch.cn-hangzhou.aliyuncs.com"
      endpoint: "imagesearch.cn-shanghai.aliyuncs.com",
    
      // 以下为内网(VPC)访问方式
      // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
      // endpointType : "internal",  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
      // endpoint : "imagesearch-vpc.cn-shanghai.aliyuncs.com", // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
      // 请您更换成您购买实例的区域,例如您购买的实例区域为杭州,则更换为regionId="cn-hangzhou"
      regionId: "cn-shanghai",
      protocol: 'http'
    });
    var picContent = fs.createReadStream("D:/123.jpg");
    async function demo() {
      const addImageAdvanceRequest = new imagesearch.AddImageAdvanceRequest({
        // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
        instanceName: "XXXXXXXXXX",
         // 必填,商品id,最多支持 512个字符。
         // 一个商品可有多张图片。
        productId: "123455",
        // 必填,图片名称,最多支持 512个字符。
        // 1. ProductId + PicName唯一确定一张图片。
        // 2. 如果多次添加图片具有相同的ProductId + PicName,以最后一次添加为准,前面添加的图片将被覆盖。
        picName: "this",
        // 图片内容,最多支持 4MB大小图片以及5s的传输等待时间。当前仅支持PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM格式图片;        
        // 对于商品、商标、通用图片搜索,图片长和宽的像素必须都大于等于100且小于等于4096;        
        // 对于布料搜索,图片长和宽的像素必须都大于等于448且小于等于4096;        
        // 图像中不能带有旋转信息
        picContentObject: picContent,
        // 选填,图片类目。
        // 1. 对于商品搜索:若设置类目,则以设置的为准;若不设置类目,将由系统进行类目预测,预测的类目结果可在Response中获取 。
        // 2. 对于布料、商标、通用搜索:不论是否设置类目,系统会将类目设置为88888888。
        categoryId : 3,
        // 选填,用户自定义的内容,最多支持4096个字符。
        // 查询时会返回该字段。例如可添加图片的描述等文本。
        customContent : "this is a simple test",
        // 选填,整数类型属性,可用于查询时过滤,查询时会返回该字段。
        //  例如不同的站点的图片/不同用户的图片,可以设置不同的IntAttr,查询时通过过滤来达到隔离的目的
        intAttr : 56,
        // 选填,字符串类型属性,最多支持 128个字符。可用于查询时过滤,查询时会返回该字段。
        strAttr : "test",
        // 选填,是否需要进行主体识别,默认为true。
        // 1.为true时,由系统进行主体识别,以识别的主体进行搜索,主体识别结果可在Response中获取。
        // 2. 为false时,则不进行主体识别,以整张图进行搜索。
        // 3.对于布料图片搜索,此参数会被忽略,系统会以整张图进行搜索。
        crop : true,
        // 选填,图片的主体区域,格式为 x1,x2,y1,y2, 其中 x1,y1 是左上角的点,x2,y2是右下角的点。设置的region 区域不要超过图片的边界。
        // 若用户设置了Region,则不论Crop参数为何值,都将以用户输入Region进行搜索。
        // 对于布料图片搜索,此参数会被忽略,系统会以整张图进行搜索。
        region : "167,467,221,407"
      });
      let ossRuntime = new oss.RuntimeOptions({});
      const addResponse = await client.addImageAdvance(addImageAdvanceRequest, ossRuntime);
      console.log(1, addResponse);
    }
    demo();
  • 结果示例

    AddImageResponse {
      requestId: 'B85D5B4A-92AF-44C1-A3FB-9B554950F8D1',
      success: true,
      message: 'success',
      code: 0,
      picInfo: AddImageResponsePicInfo { categoryId: 0, region: '167,477,221,407' }
    }

SearchImageByPic接口

  • 代码示例

    const oss = require('@alicloud/oss-util');
    const fs = require('fs');
    const imagesearch = require('@alicloud/imagesearch20201214')
    // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
    const client = new imagesearch.default({
      // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
      // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
      // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
      accessKeyId: process.env.CC_AK_ENV,
      accessKeySecret: process.env.CC_SK_ENV,
      type: "access_key",
      // 请更换成您购买实例的区域,例如购买的是杭州区域,则endpoint="imagesearch.cn-hangzhou.aliyuncs.com"
      endpoint: "imagesearch.cn-shanghai.aliyuncs.com",
    
      // 以下为内网(VPC)访问方式
      // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
      // endpointType : "internal",  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
      // endpoint : "imagesearch-vpc.cn-shanghai.aliyuncs.com", // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
      // 请您更换成您购买实例的区域,例如您购买的实例区域为杭州,则更换为regionId="cn-hangzhou"
      regionId: "cn-shanghai",
      protocol: 'http'
    });
    var picContent = fs.createReadStream("D:/123.jpg");
    async function demo() {
      const searchImageByPicAdvanceRequest = new imagesearch.SearchImageByPicAdvanceRequest({
        // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
        instanceName: "XXXXXXXX",
        // 图片内容,最多支持 4MB大小图片以及5s的传输等待时间。当前仅支持PNG、JPG、JPEG、BMP、GIF、WEBP、TIFF、PPM格式图片;        
        // 对于商品、商标、通用图片搜索,图片长和宽的像素必须都大于等于100且小于等于4096;        
        // 对于布料搜索,图片长和宽的像素必须都大于等于448且小于等于4096;        
        // 图像中不能带有旋转信息
        picContentObject: picContent,
        // 选填,商品类目。
        // 1. 对于商品搜索:若设置类目,则以设置的为准;若不设置类目,将由系统进行类目预测,预测的类目结果可在Response中获取 。
        // 2. 对于布料、商标、通用搜索:不论是否设置类目,系统会将类目设置为88888888。
        categoryId: 3,
        // 选填,返回结果的数目。取值范围:1-100。默认值:10。
        num: 10,
        // 选填,返回结果的起始位置。取值范围:0-499。默认值:0。
        start: 0,// 选填,是否需要进行主体识别,默认为true。
        // 1.为true时,由系统进行主体识别,以识别的主体进行搜索,主体识别结果可在Response中获取。
        // 2. 为false时,则不进行主体识别,以整张图进行搜索。
        // 3.对于布料图片搜索,此参数会被忽略,系统会以整张图进行搜索。
        crop: true,
        // 选填,图片的主体区域,格式为 x1,x2,y1,y2, 其中 x1,y1 是左上角的点,x2,y2是右下角的点。设置的region 区域不要超过图片的边界。
        // 若用户设置了Region,则不论Crop参数为何值,都将以用户输入Region进行搜索。
        // 3.对于布料图片搜索,此参数会被忽略,系统会以整张图进行搜索。region: "167,467,221,407",// 选填,过滤条件
        // int_attr支持的操作符有>、>=、<、<=、=,str_attr支持的操作符有=和!=,多个条件之支持AND和OR进行连接。
        // 示例:
        //  1. 根据IntAttr过滤结果,    int_attr>=100
        //  2. 根据StrAttr过滤结果,    str_attr!="value1"
        //  3. 根据IntAttr和StrAttr联合过滤结果,int_attr=1000 AND str_attr="value1"
        filter: "int_attr=56 AND str_attr=\"test\""
      });
      let ossRuntime = new oss.RuntimeOptions({});
      const searchImageByPicResponse = await client.searchImageByPicAdvance(searchImageByPicAdvanceRequest, ossRuntime);
      console.log(3, searchImageByPicResponse);
    }
    demo();
  • 结果示例

    SearchImageByPicResponse {
      requestId: 'A38BFBD4-D7AD-4BE9-9606-72BB765A9001',
      success: true,
      code: 0,
      msg: 'success',
      auctions: [
        SearchImageByPicResponseAuctions {
          categoryId: 0,
          productId: '1000',
          picName: 'vae.jpg',
          score:1.0,
          sortExprValues: '7.33136443711219e+24;0'
        },
      ...............
        SearchImageByPicResponseAuctions {
          categoryId: 0,
          productId: '123455',
          picName: 'this',
          score:1.0,
          sortExprValues: '7.33136443711219e+24;0'
        }
      ],
      head: SearchImageByPicResponseHead {
        docsReturn: 5,
        docsFound: 5,
        searchTime: 218
      },
      picInfo: SearchImageByPicResponsePicInfo {
        categoryId: 0,
        region: '167,477,221,407',
        allCategories: [
          [SearchImageByPicResponsePicInfoAllCategories],
          ........
          [SearchImageByPicResponsePicInfoAllCategories]
        ],
        "multiRegion": [
           [SearchImageByPicResponseBodyPicInfoMultiRegion],
          ........
          [SearchImageByPicResponseBodyPicInfoMultiRegion]
        ]
      }
    }

SearchImageByName接口

  • 代码示例

    const oss = require('@alicloud/oss-util');
    const fs = require('fs');
    const imagesearch = require('@alicloud/imagesearch20201214')
    // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
    const client = new imagesearch.default({
      // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
      // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
      // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
      accessKeyId: process.env.CC_AK_ENV,
      accessKeySecret: process.env.CC_SK_ENV,
      type: "access_key",
      // 请更换成您购买实例的区域,例如购买的是杭州区域,则endpoint="imagesearch.cn-hangzhou.aliyuncs.com"
      endpoint: "imagesearch.cn-shanghai.aliyuncs.com",
    
      // 以下为内网(VPC)访问方式
      // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
      // endpointType : "internal",  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
      // endpoint : "imagesearch-vpc.cn-shanghai.aliyuncs.com", // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
      // 请您更换成您购买实例的区域,例如您购买的实例区域为杭州,则更换为regionId="cn-hangzhou"
      regionId: "cn-shanghai",
      protocol: 'http'
    });
    var picContent = fs.createReadStream("D:/123.jpg");
    async function demo() {
      const searchImageByNameRequest = new imagesearch.SearchImageByNameRequest({
        // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
        instanceName: "XXXXXXX",
        // 必填,商品id,最多支持 512个字符。
        // 一个商品可有多张图片。
        productId: "123455",
        // 必填,图片名称,最多支持 512个字符。
       // 1. ProductId + PicName唯一确定一张图片。
        picName: "this",
        // 选填,商品类目。
        // 1. 对于商品搜索:若设置类目,则以设置的为准;若不设置类目,将由系统进行类目预测,预测的类目结果可在Response中获取 。
        // 2. 对于布料、商标、通用搜索:不论是否设置类目,系统会将类目设置为88888888。
        categoryId: 3,
        // 选填,返回结果的数目。取值范围:1-100。默认值:10。
        num: 10,
        // 选填,返回结果的起始位置。取值范围:0-499。默认值:0。
        start: 0,// 选填,是否需要进行主体识别,默认为true。
        // 1.为true时,由系统进行主体识别,以识别的主体进行搜索,主体识别结果可在Response中获取。
        // 2. 为false时,则不进行主体识别,以整张图进行搜索。
        // 3.对于布料图片搜索,此参数会被忽略,系统会以整张图进行搜索。
        crop: true,
        // 选填,图片的主体区域,格式为 x1,x2,y1,y2, 其中 x1,y1 是左上角的点,x2,y2是右下角的点。设置的region 区域不要超过图片的边界。
        // 若用户设置了Region,则不论Crop参数为何值,都将以用户输入Region进行搜索。
        // 3.对于布料图片搜索,此参数会被忽略,系统会以整张图进行搜索。region: "167,467,221,407",// 选填,过滤条件
        // int_attr支持的操作符有>、>=、<、<=、=,str_attr支持的操作符有=和!=,多个条件之支持AND和OR进行连接。
        // 示例:
        //  1. 根据IntAttr过滤结果,    int_attr>=100
        //  2. 根据StrAttr过滤结果,    str_attr!="value1"
        //  3. 根据IntAttr和StrAttr联合过滤结果,int_attr=1000 AND str_attr="value1"
        filter: "int_attr=56 AND str_attr=\"test\""
      });
      const searchImageByNameResponse = await client.searchImageByName(searchImageByNameRequest);
      console.log(2, searchImageByNameResponse);
    }
    demo();

  • 结果示例

    SearchImageByNameResponse {
      requestId: '4B039098-B274-41DE-9A55-32550B6F74E1',
      success: true,
      code: 0,
      msg: 'success',
      auctions: [
        SearchImageByNameResponseAuctions {
          categoryId: 0,
          productId: '1000',
          picName: 'vae.jpg',
          score:1.0,
          sortExprValues: '7.33136443711219e+24;0'
        },
          .........
        SearchImageByNameResponseAuctions {
          categoryId: 0,
          productId: '123455',
          picName: 'this',
          score:1.0,
          sortExprValues: '7.33136443711219e+24;0'
        }
      ],
      head: SearchImageByNameResponseHead {
        docsReturn: 5,
        docsFound: 5,
        searchTime: 11
      },
      picInfo: SearchImageByNameResponsePicInfo {
        categoryId: 0,
          allCategories: [
          [SearchImageByNameResponsePicInfoAllCategories],
          ......
          [SearchImageByNameResponsePicInfoAllCategories]
        ],
         "multiRegion": [
           [SearchImageByPicResponseBodyPicInfoMultiRegion],
          ........
          [SearchImageByPicResponseBodyPicInfoMultiRegion]
        ]
      }
    }

Delete接口

  • 代码示例

    const oss = require('@alicloud/oss-util');
    const fs = require('fs');
    const imagesearch = require('@alicloud/imagesearch20201214')
    // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
    const client = new imagesearch.default({
      // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
      // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
      // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
      accessKeyId: process.env.CC_AK_ENV,
      accessKeySecret: process.env.CC_SK_ENV,
      type: "access_key",
      // 请更换成您购买实例的区域,例如购买的是杭州区域,则endpoint="imagesearch.cn-hangzhou.aliyuncs.com"
      endpoint: "imagesearch.cn-shanghai.aliyuncs.com",
    
      // 以下为内网(VPC)访问方式
      // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
      // endpointType : "internal",  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
      // endpoint : "imagesearch-vpc.cn-shanghai.aliyuncs.com", // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
      // 请您更换成您购买实例的区域,例如您购买的实例区域为杭州,则更换为regionId="cn-hangzhou"
      regionId: "cn-shanghai",
      protocol: 'http'
    });
    async function demo() {
      const deleteImageRequest = new imagesearch.DeleteImageRequest({
        // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
        instanceName: "XXXXXXXXXXXXXXXXXX",
         // 必填,商品id,最多支持 512个字符。
         //一个商品可有多张图片。
        productId: "123455",
         //  选填,图片名称。若不指定本参数,则删除ProductId下所有图片;若指定本参数,则删除ProductId+PicName指定的图片。
        picName: "this"
      });
      const deleteImageResponse = await client.deleteImage(deleteImageRequest);
      console.log(4, deleteImageResponse);
    }
    demo();

  • 结果示例

    DeleteImageResponse {
      requestId: '3965B44B-0584-41DE-8764-0D8B36857CE1',
      success: true,
      message: 'success',
      code: 0
    }

UpdateImage接口

  • 代码示例

    const oss = require('@alicloud/oss-util');
    const fs = require('fs');
    const imagesearch = require('@alicloud/imagesearch20201214')
    // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
    const client = new imagesearch.default({
      // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
      // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
      // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
      accessKeyId: process.env.CC_AK_ENV,
      accessKeySecret: process.env.CC_SK_ENV,
      type: "access_key",
      // 请更换成您购买实例的区域,例如购买的是杭州区域,则endpoint="imagesearch.cn-hangzhou.aliyuncs.com"
      endpoint: "imagesearch.cn-shanghai.aliyuncs.com",
    
      // 以下为内网(VPC)访问方式
      // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
      // endpointType : "internal",  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
      // endpoint : "imagesearch-vpc.cn-shanghai.aliyuncs.com", // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
      // 请您更换成您购买实例的区域,例如您购买的实例区域为杭州,则更换为regionId="cn-hangzhou"
      regionId: "cn-shanghai",
      protocol: 'http'
    });
    async function updateImage() {
      const request = new imagesearch.UpdateImageRequest({
        // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
        instanceName: "XXXXXXXXXXXXXXXXXX",
        // 必填,商品ID 不可修改。
        productId: "1",
        // 必填,图片名称,不可修改。
        picName: "1",
        // 选填,整数类型属性,可用于查询时过滤,查询时会返回该字段。
        intAttr: "11",
        // 选填,字符串类型属性,最多支持 128个字符。可用于查询时过滤,查询时会返回该字段。
        strAttr: "text",
        // 选填,用户自定义的内容,最多支持4096个字符。
        customContent: "测试说明"
      });
      const response = await client.updateImage(request);
      console.log(4, response.body.toMap());
    }
    updateImage();

  • 结果示例

    4 {
      Code: 0,
      RequestId: '1DD89D33-9D60-179A-9D3E-07CA381F07B5',
      Success: true
    }
                        

Detail接口

  • 代码示例

    const oss = require('@alicloud/oss-util');
    const fs = require('fs');
    const imagesearch = require('@alicloud/imagesearch20201214')
    // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
    const client = new imagesearch.default({
      // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
      // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
      // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
      accessKeyId: process.env.CC_AK_ENV,
      accessKeySecret: process.env.CC_SK_ENV,
      type: "access_key",
      // 请更换成您购买实例的区域,例如购买的是杭州区域,则endpoint="imagesearch.cn-hangzhou.aliyuncs.com"
      endpoint: "imagesearch.cn-shanghai.aliyuncs.com",
    
      // 以下为内网(VPC)访问方式
      // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
      // endpointType : "internal",  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
      // endpoint : "imagesearch-vpc.cn-shanghai.aliyuncs.com", // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
      // 请您更换成您购买实例的区域,例如您购买的实例区域为杭州,则更换为regionId="cn-hangzhou"
      regionId: "cn-shanghai",
      protocol: 'http'
    });
    async function detail() {
      const request = new imagesearch.DetailRequest({
        // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
        instanceName: "XXXXXXXXXXXXXXXXXX"
      });
      const response = await client.detail(request);
      console.log(4, response.body.toMap());
    }
    detail();

  • 结果示例

    4 {
      Instance: {
        Capacity: 10,
        Name: 'xxxxxx',
        Qps: 1,
        Region: 'cn-shanghai',
        ServiceType: 0,
        TotalCount: 99999,
        UtcCreate: '1620382716000',
        UtcExpireTime: '1623081600000'
      },
      RequestId: '84ADF9D3-3668-1837-B0A9-ADB093F77DB2',
      Success: true
    }
                        

DumpMeta接口

  • 代码示例

    const oss = require('@alicloud/oss-util');
    const fs = require('fs');
    const imagesearch = require('@alicloud/imagesearch20201214')
    // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
    const client = new imagesearch.default({
      // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
      // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
      // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
      accessKeyId: process.env.CC_AK_ENV,
      accessKeySecret: process.env.CC_SK_ENV,
      type: "access_key",
      // 请更换成您购买实例的区域,例如购买的是杭州区域,则endpoint="imagesearch.cn-hangzhou.aliyuncs.com"
      endpoint: "imagesearch.cn-shanghai.aliyuncs.com",
    
      // 以下为内网(VPC)访问方式
      // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
      // endpointType : "internal",  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
      // endpoint : "imagesearch-vpc.cn-shanghai.aliyuncs.com", // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
      // 请您更换成您购买实例的区域,例如您购买的实例区域为杭州,则更换为regionId="cn-hangzhou"
      regionId: "cn-shanghai",
      protocol: 'http'
    });
    async function dumpMeta() {
      const request = new imagesearch.DumpMetaRequest({
        // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
        instanceName: "XXXXXXXXXXXXXXXXXX"
      });
      const response = await client.dumpMeta(request);
      console.log(4, response.body.toMap());
    }
    dumpMeta();

    const oss = require('@alicloud/oss-util');
    const fs = require('fs');
    const imagesearch = require('@alicloud/imagesearch20201214')
    // 创建AK/SK参考:https://www.alibabacloud.com/help/zh/resource-access-management/latest/accesskey-pairs-create-an-accesskey-pair-for-a-ram-user
    const client = new imagesearch.default({
      // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
      // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
      // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
      accessKeyId: process.env.CC_AK_ENV,
      accessKeySecret: process.env.CC_SK_ENV,
      type: "access_key",
      // 请更换成您购买实例的区域,例如购买的是杭州区域,则endpoint="imagesearch.cn-hangzhou.aliyuncs.com"
      endpoint: "imagesearch.cn-shanghai.aliyuncs.com",
    
      // 以下为内网(VPC)访问方式
      // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
      // endpointType : "internal",  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
      // endpoint : "imagesearch-vpc.cn-shanghai.aliyuncs.com", // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
      // 请您更换成您购买实例的区域,例如您购买的实例区域为杭州,则更换为regionId="cn-hangzhou"
      regionId: "cn-shanghai",
      protocol: 'http'
    });
    async function dumpMeta() {
      const request = new imagesearch.DumpMetaRequest({
        // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
        instanceName: "XXXXXXXXXXXXXXXXXX"
      });
      const response = await client.dumpMeta(request);
      console.log(4, response.body.toMap());
    }
    dumpMeta();
  • 结果示例

    4 {
      Data: { DumpMetaStatus: 'PROCESSING', Id: '571' },
      RequestId: '8B639BD9-5EAB-127D-89EF-3EBE3277E02F',
      Success: true
    }
                        

DumpMetaList接口

  • 代码示例

    const oss = require('@alicloud/oss-util');
    const fs = require('fs');
    const imagesearch = require('@alicloud/imagesearch20201214')
    // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
    const client = new imagesearch.default({
      // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
      // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
      // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
      accessKeyId: process.env.CC_AK_ENV,
      accessKeySecret: process.env.CC_SK_ENV,
      type: "access_key",
      // 请更换成您购买实例的区域,例如购买的是杭州区域,则endpoint="imagesearch.cn-hangzhou.aliyuncs.com"
      endpoint: "imagesearch.cn-shanghai.aliyuncs.com",
    
      // 以下为内网(VPC)访问方式
      // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
      // endpointType : "internal",  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
      // endpoint : "imagesearch-vpc.cn-shanghai.aliyuncs.com", // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
      // 请您更换成您购买实例的区域,例如您购买的实例区域为杭州,则更换为regionId="cn-hangzhou"
      regionId: "cn-shanghai",
      protocol: 'http'
    });
    async function dumpMetaList() {
      const request = new imagesearch.DumpMetaListRequest({
        // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
        instanceName: "XXXXXXXXXXXXXXXXXX",
        // 选填,元数据导出任务id。
        id: 567,
        // 选填,返回结果起始位置,默认1。
        pageNumber: 1,
        // 选填,返回结果数量,默认20。
        pageSize: 1
      });
      const response = await client.dumpMetaList(request);
      console.log(4, response.body.toMap());
      console.log(4, response.body.data.dumpMetaList);
    }
    dumpMetaList();

  • 结果示例

    4 {
      Data: {
        DumpMetaList: [ [Object] ],
        PageNumber: 1,
        PageSize: 1,
        TotalCount: 1
      },
      RequestId: 'BFE47106-BF23-1581-A3AB-F3F54D8866BC'
    }
    4 [
      DumpMetaListResponseBodyDataDumpMetaList {
        code: '0',
        id: 567,
        metaUrl: 'https://xxx/xxx',
        msg: 'success',
        status: 'SUCCESS',
        utcCreate: '1639969113000',
        utcModified: 1639969140000
      }
    ]
    
                        

BatchTask接口

  • 代码示例

    const oss = require('@alicloud/oss-util');
    const fs = require('fs');
    const imagesearch = require('@alicloud/imagesearch20201214')
    // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
    const client = new imagesearch.default({
      // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
      // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
      // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
      accessKeyId: process.env.CC_AK_ENV,
      accessKeySecret: process.env.CC_SK_ENV,
      type: "access_key",
      // 请更换成您购买实例的区域,例如购买的是杭州区域,则endpoint="imagesearch.cn-hangzhou.aliyuncs.com"
      endpoint: "imagesearch.cn-shanghai.aliyuncs.com",
    
      // 以下为内网(VPC)访问方式
      // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
      // endpointType : "internal",  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
      // endpoint : "imagesearch-vpc.cn-shanghai.aliyuncs.com", // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
      // 请您更换成您购买实例的区域,例如您购买的实例区域为杭州,则更换为regionId="cn-hangzhou"
      regionId: "cn-shanghai",
      protocol: 'http'
    });
    async function batchTask() {
      const request = new imagesearch.IncreaseInstanceRequest({
        // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
        instanceName: "XXXXXXXXXXXXXXXXXX",
        // 必填,oss 中 bucket名称。
        bucketName: "xxxx",
        // 必填,路径,必须 / 开头, 非 / 结尾。
        // 此路径下需要提前准备好 increment.meta 文件,可参考,用户指南下的批量操作文档。
        path: "/public/xxx",
        // 选填,请求成功回调地址,http(s)://。
        callbackAddress: "http://xxx/xx"
      });
      const response = await client.increaseInstance(request);
      console.log(4, response.body.toMap());
    }
    batchTask();

  • 结果示例

    4 {
      Data: { Id: '1474', IncrementStatus: 'PROCESSING' },
      RequestId: 'E2AF05CC-F642-1481-BD97-70DC7EBAF7C8',
      Success: true
    }
                        

BatchTaskList接口

  • 代码示例

    const oss = require('@alicloud/oss-util');
    const fs = require('fs');
    const imagesearch = require('@alicloud/imagesearch20201214')
    // 创建AK/SK参考:https://help.aliyun.com/document_detail/116401.htm
    const client = new imagesearch.default({
      // 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
      // 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
      // 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
      accessKeyId: process.env.CC_AK_ENV,
      accessKeySecret: process.env.CC_SK_ENV,
      type: "access_key",
      // 请更换成您购买实例的区域,例如购买的是杭州区域,则endpoint="imagesearch.cn-hangzhou.aliyuncs.com"
      endpoint: "imagesearch.cn-shanghai.aliyuncs.com",
    
      // 以下为内网(VPC)访问方式
      // 说明:内网(VPC)访问:仅限同区域ECS或资源的访问,例如您购买的图像搜索实例是华东2(上海),那么您的ECS或资源也必须在华东2(上海)才能通过内网VPC地址访问图搜服务,否则会调用不通,如果遇到调用不通,请先检查您的ECS或资源与图像搜索是否在同一个区域。
      // endpointType : "internal",  // 如果是内网访问图像搜索服务,则endpointType为必填项,值统一为"internal"
      // endpoint : "imagesearch-vpc.cn-shanghai.aliyuncs.com", // 为内网访问(VPC)地址,请您更换为您购买实例的区域,例如您购买实例的区域为杭州,则endpoint="imagesearch-vpc.cn-hangzhou.aliyuncs.com"
    
      // 请您更换成您购买实例的区域,例如您购买的实例区域为杭州,则更换为regionId="cn-hangzhou"
      regionId: "cn-shanghai",
      protocol: 'http'
    });
    async function batchTaskList() {
      const request = new imagesearch.IncreaseListRequest({
        // 必填,图像搜索实例名称。注意是实例名称不是实例ID。购买后通过上云层管控台实例信息一栏查看:https://imagesearch.console.aliyun.com/overview
        instanceName: "XXXXXXXXXXXXXXXXXX",
        // 必填 oss 中 bucket名称。
        bucketName: "xxxx",
        // 必填,路径,必须 / 开头, 非 / 结尾。
        path: "/public/xxx",
        // 选填,元数据导出任务id。
        id: 1464,
        // 选填,返回结果起始位置,默认1。
        pageNumber: 1,
        // 选填,返回结果数量,默认20。
        pageSize: 1
      });
      const response = await client.increaseList(request);
      console.log(4, response.body.toMap());
      console.log(4, response.body.data.increments.toMap());
    }
    batchTaskList();

  • 结果示例

    4 {
      Data: {
        Increments: { Instance: [Array] },
        PageNumber: 1,
        PageSize: 1,
        TotalCount: 1
      },
      RequestId: 'F51B5D0D-3E10-170B-88ED-79997736C6E8'
    }
    4 {
      Instance: [
        {
          BucketName: 'cccxxx',
          Code: '0',
          ErrorUrl: 'https://x/x',
          Id: 1464,
          Msg: 'success',
          Path: '/public/xxx',
          Status: 'NORMAL',
          UtcCreate: '1639107872000',
          UtcModified: 1639125540000
        }
      ]
    }