我有lambda函数,它通过传递自动缩放组名称来创建新的启动配置。它有效 我已经创建了代码部署并附加了一个触发器,以便在部署成功时执行Lambda函数。但是我得到了这个错误
' targetASG':KeyError Traceback(最近一次调用最后一次):文件 " /var/task/lambda_function.py" ;,第12行,lambda_handler ASG = asObj.describe_auto_scaling_groups(AutoScalingGroupNames = [活动[' targetASG']]) KeyError:' targetASG'
targetASG是我的参数,但我没有看到我可以定义的任何地方(触发器,SNS)。如何从代码部署中传递此参数?
答案 0 :(得分:0)
不幸的是,今天CodeDeploy并不支持客户在调用钩子函数时传递额外元数据/参数的方法。
作为一种解决方法,在这种情况下,您必须在钩子函数中实现逻辑以提取目标ASG名称。
答案 1 :(得分:-1)
您可以为SNS和SNS page定义Lambda端点。
登录AWS管理控制台并在https://console.aws.amazon.com/sns/v2/home打开Amazon SNS控制台。
在左侧导航窗格中,单击“主题”,然后单击要为其订阅Lambda端点的主题。
单击“操作”,然后单击“订阅主题”。
在“协议”下拉框中,选择“AWS Lambda。
在Endpoint下拉框中,选择Lambda函数的ARN。
在“版本或别名”下拉框中,选择要使用的可用版本或别名。您也可以选择$ LATEST来指定最新版本的Lambda函数。如果您不想指定版本或别名,也可以选择default,它在功能上与$ LATEST相同。有关更多信息,请参阅AWS Lambda函数版本控制和别名。
点击创建订阅。