表格存储 Node.js SDK 支持宽表模型操作。
快速接入
完成环境准备、SDK 安装和客户端初始化,快速接入表格存储 Node.js SDK。
准备环境
已安装 Node.js 4.0 及以上版本。
重要由于兼容性问题,不要使用 Node.js 12.0~12.14 版本。
已安装 Node.js 开发工具。
安装 SDK
执行以下 npm 命令安装表格存储 Node.js SDK。
npm install tablestore如果使用 npm 遇到网络问题,可以使用淘宝提供的 npm 镜像。具体网址请参见cnpm。
Node.js SDK 提供示例程序,涵盖宽表模型的常见操作。通过以下方式获取示例程序。
下载Node.js SDK并解压后查看 sample 文件夹中的示例程序。
访问GitHub项目。
配置访问凭证
为阿里云账号或RAM用户创建AccessKey,并按如下方式将AccessKey配置到环境变量中。通过环境变量配置AccessKey可避免在代码中硬编码敏感信息,提升安全性。
配置完成后请重启或刷新编译运行环境,包括IDE、命令行界面、其它桌面应用程序及后台服务,确保最新的系统环境变量成功加载。更多访问凭证类型,请参见配置访问凭证。
Linux
在命令行界面执行以下命令来将环境变量设置追加到
~/.bashrc文件中。echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc执行以下命令使变更生效。
source ~/.bashrc执行以下命令检查环境变量是否生效。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
macOS
在终端中执行以下命令,查看默认 Shell 类型。
echo $SHELL根据默认 Shell 类型进行操作。
Zsh
执行以下命令来将环境变量设置追加到
~/.zshrc文件中。echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc执行以下命令使变更生效。
source ~/.zshrc执行以下命令检查环境变量是否生效。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
Bash
执行以下命令来将环境变量设置追加到
~/.bash_profile文件中。echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bash_profile echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bash_profile执行以下命令使变更生效。
source ~/.bash_profile执行以下命令检查环境变量是否生效。
echo $TABLESTORE_ACCESS_KEY_ID echo $TABLESTORE_ACCESS_KEY_SECRET
Windows
CMD
在CMD中运行以下命令设置环境变量。
setx TABLESTORE_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID" setx TABLESTORE_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"重启CMD后,运行以下命令,检查环境变量是否生效。
echo %TABLESTORE_ACCESS_KEY_ID% echo %TABLESTORE_ACCESS_KEY_SECRET%
PowerShell
在PowerShell中运行以下命令。
[Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", "YOUR_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::SetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", "YOUR_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)运行以下命令,检查环境变量是否生效。
[Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_ID", [EnvironmentVariableTarget]::User) [Environment]::GetEnvironmentVariable("TABLESTORE_ACCESS_KEY_SECRET", [EnvironmentVariableTarget]::User)
初始化客户端
初始化客户端后,通过列举实例下的数据表验证连接是否正常。
新创建的实例默认未启用公网访问功能。如需通过公网访问实例中的资源,在实例的网络管理中开启公网访问。
var TableStore = require('tablestore');
// yourInstanceName 填写您的实例名称
var instancename = 'yourInstanceName';
// yourEndpoint 填写您的实例访问地址
var endpoint = 'yourEndpoint';
// 获取环境变量里的 AccessKey ID 和 AccessKey Secret
var accessKeyId = process.env.TABLESTORE_ACCESS_KEY_ID;
var secretAccessKey = process.env.TABLESTORE_ACCESS_KEY_SECRET;
// 初始化 Tablestore Client
var client = new TableStore.Client({
accessKeyId: accessKeyId,
secretAccessKey: secretAccessKey,
endpoint: endpoint,
instancename: instancename
});
// 列出实例中的数据表列表并打印到控制台
client.listTable({}, function (err, data) {
if (err) {
console.log('error:', err);
return;
}
console.log('success:', data);
});数据类型
表格存储数据类型与 Node.js SDK 数据类型的对应关系如下。
表格存储数据类型 | Node.js SDK 数据类型 | 说明 |
String | string | JavaScript 基本类型。 |
Integer | int64 | Node.js SDK 封装类型。JavaScript 没有原生 64 位整数,SDK 通过 |
Double | number | JavaScript 基本类型。 |
Boolean | boolean | JavaScript 基本类型。 |
Binary | Buffer | Node.js |
TableStore.Long 用于在 int64 与 JavaScript 原生的 number 或 string 之间互相转换:
// 从 number 或 string 构造 int64
const valueA = TableStore.Long.fromNumber(1000);
const valueB = TableStore.Long.fromString('2000');
// 将 int64 转换回 JavaScript 原生类型
const numA = valueA.toNumber(); // 1000
const strA = valueA.toString(); // '1000'
const numB = valueB.toNumber(); // 2000
const strB = valueB.toString(); // '2000'常见问题
相关文档
如需了解表格存储的错误处理方式,请参见错误处理。