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

准备工作

  • 在安装和使用阿里云SDK前,确保您已经注册阿里云账号并生成访问密钥(AccessKey)。详情请参见创建AccessKey
  • 安装Node.js SDK核心库。阿里云Node.js SDK支持的版本为8.0及以上,您可以通过以下方式安装Node.js SDK:
    npm install @alicloud/pop-core -S
  • 您也可以使用cnpm、yarn等包管理工具来安装@alicloud/pop-core。
  • 安装图像搜索Node.js SDK。
    npm install @alicloud/imagesearch-2019-03-25  --save

代码示例

Node.js完整代码示例如下。
'use strict';
const fs = require('fs');
const qs = require("querystring");
const Client = require("@alicloud/imagesearch-2019-03-25");
// 阿里云账号AccessKey拥有所有API的访问权限,建议您使用RAM用户进行API访问或日常运维。
// 强烈建议不要把AccessKey ID和AccessKey Secret保存到工程代码里,否则可能导致AccessKey泄露,威胁您账号下所有资源的安全。
// 本示例以将AccessKey ID和AccessKey Secret保存在环境变量为例说明。您也可以根据业务需要,保存到配置文件里。
const client = new Client({
  accessKeyId: process.env.CC_AK_ENV,
  accessKeySecret: process.env.CC_SK_ENV,
  endpoint: "http://imagesearch.<region>.aliyuncs.com"
});
const options = {
  method: 'POST',
  "Content-Type": 'application/x-www-form-urlencoded; charset=UTF-8'
};
var picContent = fs.readFileSync("/home/admin/demo.jpg").toString("base64");
async function demo() {
  // 添加图片
  const addRequest = {
    InstanceName: "demo",
    ProductId: "test",
    PicName: "test",
    PicContent: picContent
  };
  const addData = qs.stringify(addRequest);
  const addResponse = await client.addImage(addData, options);
  console.log(1, addResponse);
  // 查询图片
  const searchRequest = {
    InstanceName: "test",
    PicContent: picContent
  };
  const searchData = qs.stringify(searchRequest);
  const searchResponse = await client.searchImage(searchData, options);
  console.log(2, searchResponse);
  // 删除图片
  const deleteRequest = {
    InstanceName: "demo",
    ProductId: "test"
  };
  const deleteData = qs.stringify(deleteRequest);
  const deleteResponse = await client.deleteImage(deleteData, options);
  console.log(3, deleteResponse);
}
demo();