boto3 создать изображение, используя идентификатор экземпляра - PullRequest
0 голосов
/ 24 апреля 2019

Я использую boto3 с python3 для использования в aws, в консоли aws есть очень простая опция для создания образа из запущенного / остановленного экземпляра ec2.Я ищу что-то похожее в boto3 SDK, самое близкое, что я нашел, это как создать образ из тома EBS, например:

session = boto3.Session(...)
ec2 = session.client("ec2") 
ec2.create_image(...)

, как объяснено здесь

Я бы хотел избавить вас от необходимости узнавать идентификатор тома для экземпляра и просто использовать идентификатор экземпляра. Возможно ли это?

Я пытался следовать этому Используя этот код:

ec2.create_image(instance_id) 

Но получил эту ошибку

TypeError: create_image () принимает толькоключевые аргументы.

Ответы [ 2 ]

1 голос
/ 13 июля 2019

При попытке сделать то же самое я получил ошибку ->

"AttributeError: 'ec2.ServiceResource' объект не имеет атрибута 'create_image'"

, поэтому мое предложениеэто использование

"boto3.client('ec2').create_image" instead of "ec2.create_image"
1 голос
/ 24 апреля 2019

У вас должна быть возможность просто передать ID экземпляра, используя следующее:

ec2.create_image(InstanceId=instance_id, Name="abc").

Обратите внимание, что это попытается перезагрузить ваш экземпляр EC2.Если вы не хотите, чтобы экземпляр перезагружался, используйте:

ec2.create_image(InstanceId=instance_id, NoReboot=True, Name="abc")

...