2016-03-21 5 views
0

Kann mir jemand zeigen, was ist der Zweck von Boto3 (Ressourcen-Ebene) KeyPair und KeypairInfo Objekte? Die Dokumentation ist noch einmal vage ..Boto3: Unterschied zwischen (EC2) KeyPair und KeyPairInfo

import boto3 
ec2 = boto3.resource('ec2') 
key_pair = ec2.KeyPair('name') 
key_pair = ec2.KeyPairInfo('name') 

Wichtig ist, dass KeyPairInfo nicht funktionieren: AttributeError: 'ec2.ServiceResource' object has no attribute 'KeyPairInfo'

Zusätzlich:

  • Beide können kein neues Schlüsselpaar erstellen, warum dann haben wir sie überhaupt?
  • drucken key_pair_info.key_material
    AttributeError: 'ec2.KeyPairInfo' object has no attribute 'key_material'. Dies liegt daran, dass dem Benutzer beim Erstellen einmal zugewiesen wird.
  • Nur zur Info, ich meistens mit botocore(client)

    Antwort

    1
    ec2 = boto3.resource('ec2') 
    ec2.KeyPair('name') # Get the key fingerprint AND the private key 
    ec2.KeyPairInfo('name') # Get the key fingerprint ONLY 
    
    
    ec2 = boto3.client('ec2') 
    mykeypair = ec2.create_key_pair(KeyName='name') # Create a new keypair 
    print mykeypair['KeyMaterial'] 
    
    +0

    'response = ec2.KeyPair ('name') arbeiten' nicht privaten Schlüssel zurückgibt; gibt nur Fingerabdruck und Name zurück. Obwohl die Dokumentation besagt, dass sie "response.key_material" zurückgibt, ist dies jedoch falsch, weil die aws den privaten Schlüssel nicht speichert [http://boto3.readthedocs.org/en/latest/reference/services/ec2.html#keypair] – bluemoon