有没有办法将事件信息,特别是导致事件的服务的ARN获取到lambda函数?
在我之前的question中,我向使用Cloudwatch和Cloudtrail获取信息提出了一些帮助。我认为这主要只是对规则的误解,但现在我担心是否有一个通用的解决方案。
我知道我可以成功地为特定服务执行此操作,但我希望有一个通用规则来触发该功能。 Cloudwatch日志或事件似乎是正确的答案,但由于我的Cloudwatch Cloudtrail规则存在问题,我不再对此充满信心。
为了完全实现我的目标,我希望在创建任何服务时都有一个lambda函数触发器,并且可以访问新服务的ARN,以便我可以对该过程进行验证。
答案 0 :(得分:1)
是的,但是,每个事件都有可能具有不同的事件属性,您需要检查从何处获取此信息。
例如,如果您的lambda由 CloudFormation 触发,则可以使用let label: UILabel = {
let label = UILabel()
label.frame = CGRect(x: 40, y: 100, width: self.view.frame.width, height: 30)
label.text = "Hello"
label.textColor = UIColor.red
label.translatesAutoresizingMaskIntoConstraints = false
return label
}()
获取堆栈ID(ARN)。
event['StackId']
您可以在http://docs.aws.amazon.com/lambda/latest/dg/eventsources.html中看到有关每个事件的详细信息。
如果您想实时调试以检查事件内容,可以找到一些解决方案,例如lambda-toolkit