Ich versuche, alle Stapel zu löschen, die diese Umgebungen (Instanzen) beendet wurden. Beim Übergeben des stack_name an den delete_stack wird ein Fehler ausgegeben. Ich habe versucht, die Sonderzeichen (wie "") zum Wert von Stack_Name hinzuzufügen, aber es gab kein Glück. Kann mir bitte jemand helfen, das Problem zu beheben? Danke im Voraus!Ein Sonderzeichen an einen Wert in Python anhängen
#!/usr/bin/env python
import boto
import boto.ec2
import boto.cloudformation
import re
from datetime import datetime, timedelta
utclast = datetime.utcnow() - timedelta(2)
conn = boto.cloudformation.connect_to_region('us-west-1',aws_access_key_id = '<access_key>',aws_secret_access_key = '<secret_key>')
conn_ec2 = boto.ec2.connect_to_region('us-west-1',aws_access_key_id = '<access_key>',aws_secret_access_key = '<secret_key>')
stacks = conn.list_stacks()
for stackSumm in stacks:
pattern = re.compile("Testupload-env([a-zA-Z0-9]+)")
match = pattern.match(stackSumm.stack_name)
if stackSumm.stack_status in "CREATE_COMPLETE" and match and stackSumm.stack_name in match.string:
m = re.split(r'Testupload-', stackSumm.stack_name)
instance = conn_ec2.get_all_instances(filters={"tag:Name": m[1]})
if not instance:
try:
print "Trying to delete stack: %s" % stackSumm.stack_name
conn.delete_stack(stackSumm.stack_name)
except boto.exception.BotoServerError, e:
print e.error_message
Fehler:
File "delete_stack.py", line 7, in <module>
conn.delete_stack(Testupload-envmeraleb8b01739116b0f36d17a2b5445b949f592bb625-6293)
NameError: name 'Testupload' is not defined
Die Ausnahme, die Sie anzeigen, stammt nicht aus dem Code, den Sie angezeigt haben, sondern irgendwo, wo Sie 'conn.delete_stack' mit einem Argument ohne Anführungszeichen aufrufen. – Blckknght
poste den Code, der den Fehler auslöst. – dbliss
was ist in deinem 'stackSumm'? – haifzhan