Node.js SDK

更新时间:
复制为 MD 格式

表格存储 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

  1. 在命令行界面执行以下命令来将环境变量设置追加到 ~/.bashrc 文件中。

    echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.bashrc
    echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.bashrc
  2. 执行以下命令使变更生效。

    source ~/.bashrc
  3. 执行以下命令检查环境变量是否生效。

    echo $TABLESTORE_ACCESS_KEY_ID
    echo $TABLESTORE_ACCESS_KEY_SECRET

macOS

  1. 在终端中执行以下命令,查看默认 Shell 类型。

    echo $SHELL
  2. 根据默认 Shell 类型进行操作。

    Zsh
    1. 执行以下命令来将环境变量设置追加到 ~/.zshrc 文件中。

      echo "export TABLESTORE_ACCESS_KEY_ID='YOUR_ACCESS_KEY_ID'" >> ~/.zshrc
      echo "export TABLESTORE_ACCESS_KEY_SECRET='YOUR_ACCESS_KEY_SECRET'" >> ~/.zshrc
    2. 执行以下命令使变更生效。

      source ~/.zshrc
    3. 执行以下命令检查环境变量是否生效。

      echo $TABLESTORE_ACCESS_KEY_ID
      echo $TABLESTORE_ACCESS_KEY_SECRET
    Bash
    1. 执行以下命令来将环境变量设置追加到 ~/.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
    2. 执行以下命令使变更生效。

      source ~/.bash_profile
    3. 执行以下命令检查环境变量是否生效。

      echo $TABLESTORE_ACCESS_KEY_ID
      echo $TABLESTORE_ACCESS_KEY_SECRET

Windows

CMD
  1. CMD中运行以下命令设置环境变量。

    setx TABLESTORE_ACCESS_KEY_ID "YOUR_ACCESS_KEY_ID"
    setx TABLESTORE_ACCESS_KEY_SECRET "YOUR_ACCESS_KEY_SECRET"
  2. 重启CMD后,运行以下命令,检查环境变量是否生效。

    echo %TABLESTORE_ACCESS_KEY_ID%
    echo %TABLESTORE_ACCESS_KEY_SECRET%
PowerShell
  1. 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)
  2. 运行以下命令,检查环境变量是否生效。

    [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 通过 TableStore.Long 提供 int64 支持。

Double

number

JavaScript 基本类型。

Boolean

boolean

JavaScript 基本类型。

Binary

Buffer

Node.js Buffer 对象,用于处理二进制数据。

TableStore.Long 用于在 int64 与 JavaScript 原生的 numberstring 之间互相转换:

// 从 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'

常见问题

相关文档

如需了解表格存储的错误处理方式,请参见错误处理