即使配置了过滤器,AWS Lambda 函数也会停止所有实例

AWS Lambda function stops all instances even the filter is configured

通过 运行 这段代码,我只想停止带有标签 Class:ClassB 的实例。 测试功能后,它关闭所有实例:

import boto3

ec2 = boto3.resource('ec2')

def lambda_handler(event, context):
    filters = [{'Name': 'tag:Class', 'Values':['ClassB']},{'Name': 'instance-state-name', 'Values': ['running']}]
    instances=ec2.instances.filter(Filters=filters)
    for instance in instances:
        ec2.instances.stop()
        print 'stop your instances: ' + str(instances)

问题出在哪里?

应该是:

instance.stop()

您的代码不正确:

ec2.instances.stop()