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

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

安装命令行工具

  1. 安装 node.js 环境

  2. 安装命令行工具 mincloud

    通过 npm 安装:

    1. $ npm install -g mincloud

    通过 yarn 安装:

    1. $ yarn global add mincloud
  3. 调用

    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. 打开终端,进入云函数工作目录

    1. $ cd /Users/ifanr/demo
  2. 登录

    1. $ mincloud login d2****************83 6a************************************22
    2. 登录成功

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

  3. 创建本地文件

    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. }
  4. 写代码

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

    1. exports.main = function functionName(event, callback) {
    2. const {
    3. username
    4. } = event.data
    5. callback(null, `您好,${username}!`)
    6. }
  5. 部署云函数

    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:
  6. 列出云函数状态

    1. $ mincloud list
    2. 函数名 状态
    3. greet approved
  7. 调用云函数

    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 格式返回结果
-e, —env 可选,表示在指定的环境中执行命令

在知晓云设置页面,选择环境,并查看环境 ID。

删除云函数

必须先登录,请参考 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 当前目录 ./ 用于存放云函数代码的本地目录