云函数命令行工具使用指南

云函数命令行工具,通过它你可以更方便地在本地进行云函数管理:增删查改;还可以通过写 shell script,集成到已有的自动化工具中。

安装命令行工具

  • 安装 node.js 环境

  • 安装命令行工具 mincloud

通过 npm 安装:

  1. $ npm install -g mincloud

通过 yarn 安装:

  1. $ yarn global add mincloud
  • 调用
  1. $ mincloud
  2. 用法:
  3. mincloud <command>
  4. 支持的 command 有:
  5. delete, deploy, invoke, list, login, logout, new, pull
  6. - mincloud: v1.0.5
  7. - node: v8.10.0

使用示例

创建第一个云函数

  • 打开终端,进入云函数工作目录
  1. $ cd /Users/ifanr/demo
  • 登录
  1. $ mincloud login d2****************83 6a************************************22
  2. 登录成功

请到知晓云控制台查看 client_idclient_secret;如果登录失败,请检查client_idclient_secret 是否已经改变。

  • 创建本地文件
  1. $ mincloud new greet
  2. 创建成功
  3. /Users/ifanr/demo/greet
  4. /Users/ifanr/demo/greet/index.js
  5. - 函数名:greet
  6. - 函数根目录: ./

默认会创建以下代码:

  1. exports.main = function functionName(event, callback) {
  2. callback(null, "hello world")
  3. }
  • 写代码

这里创建一个简单的云函数,输入名字,返回一句问候。

  1. exports.main = function functionName(event, callback) {
  2. const {
  3. username
  4. } = event.data
  5. callback(null, `您好,${username}!`)
  6. }
  • 部署云函数
  1. $ mincloud deploy greet
  2. audit_status: approved
  3. created_at: 1539585381
  4. created_by:
  5. function_code:
  6. """
  7. exports.main = function functionName(event, callback) {
  8. const {
  9. username
  10. } = event.data
  11. callback(null, `您好,${username}!`)
  12. }
  13. """
  14. id: 1310
  15. name: greet
  16. plan_circle: P_FREE
  17. remark:
  18. updated_at: 1539585381
  19. updated_by:
  • 列出云函数状态
  1. $ mincloud list
  2. 函数名 状态
  3. greet approved
  • 调用云函数
  1. $ mincloud invoke greet "{\"username\": \"爱范儿\"}"
  2. 测试结果:成功
  3. 返回结果:
  4. 您好,爱范儿!
  5. 摘要:
  6. 任务 ID71b1ee3844364f7585f62753cc2207b4
  7. 运行时间:11.97
  8. 计费时间:100
  9. 占用内存:74.84MB
  10. 日志:
  11. 2018-10-15T06:37:40.517Z LOG event.data: { username: '爱范儿' }
  12. 2018-10-15T06:37:40.520Z LOG return: 您好,爱范儿!

命令的 API

flag说明
-j, —json调用命令成功后,以 json 格式返回结果

删除云函数

必须先登录,请参考 mincloud login。谨慎操作,此操作会将服务器上的云函数删除。

  1. $ mincloud delete <funciton_name>
参数必填默认值说明
function_name已经存在的云函数

部署云函数

必须先登录,请参考 mincloud login

  1. $ 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

  1. $ mincloud invoke <funciton_name> [data]
参数必填默认值说明
function_name已经存在的云函数
data空对象 {}JSON 数据

列出云函数

必须先登录,请参考 mincloud login

  1. $ mincloud list

登录

使用知晓云客户端凭证登录,令牌将保存在本地文件 .mincloudrc 中;若过期,请重新登录。

  1. $ mincloud login <client_id> <client_secret>
参数必填默认值说明
client_id知晓云的客户端 ID
client_secret知晓云的客户端密钥

注销

  1. $ mincloud logout

本地创建一个云函数文件

此命令将创建一个简单的云函数,文件夹即函数名,入口文件即 <function_name>/index.js

  1. $ mincloud new <function_name> [cloud_function_root]
参数必填默认值说明
function_name云函数名
cloud_function_root当前目录 ./用于存放云函数代码的本地目录

从服务器上拉取一个已存在的云函数代码到本地

必须先登录,请参考 mincloud login

请谨慎操作,如果本地有此代码文件,将会覆盖。

  1. $ mincloud pull <function_name> [cloud_function_root]
参数必填默认值说明
function_name云函数名
cloud_function_root当前目录 ./用于存放云函数代码的本地目录