云函数命令行工具使用指南
云函数命令行工具,通过它你可以更方便地在本地进行云函数管理:增删查改; 还可以通过写 shell script,集成到已有的自动化工具中。
安装命令行工具
安装 node.js 环境
安装命令行工具 mincloud
通过 npm 安装:
$ npm install -g mincloud
通过 yarn 安装:
$ yarn global add mincloud
调用
$ mincloud 用法: mincloud <command> 支持的 command 有: delete, deploy, invoke, list, login, logout, new, pull - mincloud: v1.0.5 - node: v8.10.0
使用示例
创建第一个云函数
打开终端,进入云函数工作目录
$ cd /Users/ifanr/demo
登录
$ mincloud login d2****************83 6a************************************22 登录成功
请到 知晓云控制台 查看
client_id
和client_secret
;如果登录失败,请检查client_id
和client_secret
是否已经改变。创建本地文件
$ mincloud new greet 创建成功 /Users/ifanr/demo/greet /Users/ifanr/demo/greet/index.js - 函数名:greet - 函数根目录: ./
默认会创建以下代码:
exports.main = function functionName(event, callback) { callback(null, "hello world") }
写代码
这里创建一个简单的云函数,输入名字,返回一句问候。
exports.main = function functionName(event, callback) { const { username } = event.data callback(null, `您好,${username}!`) }
部署云函数
$ mincloud deploy greet audit_status: approved created_at: 1539585381 created_by: function_code: """ exports.main = function functionName(event, callback) { const { username } = event.data callback(null, `您好,${username}!`) } """ id: 1310 name: greet plan_circle: P_FREE remark: updated_at: 1539585381 updated_by:
列出云函数状态
$ mincloud list 函数名 状态 greet approved
调用云函数
$ mincloud invoke greet "{\"username\": \"爱范儿\"}" 测试结果:成功 返回结果: 您好,爱范儿! 摘要: 任务 ID:71b1ee3844364f7585f62753cc2207b4 运行时间:11.97 计费时间:100 占用内存:74.84MB 日志: 2018-10-15T06:37:40.517Z LOG event.data: { username: '爱范儿' } 2018-10-15T06:37:40.520Z LOG return: 您好,爱范儿!
命令的 API
flag | 说明 |
---|---|
-j, --json | 调用命令成功后,以 json 格式返回结果 |
-e, --env | 可选,表示在指定的环境中执行命令 |
在知晓云设置页面,选择环境,并查看环境 ID。
删除云函数
必须先登录,请参考 mincloud login
。谨慎操作,此操作会将服务器上的云函数删除。
$ mincloud delete <funciton_name>
参数 | 必填 | 默认值 | 说明 |
---|---|---|---|
function_name | 是 | 无 | 已经存在的云函数 |
部署云函数
必须先登录,请参考 mincloud login
。
$ mincloud deploy <function_name> [cloud_function_root] [-m remark]
参数 | 必填 | 默认值 | 说明 |
---|---|---|---|
function_name | 是 | 无 | 云函数名,指定的是 <funciton_name>.js 或者 <function_name>/index.js |
cloud_function_root | 否 | 当前目录 ./ |
用于存放云函数代码的本地目录 |
flag | 说明 |
---|---|
-m, --message | 备注信息 |
调用云函数
必须先登录,请参考 mincloud login
。
$ mincloud invoke <funciton_name> [data]
参数 | 必填 | 默认值 | 说明 |
---|---|---|---|
function_name | 是 | 无 | 已经存在的云函数 |
data | 否 | 空对象 {} |
JSON 数据 |
列出云函数
必须先登录,请参考 mincloud login
。
$ mincloud list
登录
使用知晓云客户端凭证登录,令牌将保存在本地文件 .mincloudrc
中;若过期,请重新登录。
$ mincloud login <client_id> <client_secret>
参数 | 必填 | 默认值 | 说明 |
---|---|---|---|
client_id | 是 | 无 | 知晓云的客户端 ID |
client_secret | 是 | 无 | 知晓云的客户端密钥 |
注销
$ mincloud logout
本地创建一个云函数文件
此命令将创建一个简单的云函数,文件夹即函数名,入口文件即 <function_name>/index.js
。
$ mincloud new <function_name> [cloud_function_root]
参数 | 必填 | 默认值 | 说明 |
---|---|---|---|
function_name | 是 | 无 | 云函数名 |
cloud_function_root | 否 | 当前目录 ./ |
用于存放云函数代码的本地目录 |
从服务器上拉取一个已存在的云函数代码到本地
必须先登录,请参考 mincloud login
。
请谨慎操作,如果本地有此代码文件,将会覆盖。
$ mincloud pull <function_name> [cloud_function_root]
参数 | 必填 | 默认值 | 说明 |
---|---|---|---|
function_name | 是 | 无 | 云函数名 |
cloud_function_root | 否 | 当前目录 ./ |
用于存放云函数代码的本地目录 |