create_tag () терпит неудачу в boto3 - PullRequest
0 голосов
/ 31 октября 2018

Я пытаюсь создать снимок AWS, используя Boto3, и его сбой по всем известным мне параметрам.

connection=ec2.connect_to_region('ap-southeast-1')
def Create_Snapshot(Source_volID):
    snapshot = connection.create_snapshot(Source_volID)
    while snapshot.status != 'completed':
        snapshot.update()
        print snapshot.status
        time.sleep(5)
        if snapshot.status == 'completed':
            connection.create_tags(Resources=[snapshot.id], Tags=[{'Key':'Name', 'Value':'uat3-gold-'}])
            return snapshot.id

Это возвращает ошибку:

Traceback (most recent call last):
File "/Users/py-projects/8.py", line 62, in <module>
print Create_Snapshot(Source_volID)
File "/Users/py-projects/8.py", line 47, in Create_Snapshot
connection.create_tags(Resources=[snapshot.id], Tags=[{'Key':'Name', 'Value':'uat3-sogpet-gold-'}])
TypeError: create_tags() got an unexpected keyword argument 'Resources'

Также пробовал другим способом, упомянутым в stackoverflow.

def Create_Snapshot(Source_volID):
    snapshot = connection.create_snapshot(
    VolumeId=Source_volID,
    Description='Gold volume copy',
    TagSpecifications=[
        {
            'ResourceType': 'snapshot',
            'Tags': [
                {
                    'Key': 'Name',
                    'Value': 'uat3-gold-'
                }
            ]
        },
    ]
    )
    while snapshot.status != 'completed':
        snapshot.update()
        print snapshot.status
        time.sleep(5)
        if snapshot.status == 'completed':
            connection.create_tags(Resources=[snapshot.id], Tags=[{'Key':'Name', 'Value':'uat3-sogpet-gold-'}])
            return snapshot.id

Вызывает ошибку:

Number of snaps 0
No Snapshots present within 10 minutes
vol-0xxxxxxxxxxxxxxx
Traceback (most recent call last):
File "/Users/py-projects/8.py", line 76, in <module>
print Create_Snapshot(Source_volID)
File "/Users/py-projects/8.py", line 50, in 
Create_Snapshot
'Value': 'uat3-gold-'
TypeError: create_snapshot() got an unexpected keyword argument 'VolumeId'

Я тоже пытался в python3, но это не удалось. Пожалуйста, дайте подсказку, поскольку я застрял с этим в течение двух дней. Спасибо.

1 Ответ

0 голосов
/ 31 октября 2018

Попробуйте так.

session = boto3.Session(profile_name=profile, region_name=region)
client = session.client('ec2')
client.create_snapshot(
    Description='Gold volume copy',
    VolumeId=Source_volID,
    TagSpecifications=[
        {
            'ResourceType': 'snapshot',
            'Tags': [
                {
                    'Key': 'Name',
                    'Value': 'uat3-gold-'
                }
            ]
        }
    ]
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...