AWS SAM 本地 Lambda 调用缓慢

ala*_*yor 3 cold-start amazon-web-services aws-lambda aws-sam

我正在尝试使用 SAM 本地 CLI 在本地测试我的 lambda 函数。我使用以下命令启动 API:

sam local start-api --template ./sam-template.yml --host 0.0.0.0 --port 4001
Run Code Online (Sandbox Code Playgroud)

但是,每次调用 API 时,lambda 调用都会花费大量时间(4-5 秒),我假设每次调用函数时都会启动 docker 容器。

有解决方法吗?

ala*_*yor 8

您可以将此参数添加到 SAM CLI 命令:

--warm-containers EAGER
Run Code Online (Sandbox Code Playgroud)

所以它看起来像这样:

sam local start-api  --warm-containers EAGER --template ./sam-template.yml --host 0.0.0.0 --port 4001
Run Code Online (Sandbox Code Playgroud)

这可以防止运行该函数的容器在每次通过“预热”它们被调用时启动。

这是从此功能请求中添加的:https : //github.com/aws/aws-sam-cli/issues/239

  • 是否有“sam local invoke”的标志? (2认同)