文档中心 云函数 快速入门 使用 VS Code 插件创建函数

使用 VS Code 插件创建函数

最近更新时间:2019-09-06 20:43:37

操作场景

Tencent Serverless Toolkit for VS Code 是腾讯云 Serverless 产品的 VS Code(Visual Studio Code)IDE 的插件。该插件可以让您更好地在本地进行 Serverless 项目开发和代码调试,并且轻松将项目部署到云端。
本文介绍如何通过腾讯云云函数(Serverless Cloud Function,SCF)及 VS Code 插件开发简单的 Hello World Web 服务。

通过该 VS Code 插件,您可以:

  • 拉取云端的云函数列表,并触发云函数在云端运行。
  • 在本地快速创建云函数项目。
  • 在本地开发、调试及测试您的云函数代码。
  • 使用模拟的 COS、CMQ、CKafka、API 网关等触发器事件来触发函数运行。
  • 上传函数代码到云端,更新函数配置。

前提条件

Tencent Serverless 可在 Windows, MacOS 中安装。在安装 Tencent Serverless 之前,需要确保系统中已有以下组件/信息:

  • 已注册腾讯云帐户。若未注册腾讯云账户,可 点此 进入注册页面。
  • VS Code :在 VS Code下载页面 下载对应的 IDE 并安装,其版本要求为 v1.33.0 +

操作步骤

安装插件

可通过以下两种方式安装 SCF VS Code 插件:

a. 通过插件市场直接安装
进入 插件市场 单击【install】进行安装。

b. 通过 VS Code IDE 安装

  1. 运行 VS Code IDE。
  2. 打开 VS Code 插件市场。
  3. 在搜索框中输入 “Tencent Serverless”,单击搜索框下方列表中的 Tencent Serverless 插件查看详情并选择【install】。如下图所示:

    安装完成后,左侧栏中会展示已安装完毕的 Tencent Serverless 插件。

VS Code 插件借助于 SCF 命令行工具 进行本地函数的创建,触发和调试。插件安装完成后,会自动检测 SCF CLI 是否已安装。如果插件未检测到 SCF CLI ,会在右下角弹框提示安装 SCF CLI ,单击 【Go】进行安装。

说明:

  • 部分 PC 环境配置可能导致安装 SCF CLI 失败,请参见 手动安装 CLI
  • 如果您已经单独升级过 CLI ,升级后的 CLI 版本与插件不兼容时,插件会提醒您前往至插件市场升级至最新版本。

配置插件

如果您已经在 SCF CLI 中配置了账户信息,无需再次配置,请跳过此步骤。

  1. 单击左侧导航栏的,打开已安装好的 Tencent Serverless 插件。
  2. 单击创建一个腾讯云用户凭证。如下图所示:
    Alt text
  3. 根据提示依次输入账号的 APPID,SecretId 及 SecretKey 信息,作为插件调用云 API 时的认证信息。并在认证成功后,选择您希望部署函数的地域。配置信息获取途径请参见 配置 SCF CLI

创建函数

  1. 单击已配置账户函数列表上方的,在本地初始化新的函数项目。如下图所示:

    支持填入 git 仓库地址创建函数,仓库需要满足 cookiecutter 模板规则,若不满足规则请根据 cookiecutter 示例模板 进行修改。
  2. 根据提示依次选择函数运行时 runtime,并输入函数名。
  3. 函数信息录入成功后,将开始创建。
  4. 函数创建成功后,会跳转到工作区打开函数的入口文件。
  5. index.py 中的代码替换为如下内容:
    # -*- coding: utf-8 -*-
    import sys
    import logging
    print('Loading function')
    logger = logging.getLogger()
    def main_handler(event, context):
        logger.info("start main handler")
        print(event)
        body = 'API GW Test Success'
        response = {
            "isBase64": False,
            "statusCode": 200,
            "headers": {"Content-Type": "text",    "Access-Control-Allow-Origin": "*"},
            "body": body
        }
        return response

本地测试

进入 Tencent Serverless 插件,单击本地函数列表目标函数右侧的,即可对函数进行本地测试。如下图所示:

说明:

当前仅支持 Python 及 Node.js 函数的本地调试能力。

部署函数(含配置触发器)

  1. 修改模板文件,配置触发器。
    由于我们的函数是基于 API 网关触发,所以需要在模板文件里(template.yaml)添加 API 网关触发事件。完整 template.yaml 如下:
     Resources:
      default:
        Type: TencentCloud::Serverless::Namespace
        hello_world:
          Type: TencentCloud::Serverless::Function
          Properties:
            CodeUri: ./
            Type: Event
            Description: This is a template function
            Environment:
              Variables:
                ENV_FIRST: env1
                ENV_SECOND: env2
            Handler: index.main_handler
            MemorySize: 128
            Runtime: Python2.7
            Timeout: 3
            Events:
                  hello_world_apigw:   #${FunctionName} + '_apigw'
                       Type: APIGW
                       Properties:
                              StageName: release
                              ServiceId:
                              HttpMethod: ANY
    更多模板文件规范请参见 腾讯云无服务器应用模型
  2. 进入 Tencent Serverless 插件,单击击本地函数列表目标函数右侧的。如下图所示:
  3. 函数上传完毕,单击云端函数右侧的进行刷新,即可查看已上传的函数。(查看区域需切换到上传时选择的区域)如下图所示:

    上传成功之后,可在 VS Code 查看部署详情。如下图所示:

    您可以将 serviceId 复制到配置文件 template.yaml 中,之后部署就不会再创建新的 API 网关。
  4. 完成部署后,可使用浏览器访问 VS Code 输出的 subDomain 访问路径,显示结果如下:

    您也可以登录 云函数控制台,到相应地域查看已成功部署的函数。

云端测试

单击左侧列表右侧的,即可在页面中查看到函数在云端运行的相关信息。如下图所示:

更多功能

查看日志

云端调用的日志会输出到 VS Code。如下图所示:

您也可以前往控制台打开函数页面选择【运行日志】,查看所有历史日志,详情请参见 函数日志

导入本地

说明:

如果您已经在 云函数控制台 创建了函数,则可以在 VS Code 插件里直接将云端函数导入到本地。

  1. 单击目标云端函数右侧的,将函数导入到本地。如下图所示:
  2. 单击右下角弹出框中的【Yes】,导入完成后会自动打开代码工作区。
  3. 在插件页,您也可以单击目标函数右侧的,即可打开函数代码编辑视图。如下图所示:

测试模板

本地调用时,可根据函数功能选择不同的测试模板,也可以自定义模板。如下图所示:

更多测试模版相关内容,详情请参见 触发器

本地调试函数

针对 Python 函数,可以利用 SCF CLI 的本地调试能力,结合 VS Code 插件进行本地调试。

注意:

本地调试目前支持 Python 和 Node.js ,调试 Python 项目需要先安装 Python 插件

  1. 单击左侧导航栏中的,进入本地编辑页面,给函数设置断点。如下图所示:
  2. 单击左侧列表中的本地函数,打开函数基本信息页面。
  3. 单击左侧导航栏顶部的,进入调试页面(或 ctrl+shift+D)。新建调试配置文件,并选择 SCF Debugger For Python 调试模板(Node 项目请选择 SCF Debugger For Node)。如下图所示:
    注意:

    不同的 runtime 须选择对应的调试模板,可根据您当前的调试文件类型,区分选择 Python 和 Node.js。

  4. 单击,即可看到调试信息。如下图所示:
    说明:

    目前插件是对当前工作区打开的函数文件进行调试,为保障调试正常进行,您需要确保目标函数文件已经当前窗口打开。

查看监控

  1. 登录 云函数控制台,单击左侧导航栏【函数服务】。
  2. 在“函数服务”页面上方选择已创建函数地域,并单击函数 ID。
  3. 在已创建函数的详情页面,选择【监控信息】,即可查看函数调用次数/运行时间等情况。如下图所示:
    说明:

    监控统计的粒度最小为1分钟。您需要等待1分钟后,才可查看当次的监控记录。


    更多关于监控信息请参见 监控指标说明

配置告警

在已创建函数的详情页面,单击【前往新增告警】为云函数配置告警策略,对函数运行状态进行监控。如下图所示:

更多关于配置告警请参见 告警配置说明

常见问题

安装或使用过程中有遇到问题,可参考 SCF 工具类常见问题 解决,您也可以通过以下交流方式与我们联系。

欢迎交流

如果您对 Tencent Serverless 感兴趣,您可以加入QQ群(537539545)与我们交流。
Alt text