通用操作

本文介绍fcli的通用操作命令。

前提条件

在可执行文件所在文件夹下执行fcli shell,进入交互模式。

目录跳转(cd)

cd命令用于切换函数计算的实体的层次关系,而不是切换本地目录。

>>> cd serviceName //进入相应serviceName服务的目录。
>>> ls //在service目录下ls,列出当前serviceName服务下所有函数的名称。
>>> cd functionName //进入相应functionName函数的目录。
>>> ls //在function目录下ls,列出当前functionName函数下所有触发器的名称。

列出当前目录下的文件(ls)

  • -l int32 --limit int32:指定列出资源的最大数目(默认最大数目为100)。

  • -t string--next-token string :列出从NextToken开始的资源。

  • -p string--prefix string:列出指定前缀的资源。

  • -k string--start-key string:列出从此资源开始的资源。

>>> cd myService
>>> ls
aFunction
bFunction
cFunction
cFuncion2
dFunction
eFunction
>>> ls -l 4 //指定列出文件的最大数目为4。
aFunction
bFunction
cFunction
cFuncion2
NextToken: dFunction
>>> ls -t dFunction //列出从NextToken(dFunction)开始的文件。
dFunction
eFunction
>>> ls -p c //列出前缀为c的文件。
cFunction
cFunction2
>>> ls -k dFunction //列出名字从dFunction开始的文件。
dFunction
eFunction                   

查看当前所在目录(pwd)

pwd命令用于查看当前所在目录。

查看资源的详细信息(info)

info命令用于查看函数计算资源的详细信息,其参数可以是服务名称、函数名称以及触发器名称等。

>>> info <your serviceName> //查看此服务的详细信息。
>>> info <your functionName> //查看此函数的详细信息。
>>> info <your triggerName> //查看此触发器的详细信息。

配置fcli(config)

config命令用于更改config.yaml中的配置信息。

>>> config --access-key-id 12345678 //修改access-key-id为12345678。                    

删除资源(rm)

  • rm:删除资源 。

    说明

    使用该命令前需要保证目标函数下没有触发器,目标服务下没有函数。

  • -f--forced:删除资源,且删除前无需确认。

>>> rm myFunction
Do you want to remove the resource /fc/myService/myFunction [y/n]: //删除资源前需要确认。
>>> rm -f myFunction //删除资源前无需确认,直接删除。

沙盒环境(sbox)

fcli为您提供了一个本地的沙盒环境,和函数计算服务中的函数运行环境保持一致。在沙盒环境中,您可以方便地安装第三方依赖库,进行本地调试等操作。

  • -d string--code-dir string :指定代码所在目录,它将被挂载到沙盒环境的/code位置。

  • -t string--runtime string:指定运行环境。

>>> sbox -d code -t nodejs6 //在code目录下安装依赖,语言为Node.js6。
Entering the container. Your code is in the /code direcotry.
root@df9fc****:/code# npm init -f //Node.js6需要生成package.json。
npm info it worked if it ends with ok
npm info using npm@3.10.10
npm info using node@v6.10.3
npm WARN using --force I sure hope you know what you are doing.
Wrote to /code/package.json:
{
"name": "code",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
 "jimp": "^0.2.28"
},
"devDependencies": {},
"scripts": {
 "test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
npm info init written successfully
npm info ok
root@df9fc****:/code# npm install jimp //安装jimp依赖库。
npm info it worked if it ends with ok
...
npm info lifecycle jimp@0.2.28~postinstall: jimp@0.2.28
code@1.0.0 /code
-- jimp@0.2.28
npm WARN code@1.0.0 No description
npm WARN code@1.0.0 No repository field.
npm info ok
root@df9fc****:/code# exit //退出sbox环境。                  

帮助(help)

help命令用于列出帮助信息。

  • help:可以列出所有的命令。

  • [command] --help:可以列出此操作下的所有参数的介绍。

    例如ls --help

清屏(clear)

clear命令用于清屏。

退出fcli(exit)

exit命令用于退出fcli工具。