Python boto перечисляет имя тома, за которым следует "Volumes:"
Я новичок в Python, пытаюсь написать скрипт для ежедневных снимков Amazon EBS. Ниже приведен скрипт, который перечисляет тома и вводит их в команду снимка в цикле for.
#! / USR / бен / питон #Script для очистки снимков AWS Ebs. из boto.ec2 импортировать EC2Connection время импорта My_access_key = "xxxxxxxxxxxxxxx" My_secret_key = "Ыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыыы" conn = EC2Connection(My_access_key, My_secret_key) # Перечислите объемы vol_id = conn.get_all_volumes(volume_ids= Нет, фильтры = Нет) печать vol_id ибо я в vol_id: snapshot = conn.create_snapshot(i, 'Daily-Snapshot') распечатать "Создание снимка:", снимок
Проблема в том, что я перечисляю тома в своем списке следующим образом: "[Volume:vol-a50057e8, Volume:vol-ba693ef7]"
и команда создания снимка примет только это в качестве допустимого ввода "vol-a50057e8". Я пытался обрезать, но это не сработало.
Спасибо, Сваруп.
2 ответа
volumes = conn.get_all_volumes(volume_ids=None, filters=None)
# what you get here is a list of volume objects (not just IDs of those)
for volume in volumes:
# each volume object has a field "id" which contains what you need:
snapshot = conn.create_snapshot(volume.id, "Daily-Snapshot")
Это просто "текстовое" представление Volume
объектыget_all_volumes
возвращается Volume
объект, так что вы, вероятно, можете сделать
for vol in conn.get_all_volumes(...):
do_stuff(vol.id)