全部产品
云市场

使用 Fun 创建函数

更新时间:2020-03-25 10:12:55

本文以编写 Hello World 函数为例,演示了在函数计算中如何使用 Fun 创建函数。

背景信息

Fun 是函数计算提供的应用部署工具,可以帮助您便捷地管理函数计算、API 网关、日志服务等资源,快速部署应用。

前提条件

  • 您已注册阿里云账号,并开通函数计算服务。若未开通函数计算服务,请进入函数计算控制台开通。
  • 您的电脑已安装 Fun,安装的详细步骤,请参见 Fun 的安装

操作步骤

步骤一:配置 Fun

您需要先初始化账号信息,执行以下命令对账号进行配置。

  1. fun config

您需要根据提示依次配置 AccountID(主账号 ID)、AccessKey ID、Secret AccessKey、 Default Region Name。完成配置后,Fun 会将配置保存到用户目录下的 .fcli/config.yaml 文件中。

配置 Fun 的更多操作,请参见使用 fun config 配置 funcraft。您可以登录函数计算控制台,在右上角获取当前账号的 AccountID 和 AccessKey 信息。

1

注意:如果您的账号是子账号,AccountID 需要是主账号的 AccountID、Access Key ID、Secret Access Key 是子账号的密钥。

步骤二:创建初始化模板

配置好 Fun 后,执行以下命令初始化一个模板项目。

  1. fun init -n demo

2

您可以根据提示选择一个您熟悉语言的项目模板,其中以 event- 为前缀的模板是普通的事件函数,以 http-trigger 为前缀的模板会默认为您创建 HTTP 触发器,以 requestresponse 为入参,帮助您快速搭建 Web 应用。

本示例中选择 event-nodejs10 的模板。

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

  • index.js 包含了函数的示例代码。
    • 本示例创建了一个返回 hello world 的函数。
  • template.yml 会告诉 Fun 如何创建函数资源。
    • 本示例为您创建了一个名为 demo 的服务与一个名为 demo 的函数。
    • template.yml 文件支持的配置项请参见 Serverless Application Model

步骤三:本地调试

注意:本地调试需要您本地安装 Docker,如果您本地无法安装 Docker,可以跳过此步骤,在云端调试。

进入 demo 目录,在本地执行函数。第一次执行会拉取执行环境的镜像到本地,耗时较长请耐心等待。

  1. cd demo
  2. fun local invoke demo

3

步骤四:部署到云端

本地测试完成后,即可执行以下命令将函数部署到云端。

  1. fun deploy

中途需要您确认需要创建的资源,输入 Y 确认,创建完成后会提示 service demo deploy success 就代表您的资源已经部署成功了。4

步骤五:云端测试

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

  1. 登录函数计算控制台,选择您在初始化 Fun 时配置的地方,单击左侧导航栏服务-函数
  2. 找到名为 demo 的服务和名为 demo 的函数,单击进入,即可在控制台查看并执行函数。
  3. 进入函数并单击执行,即可在函数计算控制台执行函数。5

步骤六:查看日志

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

进阶教程

完成以上教程后您可以根据使用场景学习以下文章: