本文以编写Hello World函数为例,介绍如何使用Funcraft管理函数资源。

注意 本文介绍的内容后期将不再维护。如果您的函数计算资源是使用Funcraft管理的,建议您将资源迁移至Serverless Devs管理。

关于如何将函数计算的相关资源从Funcraft迁移到Serverless Devs进行管理的详细操作,请参见从Funcraft迁移到Serverless Devs

关于如何使用Serverless Devs管理函数资源,请参见使用Serverless Devs管理函数资源

由此带来的不便,敬请谅解!

背景信息

Funcraft是函数计算提供的应用部署工具,可以帮助您便捷地管理函数计算、API网关及日志服务等资源,快速部署应用。关于Funcraft的更多信息,请参见功能概览

前提条件

您已完成以下操作:

操作步骤

  1. 创建初始化模板。
    1. 执行以下命令初始化项目模板。
      fun init -n demo
    2. 根据提示选择一个项目模板。
      ? Select a template to init (Use arrow keys or type to search)
      > event-nodejs12
        event-nodejs10
        event-nodejs8
        event-nodejs6
        event-python3
        event-python2.7
        event-java8
        event-php7.2
        event-dotnetcore2.1
        http-trigger-nodejs12
        http-trigger-nodejs10
        http-trigger-nodejs8
        http-trigger-nodejs6
        http-trigger-python3
        http-trigger-python2.7
        http-trigger-java8
      (Move up and down to reveal more choices)
      项目模板类型如下:
      • event-为前缀的模板是普通的事件函数。
      • http-trigger为前缀的模板会默认为您创建HTTP触发器。HTTP触发器以Request、Response为入参,帮助您快速搭建Web应用。

      本示例中以event-nodejs10为例。

      Funcraft在执行命令的目录下,创建了一个demo的目录,并添加了两个文件,分别是index.jstemplate.yml

      • index.js包含了函数的示例代码。
      • template.yml指定了函数资源的相关信息。
        • 本示例为您创建了一个名为demo的服务与一个名为demo的函数。
        • template.yml文件支持的配置项,请参见Serverless Application Model
  2. 可选:本地调试。

    本地调试需要您本地安装Docker,详细信息,请参见安装Docker。如果您本地无法安装Docker,可以跳过此步骤,在云端调试。

    1. 执行以下命令进入Demo函数中。
      cd demo
    2. 本地执行以下命令调试函数。
      fun local invoke demo
      local_test
      说明 第一次执行会拉取执行环境的镜像到本地,耗时较长。
  3. 部署到云端。
    1. 执行以下命令将函数部署到云端。
      fun deploy
    2. 部署过程中,输入Y确认需要创建的资源。
      deploy
      创建完成后,提示service demo deploy success代表您的资源部署成功。
  4. 云端测试。

    您可以登录函数计算控制台,查看是否部署成功。

    1. 登录函数计算控制台
    2. 在左侧导航栏,单击服务及函数
    3. 在顶部菜单栏,选择地域。
    4. 服务列表页面,单击目标服务。
    5. 函数管理页面,单击目标函数名称。
    6. 在目标函数详情页面的函数代码页签,单击测试函数,即可在函数计算控制台执行函数。
  5. 查看日志。

    每次执行完毕,您可以在当前页面查看本次执行日志。如果需要查看历史执行日志,可以单击调用日志页签,查看历史日志时,需要您为函数配置日志仓库。详细信息,请参见配置日志

进阶教程

完成以上教程后您可以根据使用场景查阅以下文档: