本文介绍图像搜索服务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();