Ich bin mit einem Python-Schnittstelle für Messer nicht vertraut, aber ich sehe keinen Grund, dies nicht zu funktionieren:
import sh
sh.knife.ec2.server.create(r='role[x]', I='ami-xxxxxxx', f='t2.micro', aws-access-key-id=ACCESS_KEY, aws-secret-access-key=SECRET_KEY)
Sie werden dafür pip install sh
benötigen, so können Sie auch verwenden können subprocess es stattdessen, wenn Sie nicht wollen, zusätzliche Abhängigkeiten:
import subprocess
subprocess.Popen('knife ec2 server create ...', shell=True)
wenn ich Sie wäre, ich einen kleinen Client schreiben würde für die Ausführung von Messer obwohl bequemer Befehle, als ob Sie Messer verwenden, ist dies wahrscheinlich nicht der einzige Befehl, den du ausführen willst. sh
wäre dafür ideal.
In Bezug auf Ihre zweite Frage sollten Sie ein anderes Problem dafür öffnen.