我可以在部署到 lambda Web 控制台的 SAM 模板中包含测试事件吗?

red*_*888 6 amazon-web-services aws-lambda aws-sam

我知道我可以使用 sam local 以及命令行调用 lambda。

但有时,通过在 UI 中配置测试事件来调用 lambda 来测试 lambda 会很方便。

是否可以在 sam 模板中包含示例/测试事件,以便在部署时将测试事件填充到我的 UI 中?那么我可以保持该测试事件更新,并且如果我通过 UI 使用它,只需按测试按钮即可?

fed*_*nev 1

是的,从 SAM CLI v1.98.0 开始。该版本引入了对 Lambda可共享测试事件的支持。

可共享测试事件是您可以与同一 AWS 账户中的其他用户共享的测试事件。您可以编辑其他用户的可共享测试事件并与他们一起调用您的函数。

可共享的测试事件与旧控制台测试事件一起从 Lamba 控制台可见。1

sam Remote test-event命令具有putlistgetdelete命令来管理可共享的测试事件。例如,put子命令创建或更新事件。事件通过 LogicalID+Stack 或 ARN 与 Lambda 函数关联,这些函数作为参数传递:

sam remote test-event put <Lambda Logical ID> --stack-name MyStack --file event.json --name MyEvent

sam remote test-event put <Lambda ARN> --file event.json --name MyEvent
Run Code Online (Sandbox Code Playgroud)

使用该选项通过可共享测试事件调用--test-event-name远程函数。2、传递事件名称:

sam remote invoke <Lambda Logical ID> --stack-name MyStack --test-event-name MyEvent
Run Code Online (Sandbox Code Playgroud)
  1. 可共享的测试事件存储在lambda-testevent-schemas您帐户中指定的 EventBridge 架构注册表中。IAM 对共享事件的访问通过注册表权限进行管理。
  2. --test-event-name选项使用远程可共享测试事件。现有--event-file选项使用本地 json 事件。