本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在本地调用 函数
您可以使用 sam 本地调用
命令并提供函数的逻辑 ID 和事件文件,以便在本地调用您的函数。或者,sam local
invoke
也接受 stdin
作为事件。
本节中描述的 sam local invoke
命令对应于 AWS CLI 命令 aws lambda invoke
。 您可以使用此命令的任一版本来调用已上传到 AWS 云的 Lambda 函数。
您必须在包含要调用的函数的项目目录中执行 sam local invoke
。
示例:
# Invoking function with event file $ sam local invoke "Ratings" -e event.json # Invoking function with event via stdin $ echo '{"message": "Hey, are you there?" }' | sam local invoke --event - "Ratings" # For more options $ sam local invoke --help
该动画显示使用 Microsoft Visual Studio 代码在本地调用 Lambda 函数:

环境变量文件
您可以将 --env-vars
参数与 invoke
或 start-api
命令结合使用。您可以执行此操作以提供包含值的 JSON 文件,以覆盖已在函数模板中定义的环境变量。您可以按如下所示构造文件的结构:
{ "MyFunction1": { "TABLE_NAME": "localtable", "BUCKET_NAME": "testBucket" }, "MyFunction2": { "TABLE_NAME": "localtable", "STAGE": "dev" } }
或者,您的环境文件也可以包含一个 Parameters
条目,其中包含所有函数的环境变量。请注意,您不能将该格式与上述示例混合。
{ "Parameters": { "TABLE_NAME": "localtable", "BUCKET_NAME": "testBucket", "STAGE": "dev" } }
将环境变量保存在名为 env.json
的文件中。 以下命令使用此文件覆盖包含的环境变量:
sam local invoke --env-vars env.json
Layers
如果您的应用程序包含层,请参阅处理层,以了解有关如何在本地主机上调试层问题的更多信息。