Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将实例ID从SNS主题解析为Lambda触发器_Python_Aws Lambda - Fatal编程技术网

Python 将实例ID从SNS主题解析为Lambda触发器

Python 将实例ID从SNS主题解析为Lambda触发器,python,aws-lambda,Python,Aws Lambda,我有一个要求,即从Cloudwatch alarm生成SNS主题,然后SNS触发Lambda函数来更改EC2实例的标记。 以下是我到目前为止的代码,但我得到的记录键错误。有人能帮忙吗。我想我不知道如何从这里的消息中获取实例id import json import boto3 def lambda_handler(event, context): snsClient = boto3.client('sns') message = json.loads(event['Record

我有一个要求,即从Cloudwatch alarm生成SNS主题,然后SNS触发Lambda函数来更改EC2实例的标记。
以下是我到目前为止的代码,但我得到的记录键错误。有人能帮忙吗。我想我不知道如何从这里的消息中获取实例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' }]
    );
返回:

{u'name': u'InstanceId', u'value': u'i-abcd94b3583afdc'}
因此,您需要使用:

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