Describe_instances в boto3 с фильтрами не работает - PullRequest
0 голосов
/ 16 октября 2019

Я разрабатываю скрипт на Python для удаления старых AMI и их снимков. В целях тестирования я пытался создать и сразу после удаления AMI. Мой код для создания экземпляра следующий (включая добавление тегов в конце):

import boto3
from datetime import datetime, timedelta
import time

today = datetime.utcnow().strftime('%Y%m%d')

remove_on = (datetime.utcnow() + timedelta(days=3)).strftime('%Y%m%d')

session = boto3.session.Session(region_name='eu-west-1')
client = session.client('ec2')
ec2 = session.resource('ec2')

instance_info = client.describe_instances(Filters=[{'Name': 'tag:Name', 
'Values': ['Airflow']}]) #This filter DOES work
instance_id = instance_info['Reservations'][0]['Instances'][0]['InstanceId']
instance = ec2.Instance(instance_id)

image = instance.create_image(InstanceId=instance_id, Name=f"Airflow_{today}")
time.sleep(2)
image.create_tags(Tags=[{'Key': 'RemoveOn', 'Value': remove_on},
                        {'Key': 'BackupOf', 'Value': 'Airflow'}])

Однако, когда я пытаюсь получить информацию о недавно созданном AMI, я не получаю данных:

instances_to_delete = client.describe_instances(Filters=[{'Name': 'tag:RemoveOn', 
                                                      'Values':[remove_on]}])

Я пытался явно указать строку в значениях, но она тоже не работает. Кроме того, хотя это и не имело особого смысла (поскольку ранее у меня уже работал один фильтр), я также указал регион в клиенте (из-за этих ответов Boto3 ec2 ​​description_instances всегда возвращает пустое значение ), и это нене работаетenter image description here Тег есть, как мы видим на следующем скриншоте

1 Ответ

2 голосов
/ 16 октября 2019

Ваш код, кажется, создает изображение (AMI) и затем помещает тег в AMI.

Затем вы говорите, что он не может найти экземпляр с этимтег. Это имеет смысл, потому что был помечен только image , а не экземпляр.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...