通过标记键过滤卷后,是否可以获取boto中的标记值?

时间:2014-07-09 14:41:16

标签: amazon-web-services boto

我正在尝试创建一个自动快照程序,给定您在某个卷上的标记键,它将查看标记值并相应地执行操作。 例如,标记键是'MakeSnapshot',标记值是'Hour-6',我会每小时制作一个快照,总共保留6个。

import boto.ec2
conn = boto.ec2.connect_to_region('us-east-1',aws_access_key_id='xx', aws_secret_access_key='xx')
vols = conn.get_all_volumes(filters={ 'tag-key' : 'MakeSnapshot' })
for vol in vols:
    initial = #where I pull the tag value from the volume's tag key.

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

get_all_volumes方法返回Volume个对象的列表。每个Volume对象都有一个名为tags的属性,它是一个Python字典,包含为该卷定义的所有标记。例如:

import boto.ec2
conn = boto.ec2.connect_to_region('us-east-1')
volumes = conn.get_all_volumes(filters={'tag-key': 'MakeSnapshot'})
for volume in volumes:
    print(volume.tags)

会打印出类似的内容:

{'MakeSnapshot': 'Hour-6'}