将参数传递给AWS Cloudwatch事件目标Lambda函数

问题描述

我想将参数传递给由AWS Cloudwatch事件调用的lambda函数。参数名称为MM-dd-yyyy,事件规则的CFT模板如下:

alarmActions

我使用了"LambdaInvokeScheduler": { "Type": "AWS::Events::Rule","Properties": { "Description": "Scheduled Rule for invoking lambda function","EventPattern": { "source": [ "aws.ecs" ],"detail-type": [ "ECS Container Instance State Change" ],"detail": { "clusterArn": [ { "Fn::GetAtt": ["WindowsCluster","Arn"] } ] } },"State": "ENABLED","Targets": [{ "Arn": { "Fn::GetAtt": ["AlarmCreationLambdaFunction","Arn"] },"Id": "AlarmCreationLambdaFunction","Input": { "Fn::Join" : ["",[ "{ \"alarmActions\": \"",{ "Fn::Join" : [":",[ "arn:aws:sns",{ "Ref" : "AWS::Region" },{ "Ref" : "AWS::AccountId" },"CloudWatch"]] },"\" }"]] } }] } } 参数来传递JSON文本。周围没有太多文档。我只是想找到正确的方法。

解决方法

我找到了解决方案。我在lambda中错误地引用了参数。

我的lambda函数是这样的:

def func(event,context,alarmActions)
{
   print(alarmActions)
}

当我进行以下更新时,它起作用了:

def func(event,context)
{
   print(event['alarmActions'])
}

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...