Boto run_instances() — неожиданный аргумент ключевого слова ‘tag_specifications’

#python-3.x #amazon-web-services #boto

#python-3.x #amazon-веб-сервисы #boto

Вопрос:

Я пытаюсь запустить экземпляр aws с помощью скрипта python3. Он работает нормально, но сейчас я безуспешно пытаюсь добавить некоторые теги в экземпляр. Я пытаюсь выполнить следующее, но получаю ошибку «неожиданный аргумент ключевого слова ‘tag_specifications'».

 import boto.ec2
conn=boto.ec2.connect_to_region("eu-west-1")
conn.run_instances('ami-12345',instance_type='c5.large',key_name='test.prod',
         security_groups=['ProductionInstance'],instance_profile_name='TestProductionProcessor',
         tag_specifications=[{'Key': 'Name','Value': 'TEST'}])
 

Я проверил обновление botocore и т. Д.

Спасибо

Комментарии:

1. Примечание: похоже, вы используете устаревшую версию boto . В наши дни рекомендуется использовать boto3 .

Ответ №1:

Вы можете попробовать это с

 TagSpecifications=[
        {
            'ResourceType': 'instance',
            'Tags': [
                {
                    'Key': 'Name',
                    'Value': 'Test'
                },
            ]
        }
 

Ответ №2:

Следующий код успешно выполнен на Python 3.7;

 import boto3.ec2

conn=boto3.client('ec2',region_name='eu-west-1')
tags=[
  {'Key':'Name','Value': 'Test'},
]
tag_specification=[{'ResourceType': 'instance','Tags': tags},]
conn.run_instances(ImageId='ami-12345',
                   TagSpecifications=tag_specification,
                   InstanceType='c5.large',
                   SecurityGroupIds=['sg-12345'], #change value of SecurityGroupIds as per your setup
                   IamInstanceProfile={
                     'Name': 'TestProductionProcessor'
                   },
                   MaxCount=1,
                   MinCount=1,
                   SubnetId='subnet-12345' #change value of SubnetId as per your setup
                   )