egg-aliyun-tablestore


阿里云表格存储(Tablestore)插件,用于 Egg.js 框架。
目录
介绍
本插件的工作只是将表格存储(Tablestore)官方 Node.js SDK 挂载到 Egg.js 框架上,使其能够被便捷地使用。对于表格存储的内部方法,请查看 官方文档 。
安装
按照通用的方式使用 npm 下载安装到你的项目下即可,无需全局安装。
安装命令:
$ npm i egg-aliyun-tablestore
使用
在使用前,请确保你已经阅读 Egg.js 框架关于插件的 文档 。
下面说明如何配置以及使用插件。
启用插件
在 config/plugin.js 文件中中声明启用 egg-aliyun-tablestore 插件:
exports.tablestore = {
enable: true,
package: 'egg-aliyun-tablestore',
}
在 config/config.${env}.js 配置各个环境的实例信息。
配置方式
根据实例数量分为 单实例配置 和 多实例配置 两种配置方式,使用上也略有不同。
单实例配置
exports.tablestore = {
client: {
accessKeyId: 'xxxxxxxxxxxx',
accessKeySecret: 'xxxxxxxxxxxx',
endpoint: 'xxxxxxxxxxxx',
instancename: 'xxxxxxxxxxxx',
maxRetries: 20,
},
app: true,
agent: false,
}
如果你不清楚上述配置项是什么含义或者不知道应该填什么,请 查看官方文档 。
多实例配置
exports.tablestore = {
clients: {
ots1: {
accessKeyId: 'xxxxxxxxxxxx',
accessKeySecret: 'xxxxxxxxxxxx',
endpoint: 'xxxxxxxxxxxx',
instancename: 'xxxxxxxxxxxx',
maxRetries: 20,
},
ots2: {
accessKeyId: 'xxxxxxxxxxxx',
accessKeySecret: 'xxxxxxxxxxxx',
endpoint: 'xxxxxxxxxxxx',
instancename: 'xxxxxxxxxxxx',
maxRetries: 20,
},
},
default: {
},
app: true,
agent: false,
}
使用说明
单实例模式和多实例模式在使用上存在差异,请查看以下使用方式。
单实例使用方式
单实例下,可以直接访问 app 的 tablestore 属性或者 ots 属性访问实例。( ots 是 tablestore 的别名,两者完全一致,建议使用 ots ,因为更简短。)
app.tablestore.listTable({}, function (err, data) {
if (err) {
console.log('error:', err)
return
}
console.log('success:', data)
})
app.ots.listTable({}, function (err, data) {
if (err) {
console.log('error:', err)
return
}
console.log('success:', data)
})
async ()=>{
const data = await app.ots.listTable({})
console.log(data)
}
多实例使用方式
多实例使用方式和单实例类似,只是 获取实例的方式 变了,原来可以直接访问 app.ots 获取实例,变更为 app.ots.get(otsName) 获取。
const client1 = app.ots.get('ots1')
获取原始类
静态属性、方法调用时,需要获取原始的 TableStore 类,可以使用访问 app.TableStore 来获取。
相关
以下是作者开发的 Egg.js 框架的插件系列,已用于作者的生产项目中,推荐使用。
作者
我是 inlym ,一个产品经理和全栈开发者。
如果你有任何问题或者建议,欢迎联系我,以下是我的联系方式:
参与
非常欢迎你能够参与这个项目的开发和维护。
你可以通过以下几种方式参与到项目中:
- 提建议和需求。对于几句话就能说清楚的建议和需求,你可以直接 提一个 New Issue 。
- Fork 项目,修改代码,然后提交 Pull requests 。(提交前请检查务必通过 ESLint 检查)
许可证
本插件使用 MIT 许可证。