从SNS主题解析instanceid到Lambda触发器

时间:2018-08-08 00:55:41

标签: python aws-lambda

我有一个要求,以便从Cloudwatch警报生成SNS主题,然后SNS触发Lambda函数来更改EC2实例的标签。
以下是我到目前为止的代码,但我正在记录关键错误。 Ca有人请帮忙。我想我不确定如何从此处的消息中获取实例ID。

import json
import boto3

def lambda_handler(event, context):
    snsClient = boto3.client('sns')
    message = json.loads(event['Records'][0]['Sns']['Message'])
    instance_id = message['Trigger']['Dimensions'][0]
    tagResc = boto3.client('ec2')
    ret = tagResc.delete_tags(
        Resources=[instance_id],
    Tags=[{'Key': 'Availability' }]
    );

1 个答案:

答案 0 :(得分:0)

message['Trigger']['Dimensions'][0]

返回:

{u'name': u'InstanceId', u'value': u'i-abcd94b3583afdc'}

因此您需要使用:

instance_id = message['Trigger']['Dimensions'][0]['value']