在阿里云的函数计算上部署程序
最近 Serverless 的火热,大家也很想知道我们的 kintone 如何利用这种无服务器的红利,来进行更加简单高效的开发。
这次我们利用手边现有的资源,运用阿里云做了一个逸创云客服和 kintone 的数据同步。
下面就来分享下心得。希望能给大家在无服务器部署方面带来一点启发。
课题
当用户在逸创云客服上添加一条工单申请后,他会自动同步到 kintone。
技术分析
因为逸创云客服支持 webhook 协议,我们可以利用 webhook 来调用阿里云上的 API 网关,然后通过 API 网关调用阿里云函数计算的实例,
函数计算实例的方法里,我们调用了逸创的工单 API,获取到我们想要的数据后,再同步到 kintone。
流程就是
用户的工单申请 → webhooks → 阿里云 API 网关 → 阿里云函数计算实例 → 获取逸创工单并同步 kintone
下面我们就来详细看下每个服务怎么部署吧。
逸创云客服的部署
创建逸创云客服工单
通过逸创云客服的后台,我们创建好了一个“联系我们“的工单。
触发器任务/提醒任务
在逸创云客服的后台添加触发器,可以根据自己的需求选择触发的条件。这里设置为当工单被创建时为触发。
消息内容选择{{ticket.id}} ,就是工单的id。具体的标签的替换说明,可以点击 “查看所有替换标签” 查看。
提醒目标 Webhook
配置webhook,URL地址填写阿里云的API网关地址。(我们可以先空着,等后面了解了API网关之后再来填写。)
kintone的部署
kintone上创建好应用,并且添加逸创云客服上的字段。具体字段名可以在逸创的设置里查询到。并且设置好API令牌。
查看工单的字段信息
kintone字段设置举例
阿里云的部署
阿里云的部署,我们分为函数计算实例的部署和API网关的部署。
函数计算
新建服务
在函数计算后台新建一个服务。
新建函数
在服务下面新建函数。函数语言选择nodejs8。(当然你也可以根据自己的需求用它支持的其他语言进行开发。)
触发器类型:不创建触发器。模板权限管理的权限配置可以选择 AliyunFCFullAccess
代码执行管理
创建一个npm项目,并且导入相关的库。
npm init
npm install --save @kintone/kintone-js-sdk request request-promise
其中kintone/kintone-js-sdk是kintone的js sdk。
具体的用法可以参见文档:https://github.com/kintone-labs/kintone-js-sdk/
逸创云客服的API文档请参见他们的官网:https://developer.kf5.com/doc/core/core/
要查看放到阿里云的函数计算上的代码 index.js、API网关设置等请查看:
https://cybozudev.kf5.com/hc/kb/article/1298547/?from=cnblogs