背景介绍
=========应用云数据库Server端的SDK,此处我以华为提供的官网Demo为例,他们的Demo也曾经开源放在了GitHub上,大家须要的能够自行下载。
https://github.com/AppGallery...
下载完Demo的我的项目代码后,还须要依照以下步骤操作:
后期在调研华为云函数服务的时候,发现能够在云函数中配置云数据库的触发器,能够通过云数据库的插入删除批改等事件,用来触发云函数中代码的执行。当初华为AGC的云数据库服务全网公布了,并且还提供了Server端的JavaScript SDK,刚好能够运行在云函数反对的Node.js环境中。话不多说,先来尝试一下如何在云函数中应用云数据库提供的JavaScript SDK,进行最简略的数据的插入和查问吧。
开明服务
这里波及开明两个服务:
首先须要应用华为账号登录AGC网站 ,依照以下步骤进行操作:
1.开明云函数服务
在AGC内抉择 "我的我的项目"–>抉择对应的我的项目->"构建"->"云函数",界面上点击 "立刻开明" , 开明当前点击右侧的创立函数即可。
2.开明云数据库服务
在AGC内抉择 "我的我的项目"–>抉择对应的我的项目->"构建"->"云数据库",界面上点击“立刻开明”,开明当前,还须要创立对应的对象类型和存储区。 此处对应类型和存储区的创立,我都是依照数据库文档中的应用入门来创立的。
包含创立一个 BookInfo 的对象类型, 还有一个QuickStartDemo 的存储区。
云数据库JavaScript代码开发
应用云数据库Server端的SDK,此处我以华为提供的官网Demo为例,他们的Demo也曾经开源放在了GitHub上,大家须要的能够自行下载。
https://github.com/AppGallery...
下载完Demo的我的项目代码后,还须要依照以下步骤操作:
1.导出对象类型文件
在云数据库的界面中,对曾经创立的对象类型BookInfo,导出成js的ServerSDK的格局,将其放到demo的model目录下。
2.下载认证凭据。
AGC的界面中,抉择我的项目设置,在ServerSDK页签下,点击 “下载认证凭据” 进行下载,并且同样放到demo的model目录下。
3、批改credentialPath门路。
因为我的认证凭据下载当前放在model目录下,因而还须要同步批改代码中credentialPath门路,在CloudDBZoneWrapper.js文件中,批改初始化的代码,具体如下:
(留神对于云函数环境,获取门路下的文件,要应用_dirname办法)
let api_client_name = "agc-apiclient-testDB.json" ;
let path = require('path');
let api_client_path = path.join(__dirname,api_client_name);
agconnect.AGCClient.initialize(agconnect.CredentialParser.toCredential(api_client_path));
4.配置函数入口。
我这没有应用示例代码中默认的Start.js的接口,而是本人创立了一个inde.js的文件作为函数的入口,对应的代码如下
const CloudDBZoneWrapper = require("./model/CloudDBZoneWrapper.js");
logger.info(JSON.stringify(event));``````logger.info("event start");``````const cloudDBZoneWrapper = new CloudDBZoneWrapper();``````const bookInfo = cloudDBZoneWrapper.getSingleBook();``````// upsert a list of books``````await cloudDBZoneWrapper.upsertBookInfos(bookInfo);``````let result = {"message":"Run Success"}```
}`
module.exports.myHandler = myHandler;
打包上传与配置触发器
1.如需将本地我的项目运行到云函数中,须要将我的项目整体打包上传,而后应用事件进行测试。留神函数入口须要在根目录下
2、在AGC的云函数界面,进行文件的上传,并且留神函数入口须要配置为index.myHandler。
3、配置对应的CloudDB触发器,此时须要配置CLoudDB中,对应的存储区和对象类型。
4、配置实现后,点击保留
测试函数成果
1、在函数界面,抉择对应的测试页签。
2、依据云函数的编程模型文档,配置相应的CloudDB触发器触发事件。
https://developer.huawei.com/...
3、比方我要配置对应的插入事件,对应的参数如下
{
"records": [{
"before": null,
"after": {
"id": "11111",
"bookName": "user1"
}
}],
"objectTypeName": "BookInfo",
"naturalStoreName": "QuickStartDemo"
}
4.最终的函数成果
参考链接:
华为AppGallery Connect 云函数服务业务介绍:
https://developer.huawei.com/...
云函数 – 创立函数 文档阐明 编程模型文档阐明
https://developer.huawei.com/...
云数据库 JavaScript Server SDK文档开发指南:
https://developer.huawei.com/...
更多精彩内容,请见华为开发者官方论坛→https://developer.huawei.com/...