sam 本地调用 - AWS Serverless Application Model
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

sam 本地调用

调用一次本地 AWS Lambda 函数,调用完成后退出。

这对于开发处理异步事件的无服务器函数非常有用,例如 Amazon Simple Storage Service (Amazon S3) 或 Amazon Kinesis 事件。如果要编写测试用例的脚本,这也非常有用。您可以使用 --event 参数传入事件正文。运行时输出(例如,日志)将输出到 stderr,Lambda 函数结果将输出到 stdout

AWS SAM CLI 支持 Lambda 扩展(预览版)

要在本地测试使用 Lambda 扩展的无服务器应用程序,请将 ENABLE_LAMBDA_EXTENSIONS_PREVIEW 环境变量设置为“1”。例如:

ENABLE_LAMBDA_EXTENSIONS_PREVIEW=1 sam local invoke

有关 Lambda 扩展的更多信息,请参阅 中的AWS Lambda使用 扩展。AWS Lambda Developer Guide

用量:

sam local invoke [OPTIONS] [FUNCTION_IDENTIFIER]

选项:

选项 描述
-e, --event PATH 一个 JSON 文件,其中包含在调用 Lambda 函数时传递给该函数的事件数据。如果不指定此选项,则不会假定任何事件。要从 stdin 输入 JSON,您必须传入值“-”。
--no-event 使用空事件调用函数。
-t, --template PATH 模板文件 [default: template.[yaml|yml]]。AWS SAM
-n, --env-vars PATH 包含 Lambda 函数的环境变量值的 JSON 文件。有关环境变量文件的更多信息,请参阅环境变量文件
--parameter-overrides (可选)包含 AWS CloudFormation 参数覆盖编码为键值对的字符串。使用与 AWS Command Line Interface (AWS CLI) 相同的格式。例如:“ParameterKey=KeyPairName,ParameterValue=MyKey ParameterKey=InstanceType,ParameterValue=t1.micro”
-d, --debug-port TEXT 如果指定,则以调试模式启动 Lambda 函数容器并在本地主机上公开此端口。
--debugger-path TEXT 安装到 Lambda 容器中的调试程序的主机路径。
--debug-args TEXT 要传递给调试程序的其他参数。
-v, --docker-volume-basedir TEXT 文件所在基目录的位置。AWS SAM如果 Docker 正在远程计算机上运行,则必须挂载 Docker 计算机上 AWS SAM 文件所在的路径,并修改此值以匹配远程计算机。
--docker-network TEXT Docker 容器应连接到的现有 Docker 网络的名称或 ID 以及默认桥接网络。Lambda如果未指定此项,则 Lambda 容器仅连接到默认桥接 Docker 网络。
--container-env-vars (可选)在本地调试时,将环境变量传递到 Lambda 函数映像容器。
-l, --log-file TEXT 要将运行时日志发送到的日志文件。
--layer-cache-basedir DIRECTORY 指定将模板使用的层下载到的位置基于池。
--skip-pull-image 指定 AWS SAM CLI 是否应跳过为 Lambda 运行时下拉最新的 Docker 映像。
--force-image-build 指定 AWS SAM CLI 是否应重新生成用于通过层调用 Lambda 函数的图像。
--profile TEXT 获取 AWS 凭证的凭证文件中的特定配置文件。
--region TEXT 要部署到的 AWS 区域。例如,us-east-1。
--config-file PATH 包含要使用的默认参数值的配置文件的路径和文件名。默认值为项目根目录中的“samconfig.toml”。有关配置文件的详细信息,请参阅 AWS SAM CLI 配置文件
--config-env TEXT 在配置文件中指定要使用的默认参数值的环境名称。默认值为“default”。有关配置文件的详细信息,请参阅 AWS SAM CLI 配置文件
--debug 打开调试日志记录以输出 AWS SAM CLI 生成的调试消息,并显示时间戳。
--help 显示此消息并退出。