Aliyun Serverless VSCode Extension是一款VSCode图形化开发调试函数计算以及操作函数计算资源的插件。本文介绍了如何通过该插件创建函数以及该插件的常见功能。
注意事项
本文介绍的VSCode插件基于Funcraft工具,而Funcraft工具后期不再维护。如果您的函数计算资源是使用Funcraft管理的,建议您将资源迁移至Serverless Devs管理。
关于如何将函数计算的相关资源从Funcraft迁移到Serverless Devs进行管理的详细操作,请参见从Funcraft迁移到Serverless Devs。
关于Serverless Devs的详细信息,请参见什么是Serverless Devs。
由此带来的不便,敬请谅解!
前提条件
如果您期望使用Aliyun Serverless VSCode Extension的所有功能,那么您需要确保系统中有以下组件:
VSCode:可以在Visual Studio Code官网中下载安装。
Docker:可以在aliyun/fun中根据教程安装配置Docker。
背景信息
Aliyun Serverless VSCode Extension是函数计算提供的VSCode插件,该插件结合了函数计算命令行工具Fun和函数计算SDK的功能,是基于VSCode的开发、调试、部署工具。通过该插件,您可以完成以下工作。
快速地在本地初始化项目、创建函数。
运行、调试本地函数,以及部署服务函数至云端。
拉取云端的服务函数列表、查看服务函数配置信息、调用云端函数。
获得模版文件的语法提示:自动补全、Schema校验、悬浮提示。
安装插件
打开VSCode并进入插件市场。
在插件市场中搜索Aliyun Serverless,查看详情并安装。
重启VSCode,左侧导航栏中会展示已安装的Aliyun Serverless VSCode Extension插件图标。
快速入门
绑定阿里云账号。
在左侧导航栏,单击Aliyun Serverless VSCode Extension的
图标,然后单击Bind New Account。依次输入阿里云Account ID、阿里云AccessKey ID、阿里云AccessKey Secret、自定义的账号别名(即账号本地名称)。
您可以在账号管理中获取账号的Account ID,用户信息管理中获取AccessKey ID和AccessKey Secret。
说明VSCode支持RAM用户登录。您在使用RAM用户登录VSCode时,阿里云Account ID需要使用您的主账号的信息,阿里云AccessKey ID及阿里云AccessKey Secret需要使用您的RAM用户信息。
绑定完成后,可以看到所绑定的阿里云账号的云端服务与函数列表。
您可以在REMOTE RESOURCES区域,单击右上角的更多信息图标,在下拉菜单中,选择Switch Region来查看不同地域的服务与函数。
创建函数。
通过VSCode,打开一个空的文件夹。单击LOCAL RESOURCES中的加号图标创建函数,可以在本地初始化一个函数计算项目。
按照导航依次输入或选择服务名称、函数名称、函数运行环境、函数类型。填写完毕后,插件会自动创建函数并在LOCAL RESOURCES区域内展示新建的本地服务与函数。
您也可以直接单击LOCAL RESOURCES中服务名右侧的加号图标,为该服务创建函数。按照导航依次输入或选择函数名称、函数运行时、函数类型即可。
部署服务以及函数。
单击LOCAL RESOURCES区域中的部署图标,可以将本地的服务与函数部署到云端。
部署完成后,单击REMOTE RESOURCES区域中的刷新图标,可以查看部署到云端的服务与函数。TERMINAL页签中会显示部署进度及成功信息。
其余功能介绍
本地调用函数
在LOCAL RESOURCES区域,单击函数名称右侧的执行图标或handler文件中的Local Run,即完成在本地调用该函数。
函数的日志和结果会输出在TERMINAL页签内。
FC Invoke Start RequestId: xxx load code for handler:index.handler 2019-07-18T12:25:50.146Z xxx [verbose] [String: '{"key": "value"}'] FC Invoke End RequestId: xxx hello world RequestId: xxx Billed Duration: 115 ms Memory Size: 1998 MB Max Memory Used: 58 MB插件会为您在函数入口文件同目录下创建event.dat文件,您可以通过修改该文件设置每次调用函数时触发的事件信息。默认内容为JSON格式,例如
{"key": "value"}。本地调试函数
重要若您想要调试Python 2.7或Python 3的函数,需要事先在插件安装Python插件。
若您想调试PHP 7.2的函数,需要事先在插件安装PHP Debug插件。
在LOCAL RESOURCES区域中,单击函数名称右侧的调试图标或handler文件中的Local Debug,即完成在本地调试该函数。
在代码文件中插入断点,启动调试后即可看到调试信息。
插件会为您在函数入口文件同目录下创建event.dat文件,您可以通过修改该文件设置每次调试函数时触发的事件信息。
执行云端函数
单击REMOTE RESOURCES区域中函数右侧的执行图标,可以执行云端函数。
函数的日志以及结果会输出在TERMINAL页签内。
FC Invoke Start RequestId: xxx load code for handler:index.handler 2019-07-18T12:25:50.146Z xxx [verbose] [String: '{"key": "value"}'] FC Invoke End RequestId: xxx hello world RequestId: xxx Billed Duration: 115 ms Memory Size: 1998 MB Max Memory Used: 58 MB插件会为您在项目根目录下创建event.dat文件,您可以通过修改该文件设置每次调用云端函数时触发的事件信息。
跳转到模版文件定义
Funcraft通过YAML格式的模板文件来描述Serverless应用。通过Aliyun Serverless VSCode Extension创建函数时,会使用默认值自动填充模版文件。若您想修改本地服务或函数的配置,可以通过单击LOCAL RESOURCES区域f中的服务或函数名,跳转到模版文件中的相关描述,所选择资源在模板文件中的相关描述块会高亮并逐渐褪去。
模版文件提示
自动补全
支持模版文件template.yml内所有资源配置属性的自动补全。自动补全会依据缩进层级给出精准的提示选项。
Schema校验
支持模版文件template.yml内所有资源配置信息的校验。在template.yml中会检测资源的配置信息是否符合规格说明。
悬浮提示
提供模版文件template.yml内所有资源配置的上下文帮助。在template.yml中,将鼠标悬浮在相关资源的键名上,会出现关于该键下可配置字段的悬浮信息展示(字段名、字段类型)。