

以下の公式のドキュメントを参考に、cloudwatch log をトリガーにイベント発火することはできました。  
<https://serverless.com/framework/docs/providers/aws/events/cloudwatch-log/>

webコンソール上では、複数のcloudwatch log
のトリガーを設定できるため、同様の事をコードでも実装したく以下のように記述しましたが、ダメでした。

[code]

          - cloudwatchLog:
              logGroup: '/aws/lambda/hello1'
              filter: '{$.userIdentity.type = Root}'
    
          - cloudwatchLog:
              logGroup: '/aws/lambda/hello2'
              filter: '{$.userIdentity.type = Root}'
    
[/code]

似たような形式でいくつか試したのですが、1つのlambdaに対して2つ登録させることが困難です。

現状は、複数のlambda関数を生成し、それぞれに、1つのトリガーを設定することで回避しておりますが、トリガーに設定したいlogの数分だけ、コードの量が肥大化してしまい見通しがかなり悪くなりました。（lambda関数も増大しております）

表題のようなことができるのでしたら、非常に管理が楽になります。

宜しくお願い致します。


CC BY-SA 4.0
2019-02-10T09:39:09.967
52679
2022-10-26T14:46:37.437
2022-10-26T14:46:37.437
19110
25924
question
aws aws-lambda
serverlessの「cloudwatch log」eventにて複数のlogをトリガーに設定したい


このような表記で動きました。  
ただし、AWS
Lambdaのwebコンソールから確認すると、トリガーが設置されていないように見えるのですが、実際には期待通りに動作していますので、その点注意が必要です。

serverless.yml

[code]

    functions:
      myCloudWatchLog:
        handler: handler.hello
        events:
          - cloudwatchLog: '/aws/lambda/hello1'
          - cloudwatchLog: '/aws/lambda/hello2'
    
[/code]


CC BY-SA 4.0
2019-08-12T13:46:30.327
57320
2019-08-12T13:46:30.327
35438
52679
answer