即使配置了过滤器,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()
通过 运行 这段代码,我只想停止带有标签 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()