如何使用测试事件测试Lambda

时间:2019-11-12 04:29:31

标签: amazon-web-services aws-lambda

我有lambda,当VPN隧道关闭或开启时,它由cloudwatch事件触发。我在网上搜索,但找不到触发此Cloudwatch事件的方法。 我看到了一个测试事件选项,但是我可以在此处输入什么来触发隧道打开或关闭的事件? enter image description here

2 个答案:

答案 0 :(得分:0)

您可以查看CloudWatchEventsandEventPatterns

  

Amazon CloudWatch事件中的事件表示为JSON对象。   有关JSON对象的更多信息,请参见RFC 7159。下列   是一个示例事件:

{
  "version": "0",
  "id": "6a7e8feb-b491-4cf7-a9f1-bf3703467718",
  "detail-type": "EC2 Instance State-change Notification",
  "source": "aws.ec2",
  "account": "111122223333",
  "time": "2017-12-22T18:43:48Z",
  "region": "us-west-1",
  "resources": [
    "arn:aws:ec2:us-west-1:123456789012:instance/ i-1234567890abcdef0"
  ],
  "detail": {
    "instance-id": " i-1234567890abcdef0",
    "state": "terminated"
  }
}

还基于事件进行记录,您可以从AWS CW EventTypes

中选择所需的事件

答案 1 :(得分:0)

我相信在您的情况下,您不需要传递任何输入数据,因为您必须已经构建了测试Lamda中VPN隧道连接性的逻辑。您可以从测试事件中删除该JSON,然后运行测试。

如果您需要在输入事件中传递一些信息,请遵循@Adiii提到的方法。

编辑 通过评论,这个问题更加清晰

  

但是问题是我将如何触发lambda?可以说我想   隧道关闭时触发它吗?如何让Lambda知道隧道在   跌落状态? – NoviceMe

这可以通过在Cloudwatch中设置规则来定期安排lambda触发器来实现。这里有更多详细信息:

Tutorial: Schedule AWS Lambda Functions Using CloudWatch Events

Lambda目前没有可监视VPN隧道的调用触发器,因此唯一的解决方法是通过lamda轮询状态。