1

我想创建一个号码时,我们的AWS帐号创建特定资源CloudWatch的警报(EC2实例,ELBs等)可以在无服务器共享事件中起作用吗?

在我serverless.yml我可以做以下,但最终创建多个CloudWatch的听同一个事件的规则。

functions: 
    createLatencyAlarm: 
    handler: createLatencyAlarm.main 
    events: 
     - cloudwatchEvent: 
      event: 
      source: 
       - "aws.elasticloadbalancing" 
      detail-type: 
       - "AWS API Call via CloudTrail" 
      detail: 
       eventSource: 
       - "elasticloadbalancing.amazonaws.com" 
       eventName: 
       - "CreateLoadBalancer" 
    createUnhealthHostAlarm: 
    handler: createUnhealthyHostAlarm.main 
    events: 
     - cloudwatchEvent: 
      event: 
      source: 
       - "aws.elasticloadbalancing" 
      detail-type: 
       - "AWS API Call via CloudTrail" 
      detail: 
       eventSource: 
       - "elasticloadbalancing.amazonaws.com" 
       eventName: 
       - "CreateLoadBalancer" 

我还可以设置事件是一样的SNS话题,但后来我不得不单独(无服务器之外)创建CloudWatch的规则来监听事件,并发布到SNS话题

functions: 
    createLatencyAlarm: 
    handler: createLatencyAlarm.main 
    events: 
     - sns: create-elb 
    createUnhealthHostAlarm: 
    handler: createUnhealthyHostAlarm.main 
    events: 
     - sns: create-elb 

我可以在serverless.yml中设置一个在功能之间共享的事件吗?

回答

1

目前,无服务器为每个cloudwatch警报创建一个单独的规则。如果您想更改,可以在其回购中提交问题。与此同时,如果你希望有一个警报,让一个lambda监听它,然后发布到sns主题。

+1

我最终手动创建了一个发布到SNS主题的单一规则,我设置了无服务器功能以从SNS事件触发。我也会提交一个问题。谢谢! – tkwargs

相关问题