您可以在Alibaba Cloud Shell中,快速体验用于函数计算开发的Fun/fcli工具。

教程介绍

以下步骤及示例均已在 Alibaba Cloud Shell 中集成。您可以在 Cloud Shell 中打开,快速理解并体验Fun/fcli两种工具在函数计算平台完成从应用的创建、函数的增删改查全生命周期管理,以及后续关联云产品的配置等操作。

在本教程中涉及的两种用于函数计算开发的工具的介绍:
  • Fun介绍:Fun是一个用于支持Serverless应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。
  • fcli介绍:fcli是阿里云函数计算的命令行工具,帮助您便捷的管理函数计算中的资源。本教程带领您通过fcli命令完成函数计算的创建,修改,应用的部署等相关工作。

使用Fun工具部署应用

在Alibaba Cloud Shell中,为您内置了授权,无需安装和进行额外配置,您可以直接使用Fun工具来进行函数计算的相关操作。您可以直接执行fun --help来获取所有可执行命令的详细信息。

本教程使用的demo示例,已经加载到Alibaba Cloud Shell的教程目录中。您可以执行ls查看当前目录下所有文件。

执行以下命令,部署本地函数到函数计算。
fun deploy

初次使用fcli

在Alibaba Cloud Shell中,为您内置了授权,无需安装和进行额外配置,您可以直接使用fcli工具来进行函数计算的相关操作。您可以直接执行fcli --help来获取fcli所有可执行命令的详细信息。

命令如下:
  alias           alias related operation
  config          Configure the fcli
  function        function related operation
  help            Help about any command
  service         service related operation
  shell           interactive shell
  sls             sls related operation
  trigger         trigger related operation
  version         fcli version information

Service相关命令

您可以通过执行fcli service --help命令来查看fcli提供了哪些service命令。

说明 本教程中,类似myService命名的示例信息替换为您的真实信息。
  • 创建服务:
    1. 新建一个不带高级配置的服务:
      fcli service create -s myService
    2. 新建一个带高级配置的服务:
      fcli service create -s myService -d 'my description' -p my-log-project -l my-log-store -r acs:ram::myAccountId:role/myRoleName
      您可以通过以下参数自定义您的配置:
      • myService:服务的名称。
      • my description:指定服务对应的描述信息。
      • my-log-project:指定服务对应的日志项目。
      • my-log-store:指定服务对应的日志存储。
      • myAccountId:账号ID。
      • myRoleName:指定服务对应的角色。
  • 列出当前环境变量配置的region下的所有服务。
    fcli service list
  • 获取单个服务的详细信息。
    fcli service get -s myService
  • 删除单个服务。
    fcli service delete -s myService
  • 获取更新服务时的所有可修改参数。
    fcli service update --help

Function 相关命令

您可以通过fcli function --help来查看fcli提供了哪些function命令。

  • 获取某个服务下的函数列表:
    fcli function list -s myService
  • 创建函数:
    // 在相应service目录下
    >>> fcli f create -s myTestService201 -f helloworld -t nodejs8 -h helloworld.handler -b clitest20190109 -o helloworld.js //代码存储在oss上,-t指定runtime,-h指定函数入口,-b指定代码所在的oss bucket,-o 指定了代码在bucket中的object key
    >>> fcli f create -s myTestService201 -f hello -t nodejs6 -h hello.handler -d src -m 512 //代码存储在本地,-d指定了代码所在目录,-m设置函数执行的内存大小
    >>> fcli f create -s myTestService201 -f code.zip -t nodejs6 -h hello.handler -d src -m 512 nodejs6 //代码在本地的code.zip中    
  • 更新函数:
    // 在相应service目录下
    >>> fcli f update -s myTestService201 -f helloworld -t nodejs8 -h helloworld.handler -b clitest20190109 -o helloworld.js //代码存储在oss上,-t指定runtime,-b指定代码所在的oss bucket,-o 指定了代码在bucket中的object key
    >>> fcli f update -s myTestService201 -f hello -t nodejs6 -h hello.handler -d src -m 512 //代码存储在本地,-d指定了代码所在目录,-m设置函数执行的内存大小
    >>> fcli f update -s myTestService201 -f code.zip -t nodejs6 -h hello.handler -d src -m 512 //代码在本地的code.zip中
  • 触发函数
    fcli f invoke -s myTestService201 -f hello
    说明 您可以通过fcli f invoke -s myTestService201 --help来查看fcli提供了哪些invoke function命令。

Trigger相关命令

您可以通过执行fcli trigger命令来查看fcli提供了哪些trigger命令。

log相关命令

执行以下命令查看SLS下的日志项目:
fcli sls project list

相关文档