Appearance
快速开始开发云函数
这是一个为首次接触 AirCode 的开发者准备的 5 分钟上手教程。
学习目标
通过本教程,你将学会:
- 学会使用命令行工具完成云函数的创建、开发和部署。
- 实现一个可以回复用户「Hello World」 的机器人。
Step 0. 创建飞书应用并启用机器人能力
创建应用
打开飞书开放平台开发者后台,创建一个名为「Hello World」的应用。
获取 App ID 和 App Secret
创建完成后,在应用详情页找到「凭证与基础信息」,复制应用的 App ID 和 App Secret 备用。
复制 Verification Token
在事件订阅页面复制 Verification Token 备用。
添加机器人能力
在应用详情页点击左侧的「添加应用能力」,添加「机器人能力」。
申请权限
在应用详情页点击左侧的「权限管理」,进入权限管理页面,添加「获取与发送单聊、群组消息」和「读取用户发给机器人的单聊消息」权限。
Step 1. 安装命令行工具
使用 FaaS 提供的命令行工具,你可以方便的在本地初始化、开发和部署云函数。
安装 CLI 工具
为了在本地调试晕函数,你首先需要安装 Node.js。推荐安装 Node.js 18.15.0,过低的版本可能导致命令行工具报错。
通过如下命令可以检查本地的 Node.js 版本
sh
node -v
安装完成 Node.js 和 npm 后,就可以通过下述命令安装命令行工具,这会安装全局可用的 opdev 命令。
sh
npm install @lark-opdev/cli@latest -g -f
验证是否安装成功
安装完命令行工具后,可以在命令行中执行以下指令检查是否成功安装。
sh
opdev help
安装正常将看到如下输出:
sh
opdev: Lark Open Platform Developer Toolset
USAGE
$ opdev [COMMAND]
COMMANDS
Account related
login Login with feishu account
logout Log out of the Feishu account
....
也可用 opdev version
命令来检查工具版本:
opdev --version
2.19.1
登录和登出
安装完成命令行工具后,首先需要进行登录。该命令会打开你的默认浏览器进行登录。若你的浏览器上存有飞书开放平台的登录状态,会默认登录到当前企业用户下,否则需要进行扫码登录。
sh
opdev login
如需登出当前账号,可执行
sh
opdev logout
Step 2. 创建项目
在进行本地开发之前,你需要先创建项目。在项目目录中运行以下命令可以开始初始化:
sh
mkdir faas
cd faas
opdev init
输入命令后,命令行工具将会自动在当前目录下创建一个 faas
目录,并在目录中创建 index.js
文件、 package.json
文件以及 .faasignore
文件。
其中:
index.js
文件将会作为你的云函数默认入口文件package.json
文件将会作为项目配置,记录着你的项目的基本配置。.faasignore
文件记录了不需要上传至云端的文件,默认配置无需修改。
Step 3. 开发云函数
编写代码
使用你熟悉的代码编辑器(如 Visual Studio Code),打开 index.js
文件,输入如下代码,并将飞书应用的 APPID、APP Secret 和 Verification Token 写在顶部的常量定义中
js
import * as lark from '@larksuiteoapi/node-sdk';
const APPID = ""; // APPID
const SECRET = ""; // APP Secret
const TOKEN = ""; // Verification Token
// 初始化飞书 SDK
const client = new lark.Client({
appId: APPID,
appSecret: SECRET,
});
modules.export = async (request, response, context){
// 处理验证请求
if (request.body.challenge) {
return { challenge: request.body.challenge }
}
// 处理非本应用请求
if(request.body.header.token != token){
return { code: 2 }
}
if (request.body.header.event_type == "im.message.receive_v1") {
// 使用飞书 SDK 回复一个 Hello World
const sendResponse = await client.im.message.create({
params: {
receive_id_type: 'open_id',
},
data: {
receive_id: request.body.event.sender.sender_id.open_id,
msg_type: 'text',
content: '{"text":"Hello World"}',
}
})
return {
code: 0,
data: sendResponse
}
}
return {
code: 1
}
}
安装依赖
代码编写完成后,在命令行中执行如下代码,来安装所需依赖,这些依赖将帮助你完成特定的工作,减少代码量。
sh
npm install --save @larksuiteoapi/node-sdk
sh
yarn add @larksuiteoapi/node-sdk
Step 4. 部署云函数
完成代码编写和依赖安装后,接下来部署云函数。
sh
opdev deploy
部署成功后,你将会看到如下输出,这里的 https://invoke.faas.feishu.io/index
便是你的函数调用地址。复制函数调用地址,稍后备用。
Deployed Success
Your Function URL is: https://invoke.faas.feishu.io/index
Step 5. 配置事件回调
打开飞书飞书开放平台开发者管理后台,找到刚刚创建的「Hello World」机器人,并进入「事件订阅」页面,填写事件订阅请求地址,并保存。
Step 6. 创建版本发布应用
在应用详情页,点击左侧的「版本管理与发布」,创建一个新的版本并提交申请线上发布。待企业管理员审核通过后,发布该应用。
Step 7. 测试机器人
打开飞书,找到「Hello World」机器人发送消息,将会看到机器人给你回复的「Hello World」。
恭喜你🎉,已经成功完成了第一个机器人的部署。
了解更多
如果你希望了解更多关于运行时托管,可以参考如下教程: