【发布时间】:2018-05-20 20:08:12
【问题描述】:
所以,我有一个 Cloudwatch 规则,它可以在触发时发送 SNS 主题。现在,我正在设置一个 lambda 函数来在 CloudWatch 规则触发时更改 EC2 实例的安全组。我在 Lambda 中使用 python,但我的代码会产生一些“模块错误”。棘手的部分是我试图获取 cloudwatch 数据并将其作为变量传递。事件变量采用这种语法 - 事件['detail']['resource']['instanceDetails']['instanceId'] 所以在我的python代码中,它看起来像这样...... 我对 python 和 lambda 非常陌生,但我正在尝试尽可能多地学习。如您所见,我正在尝试使用此事件变量,然后利用 SDK 执行适当的 ModifyInstanceAttribute 以更改与实例关联的安全组(例如使用 python): 此代码将替换与指定实例关联的安全组,如 boto3 文档中所述:http://boto3.readthedocs.io/en/latest/reference/services/ec2.html#EC2.Client.modify_instance_attribute
我的代码到目前为止...
import boto3
client = boto3.client('ec2')
response =
client.modify_instance_attribute(InstanceId=event['detail']. ['resource']['instanceDetails']['instanceId'],
Groups=['sg-4e499332',]
)
我得到的错误是此模块初始化错误:未定义名称“事件”
【问题讨论】:
标签: python amazon-web-services amazon-ec2 aws-lambda