在阿里云函数计算上部署kintone应用

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 前言本文为转载文章,原文地址:https://cybozudev.kf5.com/hc/kb/article/1298547/函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。

前言

本文为转载文章,原文地址:https://cybozudev.kf5.com/hc/kb/article/1298547/
函数计算是事件驱动的全托管计算服务。使用函数计算,您无需采购与管理服务器等基础设施,只需编写并上传代码。函数计算为您准备好计算资源,弹性地可靠地运行任务,并提供日志查询、性能监控和报警等功能。
借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。
下面介绍一下kintone如何利用这种无服务器来进行更加简单高效的开发。

技术分析

因为逸创云客服支持webhook协议,我们可以利用webhook来调用阿里云上的API网关,然后通过API网关调用阿里云函数计算的实例,
函数计算实例的方法里,我们调用了逸创的工单API,获取到我们想要的数据后,再同步到kintone。
具体流程:
用户的工单申请 → webhooks → 阿里云API网关 → 阿里云函数计算实例 → 获取逸创工单并同步kintone

20191112091240

下面我们就来详细看下每个服务怎么部署吧。

逸创云客服的部署

1. 创建逸创云客服工单

通过逸创云客服的后台,我们创建好了一个“联系我们“的工单。

b1015

2. 触发器任务/提醒任务

在逸创云客服的后台添加触发器,可以根据自己的需求选择触发的条件。这里设置为当工单被创建时为触发。
消息内容选择{{ticket.id}} ,就是工单的id。具体的标签的替换说明,可以点击 “查看所有替换标签” 查看。

b1007

3. 提醒目标 Webhook

配置webhook,URL地址填写阿里云的API网关地址。(我们可以先空着,等后面了解了API网关之后再来填写。)

b1009

4. kintone的部署

kintone上创建好应用,并且添加逸创云客服上的字段。具体字段名可以在逸创的设置里查询到。并且设置好API令牌。

查看工单的字段信息

b1019

kintone字段设置举例

b1021

阿里云的部署

阿里云的部署,我们分为函数计算实例的部署和API网关的部署。

1. 函数计算

新建服务

在函数计算控制台新建一个服务。

b1005

新建函数

在服务下面新建函数。函数语言选择nodejs8。(当然你也可以根据自己的需求用它支持的其他语言进行开发。)
触发器类型:不创建触发器。模板权限管理的权限配置可以选择 AliyunFCFullAccess

b1013

代码执行管理

创建一个npm项目,并且导入相关的库。

npm init
npm install --save @kintone/kintone-js-sdk  request request-promise

其中kintone/kintone-js-sdk是kintone的js sdk。
具体的用法可以参见文档:https://kintone.github.io/kintone-js-sdk/latest/
逸创云客服的API文档请参见他们的官网:https://developer.kf5.com/doc/core/core/
以下是放到阿里云的函数计算上的代码 index.js

'use strict';
const request = require('request-promise');
const kintone = require('@kintone/kintone-js-sdk');
const Url = 'https://xxxx.kf5.com';
const Email = 'xxxx';
const Token = 'xxxxxxxxxxxx';
const KINTONE_DOMAIN = "xxxx.cybozu.com";
const MY_TOKEN = "xxxxxxxxxxxx";
const appID = xxx;
const baseresponse = {
    isBase64Encoded: false,
    statusCode: 200
};
 
async function handler(event, context, callback) {
    const eventObj = JSON.parse(event.toString());
    const ticketId = eventObj.queryParameters.message;
    const url = Url + '/apiv2/tickets/' + ticketId + '.json';
    const params = {
        url: url,
        method: 'GET',
        json: true,
        headers: {
            'content-type': 'application/json',
        },
        auth: {
            user: Email + '/token',
            pass: Token,
            sendImmediately: false,
        },
        body: '',
    };
    let kintoneAuthWithAPIToken = (new kintone.Auth()).setApiToken(MY_TOKEN);
    let kintoneConnection = new kintone.Connection(KINTONE_DOMAIN, kintoneAuthWithAPIToken);
    let kintoneRecord = new kintone.Record(kintoneConnection);
    try {
        const getdata = await request(params);
        let record = getdata.ticket.custom_fields;
        var kdata = {};
        for (var index in record) {
            var fieldName = record[index].name;
            kdata[fieldName] = { value: record[index].value };
        }
        await kintoneRecord.addRecord(appID, kdata);
        const response = Object.assign(baseresponse, {
            body: {
                status: "ok"
            }
        });
        callback(null, response);
    } catch (e) {
        callback(e);
    }
};
module.exports.handler = handler;

请按照实际情况,设置以下内容:

  • 逸创云客服的相关变量:Url,Email,Token
  • kintone的变量:KINTONE_DOMAIN,MY_TOKEN,appID

然后将项目打包并上传。

b1014

代码解析

通过webhook传入的工单id,去调用逸创云客服的API获取它的工单数据,然后再同步到kintone。

2. API网关设置

我们通过配置API网关来作为webhook触发的地址。来调用函数计算上的函数来同步工单数据。
我这里只是做个简单的演示,所以都是使用的最简单的配置。具体可以根据自己的需求,设置好安全认证。

基本信息

b998

设置入参定义: 参数名“message”、参数位置为Query、类型为string

b1012

填写函数计算实例的服务名称和函数名称

b1004

返回类型

b1001

最后将这个API网关保存上线。

测试

好了,我们现在可以测试一下,在逸创云客服的前台添加一个工单,看看我们的kintone是否会及时的把这个工单同步过来呢。
当然,我们的这篇文章只是抛砖引玉。
关于利用无服务器来进行开发,还可以充分结合很多阿里云原生的服务如大数据、IoT、AI等等,然后同步到我们的kintone进行数据展示。让我们的办公变得更加高效和有趣吧!

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
21天前
|
弹性计算 人工智能 自然语言处理
魔搭社区与函数计算:高效部署开源大模型的文本生成服务体验
在数字化时代,人工智能技术迅速发展,开源大模型成为重要成果。魔搭社区(ModelScope)作为开源大模型的聚集地,结合阿里云函数计算,提供了一种高效、便捷的部署方式。通过按需付费和弹性伸缩,开发者可以快速部署和使用大模型,享受云计算的便利。本文介绍了魔搭社区与函数计算的结合使用体验,包括环境准备、部署应用、体验使用和资源清理等步骤,并提出了改进建议。
|
17天前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
54 1
|
21天前
|
运维 监控 Serverless
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
Serverless架构在图像处理等计算密集型应用中展现了显著的优势
30 1
|
24天前
|
缓存 前端开发 JavaScript
前端serverless探索之组件单独部署时,利用rxjs实现业务状态与vue-react-angular等框架的响应式状态映射
本文深入探讨了如何将RxJS与Vue、React、Angular三大前端框架进行集成,通过抽象出辅助方法`useRx`和`pushPipe`,实现跨框架的状态管理。具体介绍了各框架的响应式机制,展示了如何将RxJS的Observable对象转化为框架的响应式数据,并通过示例代码演示了使用方法。此外,还讨论了全局状态源与WebComponent的部署优化,以及一些实践中的改进点。这些方法不仅简化了异步编程,还提升了代码的可读性和可维护性。
|
1月前
|
存储 消息中间件 人工智能
ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用
本文整理自2024年云栖大会阿里云智能集团高级技术专家金吉祥的演讲《ApsaraMQ Serverless 能力再升级,事件驱动架构赋能 AI 应用》。
|
26天前
|
Serverless 数据安全/隐私保护 前端开发
大模型代码能力体验报告之贪吃蛇小游戏《一》:Claude.ai篇 - 生成、预览和快速部署的serverless一条龙
本文介绍了通过Claude.ai生成并优化Web版贪吃蛇游戏的过程,展示了其强大的代码生成功能及用户友好的界面设计。从初始版本的快速生成到根据用户反馈调整游戏速度,再到提供多种实用工具如文件管理、版本控制和一键部署,Claude.ai不仅是一个代码助手,更像是一个全面的serverless开发平台。文中还呼吁国内厂商关注此类技术的发展。
|
1月前
|
人工智能 弹性计算 运维
触手可及:阿里云函数计算助力AI大模型的评测
阿里云推出的面向AI服务器的功能计算(Functional Computing, FC),专为AI应用提供弹性计算资源。该服务支持无服务器部署、自动资源管理和多语言支持,极大简化了AI应用的开发和维护。本文全面评测了FC for AI Server的功能特性、使用体验和成本效益,展示了其在高效部署、成本控制和安全性方面的优势,并通过具体应用案例和改进建议,展望了其未来发展方向。
130 4
|
1月前
|
人工智能 弹性计算 自然语言处理
《触手可及,函数计算玩转 AI 大模型》解决方案体验与部署评测
在AI技术快速发展的背景下,大模型正推动各行业的智能化转型。企业为抓住机遇,纷纷寻求部署AI大模型以满足特定业务需求。阿里云函数计算凭借按量付费、卓越弹性和快速交付等优势,为企业提供了高效、安全的AI大模型部署方案。本文将详细介绍阿里云函数计算的技术解决方案及其在文生文、图像生成和语音生成等领域的应用实例,展示其在降低成本、提高效率和增强灵活性方面的显著优势。
|
2月前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
152 13
|
3月前
|
Serverless API 异构计算
函数计算产品使用问题之修改SD模版应用的运行环境
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。

热门文章

最新文章

相关产品

  • 函数计算