全部产品
云市场

使用 VSCode 插件创建函数

更新时间:2020-03-09 00:01:23

概述

Aliyun Serverless VSCode Extension 是函数计算提供的 VSCode 插件,该插件结合了 函数计算 Fun 工具 以及 函数计算 SDK ,是基于 VSCode 的开发调试部署工具。

通过该插件,您可以:

  • 快速地在本地初始化项目、创建函数
  • 运行、调试本地函数(调试功能目前支持 Node.js、Python、Php)
  • 拉取云端的服务函数列表,执行云端函数
  • 部署服务函数至云端,并更新相关配置

前提条件

前置操作

如果您期望使用 Aliyun Serverless VSCode Extension 的所有功能,那么您需要确保系统中有以下组件:

  1. VSCode:在 Visual Studio Code 官网 中可以下载安装
  2. 函数计算 Fun 工具以及 Docker:可以在 aliyun/fun 中根据教程安装配置 Fun 以及 Docker

安装插件

  1. 打开 VSCode 并进入插件市场。
  2. 在插件市场中搜索 “Aliyun Serverless”,查看详情并安装。
  3. 重启 VSCode,左侧边栏中会展示已安装的 Aliyun Serverless VSCode Extension 插件。

操作步骤

绑定阿里云账户

打开左侧 Aliyun Serverless VSCode Extension,单击绑定阿里云账户的按钮。

绑定阿里云账户

依次输入阿里云 Account ID,阿里云 Access Key ID,阿里云 Access Key Secret,账户本地名称。

绑定阿里云账户弹窗

绑定完成后,可以看到所绑定的阿里云账户的云端服务与函数列表。

绑定阿里云账户结果

您可以通过切换区域 Region 来查看不同区域的服务与函数。单击云端资源面板的切换区域按钮。

切换区域

创建函数

通过 VSCode,打开一个空的目录文件。单击本地资源面板中的创建函数按钮,可以在本地初始化一个函数计算项目。

创建函数

按照导航依次输入或选择服务名称、函数名称、函数运行时、函数类型。填写完毕后,插件会自动创建函数并在本地资源面板中会展示新建的本地服务与函数。

创建函数结果

Tips:您也可以直接单击本地资源面板中服务名右侧的创建函数按钮,来为该服务创建函数。按照导航依次输入或选择函数名称、函数运行时、函数类型即可。

服务创建函数

本地调试函数

在本地资源面板中,单击函数名称右侧的调试按钮或 Handler 文件中的调试链接,可以在本地调试该函数。

本地调试函数

在代码文件中插入断点,启动调试后即可看到调试信息。

本地调试函数结果

插件会为您在函数入口文件同目录下创建 event.dat 文件,您可以通过修改该文件设置每次调试函数时触发的事件信息。

注意:

  • 若您想要调试 python 2.7 或 python 3 runtime 的函数,需要事先在插件安装 Python 插件。
  • 若您想调试 php runtime 的函数,需要事先在插件安装 PHP Debug 插件。

本地调用函数

在本地资源面板中,单击函数名称右侧的执行按钮或 Handler 文件中的执行链接,可以在本地调用该函数。

本地调用函数

函数的日志以及结果会输出在 Terminal 中。

本地调用函数结果

插件会为您在函数入口文件同目录下创建 event.dat 文件,您可以通过修改该文件设置每次调用函数时触发的事件信息。

本地调用修改事件输入

部署服务以及函数

单击本地资源面板中的部署按钮,可以将本地的服务与函数部署到云端。

部署服务以及函数

部署完成后,单击云端资源面板中的刷新按钮,可以查看部署到云端的服务与函数。

部署服务以及函数结果

执行云端函数

单击云端资源面板中函数右侧的执行按钮,可以执行云端函数。

执行云端函数

函数的日志以及结果会输出在 Output 中。

执行云端函数结果

插件会为您在项目根目录下创建 event.dat 文件,您可以通过修改该文件设置每次调用云端函数时触发的事件信息。

云端测试

您可以登录 控制台 ,对应查看是否部署成功。

  • 登录 函数计算控制台,选择您在初始化 VSCode 插件时配置的地区,单机左侧导航栏 【服务-函数】
  • 找到名为 demo01 的服务与名为 testFunc01 的函数,点击进入,即可在控制台查看并执行函数
  • 进入函数并点击 【执行】,即可在控制台执行函数

查看日志

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