本文介绍如何通过fun local start的相关命令调试函数。

注意 本文介绍的内容后期将不再维护。如果您的函数计算资源是使用Funcraft管理的,建议您将资源迁移至Serverless Devs管理。

关于如何将函数计算的相关资源从Funcraft迁移到Serverless Devs进行管理的详细操作,请参见从Funcraft迁移到Serverless Devs

关于Serverless Devs的详细信息,请参见什么是Serverless Devs

关于如何使用Serverless Devs调试函数,请参见使用s local的相关命令调试函数端云联调简介

由此带来的不便,敬请谅解!

通过VSCode调试本地HTTP触发器函数

下文以Node.js为例,介绍如何通过VSCode调试HTTP函数。

HTTP触发器在本地调试的方法与使用事件触发函数的方法一致,通过-d--debug-port参数指定。同时,还支持通过-c—config参数在调试时显示调试IDE的配置信息。

  1. 执行以下命令使用调试模式运行函数。
    fun local start —debug 3000 —config vscode
    输出示例:Http Trigger
    说明 在返回结果中您可以看到template.yml文件中声明的函数已经被注册成功。
  2. 根据服务名、函数名或HTTP触发器名称选择合适的URL,使用浏览器打开目标URL。
    浏览器页面将一直无响应,在终端中显示的日志如下。您需要将日志中返回的配置信息复制到VSCode调试器中进行配置。
    skip pulling image aliyunfc/runtime-python3.6:1.2.0...
    you can paste these config to .vscode/launch.json, and then attach to your running function
    ///////////////// config begin /////////////////
    {
        "version": "0.2.0",
        "configurations": [
            {
                "name": "fc/local-http-demo/python3",
                "type": "python",
                "request": "attach",
                "host": "localhost",
                "port": 3000,
                "pathMappings": [
                    {
                        "localRoot": "/Users/tan/fun_local_http_demo/python3",
                        "remoteRoot": "/code"
                    }
                ]
            }
        ]
    }
    ///////////////// config end /////////////////
    FunctionCompute python3 runtime inited.
    FC Invoke Start RequestId: 04c57fba-cbe9-4c1f-8c57-f8e0b539fa08
  3. 单击VSCode编辑器侧边栏设置断点,单击IMagevscode2图标,即可完成调试。
    动态演示过程如下。p170duandiantiaoshi