项目链接:https://github.com/yzITI/simple-aliyun-tablestore
请前往项目链接查看最新文档!
阿里云表格存储功能强大,因而API非常繁琐,在只需要完成简单的数据存储功能时非常麻烦。此项目对阿里云的表格存储Nodejs SDK进行简化封装,用一部分功能的代价换取简单方便的接口。此项目省略的功能包括:
- 版本:不考虑多版本表格,也不考虑数据写入的时间戳。
- 表操作:不支持对表的操作,仅支持对数据的读写。
- 整数:整数数字会被自动转化为整数类型。
- 主键:默认使用一个主键
id
,但是支持自定义主键和多主键,请参考主键 - 多元索引:仅支持少数多元索引功能
开始使用
为了支持函数计算等应用场景,请直接复制代码仓库中的/SAT.js
。
需要先安装官方的Nodejs SDK: npm i tablestore
const SAT = require('./SAT.js')
SAT.init('endpoint', 'instance', 'akId', 'akSecret')
async function test () {
const opt = SAT.table('tablename')
// 覆盖写入行
await opt.put('rowid', { hello: 'world!' })
// 读取行,返回包含行属性的对象
const res = await opt.get('rowid')
console.log(res)
}
test()
约定
常量
新增了短的常量符号,与官方常量的对照关系如下:(官方的常量依然支持)
I IGNORE
E EXPECT_EXIST
NE EXPECT_NOT_EXIST
== EQUAL
!= NOT_EQUAL
> GREATER_THAN
>= GREATER_EQUAL
< LESS_THAN
<= LESS_EQUAL
! NOT
&& AND
|| OR
条件
条件变量c
可以描述行的存在条件,也可以同时描述列条件。常规情况下,c
是一个如下格式的数组:
c = ['E', ['num', '==', 10], ['space', '>', 10]]
数组首个元素是字符串,指定期望的行条件。从第二个元素开始,每个元素是一个长度为3的数组,描述一个列条件。多个列条件默认使用逻辑与连接。
上述例子中的条件表示:期望行存在 and num属性值等于10 and space属性值大于10
当不需要列条件时,条件变量c
可以省略为一个字符串,描述期望的行条件。
主键
若需要多个主键或自定义主键,需要在生成表的操作对象时指定,并在传入主键时按顺序传入数组,例如:
const opt = SAT.table('tablename', ['pk1', 'pk2'])
const res = await opt.get(['pk1value', 123])
接口文档请前往项目链接查看!
https://github.com/yzITI/simple-aliyun-tablestore
如果喜欢,请给个star哦!