背景介绍

应用云数据库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");let myHandler = async function(event, context, callback, logger) {logger.info(JSON.stringify(event));logger.info("event start");const cloudDBZoneWrapper = new CloudDBZoneWrapper();const bookInfo = cloudDBZoneWrapper.getSingleBook();// upsert a list of booksawait cloudDBZoneWrapper.upsertBookInfos(bookInfo);let result = {"message":"Run Success"}callback(result);}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/...