Aliyun Serverless VSCode Extension插件(建议您使用Serverless Devs)

更新时间:
复制 MD 格式

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的所有功能,那么您需要确保系统中有以下组件:

背景信息

Aliyun Serverless VSCode Extension是函数计算提供的VSCode插件,该插件结合了函数计算命令行工具Fun函数计算SDK的功能,是基于VSCode的开发、调试、部署工具。通过该插件,您可以完成以下工作。

  • 快速地在本地初始化项目、创建函数。

  • 运行、调试本地函数,以及部署服务函数至云端。

  • 拉取云端的服务函数列表、查看服务函数配置信息、调用云端函数。

  • 获得模版文件的语法提示:自动补全、Schema校验、悬浮提示。

安装插件

  1. 打开VSCode并进入插件市场。

  2. 在插件市场中搜索Aliyun Serverless,查看详情并安装。

  3. 重启VSCode,左侧导航栏中会展示已安装的Aliyun Serverless VSCode Extension插件图标。

快速入门

  1. 绑定阿里云账号。

    1. 在左侧导航栏,单击Aliyun Serverless VSCode Extensionicon_Aliyun_Serverless_VSCode_Extension图标,然后单击Bind New Account

    2. 依次输入阿里云Account ID、阿里云AccessKey ID、阿里云AccessKey Secret、自定义的账号别名(即账号本地名称)。

      您可以在账号管理中获取账号的Account ID,用户信息管理中获取AccessKey IDAccessKey Secret。

      说明

      VSCode支持RAM用户登录。您在使用RAM用户登录VSCode时,阿里云Account ID需要使用您的主账号的信息,阿里云AccessKey ID及阿里云AccessKey Secret需要使用您的RAM用户信息。

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

      您可以在REMOTE RESOURCES区域,单击右上角的更多信息图标,在下拉菜单中,选择Switch Region来查看不同地域的服务与函数。

  2. 创建函数。

    1. 通过VSCode,打开一个空的文件夹。单击LOCAL RESOURCES中的加号图标创建函数,可以在本地初始化一个函数计算项目。

    2. 按照导航依次输入或选择服务名称、函数名称、函数运行环境、函数类型。填写完毕后,插件会自动创建函数并在LOCAL RESOURCES区域内展示新建的本地服务与函数。

      您也可以直接单击LOCAL RESOURCES中服务名右侧的加号图标,为该服务创建函数。按照导航依次输入或选择函数名称、函数运行时、函数类型即可。

  3. 部署服务以及函数。

    1. 单击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.7Python 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中,将鼠标悬浮在相关资源的键名上,会出现关于该键下可配置字段的悬浮信息展示(字段名、字段类型)。

反馈

如果您在使用中遇到问题,请联系我们或在github中反馈。