【问题标题】:VSCode launch.json Failed to start local API Gateway: Timeout while waiting for command: "sam local start-api"VSCode launch.json 无法启动本地 API 网关:等待命令时超时:“sam local start-api”
【发布时间】:2021-08-08 22:38:51
【问题描述】:

几天来我一直在努力解决这个问题,但我却一无所获。我有一个可以通过命令行在本地运行的 API-

sam local start-api

sam 本地调用 HelloWorldFunction

我曾经也能够通过我的 launch.json 配置运行相同的 api,但突然间我无法识别,我现在得到:

2021-05-19 12:18:32 [错误]:等待命令超时:“sam local start-api” 2021-05-19 12:18:32 [错误]:无法启动本地 API 网关:等待命令时超时:“sam local start-api” 2021-05-19 12:18:32 [INFO]:向本地 API 发送请求:http://127.0.0.1:5858/hello?

我的 launch.json 看起来像这样:

{
            "type": "aws-sam",
            "request": "direct-invoke",
            "name": "Simple API lambda-nodejs14.x:HelloWorldFunction (nodejs14.x)",
            "invokeTarget": {
                "target": "api",
                "templatePath": "${workspaceFolder}/lambda-nodejs14.x/template.yaml",
                "logicalId": "HelloWorldFunction"
            },
            "api": {
                "path": "/hello",
                "httpMethod": "get",
                "payload": {
                    "json": {}
                }
            },
            "lambda": {
                "runtime": "nodejs14.x"
            },
            "sam": {},
            "aws":{}
        }

通过尝试使用 helloWorld 测试项目,我已将其简化为最简单的情况。

我的 aws_toolkit 日志如下所示:

2021-05-19 12:27:07 [信息]:构建完成。 2021-05-19 12:27:07 [INFO]:在本地启动 SAM 应用程序 2021-05-19 12:27:07 [INFO]: 正在运行:(未开始)[C:\Program Files\Amazon\AWSSAMCLI\bin\sam.cmd 本地启动 api --template C:\Users\USERTEST\AppData\Local\Temp\aws-toolkit-vscode\vsctklc1oS3\output\template.yaml --env-vars C:\Users\USERTEST\AppData\Local\Temp\aws-toolkit-vscode\vsctklc1oS3\env-vars.json --port 5858 --debug-port 5859] 2021-05-19 12:27:07 [INFO]:AWS.running.command 2021-05-19 12:27:07 [ERROR]:等待时超时 对于命令:“sam local start-api”2021-05-19 12:27:07 [错误]:失败 启动本地 API 网关:等待命令时超时:“sam 本地启动 api” 2021-05-19 12:27:07 [警告]:[错误:超时而 等待命令:“sam local start-api” c:\Users\BogartLisa.vscode\extensions\amazonwebservices.aws-toolkit-vscode-1.25.0\dist\extension.js:2452:1782 在异步 lv.invoke (c:\Users\BogartLisa.vscode\extensions\amazonwebservices.aws-toolkit-vscode-1.25.0\dist\extension.js:2452:1677)] 2021-05-19 12:27:07 [INFO]:向本地 API 发送请求: http://127.0.0.1:5858/hello? 2021-05-19 12:27:07 [详细]:山姆: 命令退出(代码:null):PID 14376:[C:\Program Files\Amazon\AWSSAMCLI\bin\sam.cmd local start-api --template C:\Users\USERTEST\AppData\Local\Temp\aws-toolkit-vscode\vsctklc1oS3\output\template.yaml --env-vars C:\Users\USERTEST\AppData\Local\Temp\aws-toolkit-vscode\vsctklc1oS3\env-vars.json --port 5858 --debug-port 5859] 2021-05-19 12:27:12 [INFO]:成功发送遥测批次 1 2021-05-19 12:27:13 [错误]: 本地 API 在 30 次重试后未能响应 (ECONNREFUSED),路径: /你好

我的 vs 代码: 版本:1.56.2(用户设置) 提交:054a9295330880ed74ceaedda236253b4f39a335 日期:2021-05-12T17:13:13.157Z 电子:12.0.4 铬:89.0.4389.114 Node.js:14.16.0 V8:8.9.255.24-electron.0 操作系统:Windows_NT x64 10.0.17134

aws --版本 aws-cli/2.1.27 Python/3.7.9 Windows/10 exe/AMD64提示/关闭

有人对我有什么想法吗?我没有想法

【问题讨论】:

    标签: amazon-web-services debugging visual-studio-code local sam


    【解决方案1】:

    这个问题的答案是增加配置的等待附加到 sam cli 的最大时间:

    设置 > 扩展 > AWS 配置 > Samcli > 调试 > 附加 > 超时:Millis

    启动本地 Lambda 会话时等待 SAM 输出的最长时间(以毫秒为单位)

    我的默认设置为 30 秒,不幸的是,我的附加时间超过了 1.5 分钟(但这完全是“另一个问题”)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-05
      • 1970-01-01
      • 1970-01-01
      • 2014-06-11
      • 2016-11-25
      • 2014-05-06
      相关资源
      最近更新 更多