Python -Skript zum Erstellen von CloudFront -Ungültigmachungen

Python -Skript zum Erstellen von CloudFront -Ungültigmachungen

Mit Amazon CloudFront Invalidierungsfunktion können Sie ein Objekt aus dem Cloudfront -Cache entfernen, bevor es abläuft. Sie können ein bestimmtes Objekt aus dem Cache entfernen oder (*) Wildcard -Zeichen verwenden, um mehrere Objekte zu entfernen. Sie können auch alle Objekte ungültig machen, indem Sie "/*" -Parameter für die Ungültigmachungsanforderungen verwenden.

Python -Skript zum Erstellen von CloudFront -Invalidierung

Boto3 ist der AWS SDK für die Python -Programmiersprache. Es ermöglicht Python -Entwicklern, Programme zu schreiben, die Dienste wie Cloudfront, S3 und EC2 usw. nutzen.

Zuerst müssen Sie die Boto3 Python Library basierend auf der in Ihrem System installierten Python -Version installieren. Wir haben empfohlen, Python 3 zu verwenden, um unter den Skripten auszuführen.

PIP Installieren Sie Boto3 ## für Python 2 oder Standardeinstellung  PIP3 Boto3 installieren ## für Python 3  

Erstellen Sie als nächstes ein Python -Skript mit dem folgenden Inhalt.

Boto3 importieren # Cloudfront Client CF = BOTO3 erstellen.Client ('CloudFront') # Geben.Create_invalidation (DistriutionID = Distriution_id, InvalidationBatch = 'Pfade': 'Quantity': 1, 'Elements': ['/*'], 'CallerReference': Str (Zeit.Zeit()).ersetzen("."," ")) Invalidation_id = res ['Invalidierung'] ['ID'] Return Invalidation_id # can CloudFront Invalidierungs -ID = create_invalidation () print (" Invalidierung erfolgreich mit ID erstellt: " + id)
123456789101112131415161718192021222324252627282930Boto3import Zeit importieren # CloudFront clientCf = boto3 erstellen.client ('cloudFront') # Geben Sie Original Name Distribution_ID = "UJS7S8D8FD8FDF" ein.Create_invalidation (DistriutionID = Distriution_id, InvalidationBatch = 'Pfade': 'Quantity': 1, 'Elements': ['/*'], 'CallerReference': Str (Zeit.Zeit()).ersetzen("."," ")) Invalidation_id = res ['Invalidierung'] ['ID'] Return Invalidation_id # create CloudFront Invalidierung = create_invalidation () print (" Invalidierung erfolgreich erstellt mit id: " + id)

Sie müssen den Wert Distribution_id in den tatsächlichen Cloudfront -Verteilungsnamen ändern müssen. Um den Verteilungsnamen zu finden, besuchen Sie die Cloudfront -Weboberfläche. Dort finden Sie die Verteilungs -ID unter der Spalte ID.

Führen Sie nun das Python -Skript aus einem Terminal aus, um eine Ungültigmachungsanforderung zu erstellen.

python3 create_invalidation.py 

Bei einer erfolgreichen Ausführung sehen Sie eine Nachricht auf dem Bildschirm wie:

Ungültigheit erfolgreich mit ID: i3hhnhj0af0ilq erstellt 

Die Ungültigkeitsanforderung kann einige Zeit dauern, basierend auf zwischengespeicherten Daten. Sie können den Status der Invalidationsanforderung auf der Cloudfront -Weboberfläche sehen.

Um den Status der Invalidierung anzuzeigen, gehen Sie zur Cloudfront -Weboberfläche. Offen. Siehe den Status der ID der Invalidationsanforderungs -ID, die in der obigen Ausgabe angezeigt werden.

Erstellen Sie die Ungültigheit für alle CloudFront -Verteilung

Sie können auch das folgende Python -Skript verwenden, um eine Ungültigkeitsanforderung für alle CloudFront -Verteilungen zu erstellen, die in der ausgewählten Region Ihres AWS -Kontos verfügbar sind.

Boto3 importieren # Cloudfront Client CF = BOTO3 erstellen.client ('cloudFront') # CloudFront Invalidierung def create_invalidation (distribution_id): res = vgl.Create_invalidation (DistriutionID = Distriution_id, InvalidationBatch = 'Pfade': 'Quantity': 1, 'Elements': ['/*'], 'CallerReference': Str (Zeit.Zeit()).ersetzen("."," ")) Invalidation_id = res ['Invalidierung'] ['ID'] Return Invalidation_id # Schleife über alle Verteilungen verteilungen = vgl.list_distributions () if verteilungen ['DistributionList'] ['Quantity']> 0: Für die Verteilung in Verteilungen ['DistributionList'] ['items']: id = create_invalidation (Distribution ['id']) print ("Invalidierung erfolgreich erstellt für - " + distribution ['id']) else: print (" Keine CloudFront -Verteilungen gefunden."))
12345678910111213141516171819202122232425262728293031323334Boto3import Zeit importieren # CloudFront clientCf = boto3 erstellen.client ('cloudFront') # CloudFront Invalidierungdef create_invalidation (Distribution_id): res = vgl.Create_invalidation (DistriutionID = Distriution_id, InvalidationBatch = 'Pfade': 'Quantity': 1, 'Elements': ['/*'], 'CallerReference': Str (Zeit.Zeit()).ersetzen("."," ")) Invalidation_id = res ['Invalidierung'] ['ID'] Return Invalidation_id # Schleife über alle Distributionsdistributionen = vgl.list_distributions () if verteilungen ['DistributionList'] ['Quantity']> 0: Für die Verteilung in Verteilungen ['DistributionList'] ['items']: id = create_invalidation (Distribution ['id']) print ("Invalidierung erfolgreich erstellt für - " + distribution ['id']) else: print (" Keine CloudFront -Verteilungen gefunden."))

Abschluss

Dieses Tutorial hat Ihnen bei einem Python -Skript geholfen, CloudFront -Ungültigkeitsanforderung zu erstellen.