Skrypt Pythona, aby stworzyć unieważnienie Cloudfront

Skrypt Pythona, aby stworzyć unieważnienie Cloudfront

Amazon Cloudfront Funkcja unieważnienia umożliwia usunięcie obiektu z pamięci podręcznej Cloudfront, zanim wygasa. Pozwala usunąć określony obiekt z pamięci podręcznej lub użyć (*) znaku wieloznacznego w celu usunięcia wielu obiektów. Możesz także unieważnić wszystkie obiekty za pomocą parametrów „/*” do żądań unieważnienia.

Skrypt Python, aby stworzyć unieważnienie CloudFront

Boto3 to AWS SDK dla języka programowania Python. Umożliwia programistom Python pisanie programów, które wykorzystują usługi takie jak CloudFront, S3 i EC2 itp.

Najpierw musisz zainstalować bibliotekę Boto3 Python na podstawie wersji Python zainstalowanej w twoim systemie. Zalecaliśmy użycie Python 3 do uruchomienia poniżej skryptów.

PIP Instaluj boto3 ## dla Python 2 lub domyślnie  PIP3 Zainstaluj boto3 ## dla Python 3  

Następnie utwórz skrypt Pythona z następującą treść.

Importuj czas importu Boto3 # Utwórz CloudFront Client CF = BOTO3.Klient („CloudFront”) # Wprowadź oryginalną nazwę dystrybucji_id = "ujs7s8d8fd8fdf" # Utwórz CloudFront Invalidation def Create_inValidation (): res = cf.create_inValidation (distributiD = Distribution_ID, invalidaationBatch = 'ścieżki': 'ilość': 1, 'items': ['/*'], 'calllerReference': str (czas czas.czas()).zastępować("."," ")) Invalidation_id = res ['invalidacja'] ['id'] return invalidation_id # Utwórz CloudFront IDLADACJA ID = create_inValidation () print („ UNIVALIDACJA Utworzone z identyfikatorem: " + id)
123456789101112131415161718192021222324252627282930Importuj czas Boto3import # Utwórz CloudFront Clientcf = Boto3.Klient („CloudFront”) # Wprowadź oryginalną nazwę dystrybucji_id = "ujs7s8d8fd8fdf" # Utwórz CloudFront InvalidaationDef create_inValidation (): res = cf.create_inValidation (distributiD = Distribution_ID, invalidaationBatch = 'ścieżki': 'ilość': 1, 'items': ['/*'], 'calllerReference': str (czas czas.czas()).zastępować("."," ")) Invalidation_id = res ['invalidation'] ['id'] return invalidation_id # Utwórz CloudFront InvalidationId = create_inValidation () print („ UNIVALIDATION utworzone pomyślnie z identyfikatorem: " + id)

Musisz zmienić wartość distribution_id na rzeczywistą nazwę dystrybucji CloudFront. Aby znaleźć nazwę dystrybucji, odwiedź interfejs internetowy CloudFront. Tam można znaleźć identyfikator dystrybucji w kolumnie ID.

Teraz wykonaj skrypt Pythona z terminalu, aby utworzyć żądanie unieważnienia.

Python3 create_invalidation.py 

Po pomyślnym wykonaniu zobaczysz wiadomość na ekranie:

Unieważnienie utworzone z powodzeniem z ID: I3HHNHJ0AF0ILQ 

Żądanie unieważnienia może zająć trochę czasu na podstawie danych buforowanych. Możesz zobaczyć status żądania unieważnienia na interfejsie internetowym Cloudfront.

Aby wyświetlić status unieważnienia, przejdź do interfejsu internetowego CloudFront. Otwórz dystrybucję Cloudfront, a następnie przejdź do zakładki Invalidations. Zobacz status Identyfikatora żądania unieważnienia pokazanego na powyższym wyjściu.

Utwórz unieważnienie dla wszystkich dystrybucji Cloudfront

Możesz także użyć następującego skryptu Pythona, aby utworzyć żądanie nieprawidłowości dla wszystkich dystrybucji CloudFront dostępnych w wybranym regionie konta AWS.

Importuj czas importu Boto3 # Utwórz CloudFront Client CF = BOTO3.Klient („CloudFront”) # Utwórz CloudFront Invalidation Def Create_Invalidation (Distribution_id): Res = CF.create_inValidation (distributiD = Distribution_ID, invalidaationBatch = 'ścieżki': 'ilość': 1, 'items': ['/*'], 'calllerReference': str (czas czas.czas()).zastępować("."," ")) Invalidation_id = res ['invalidation'] ['id'] return invalidation_id # pętla za pośrednictwem wszystkich rozkładów rozkładów = cf.LIST_DISTRIBUTIONS () IF Dystrybucje [„DistributionList”] [„Ilości”]> 0: Dla dystrybucji w dystrybucjach [„DistributionList”] [„Items”]: id = create_invalidation (distribution ['id']) druku dla - „ + dystrybucja ['id']) else: print („ nie znaleziono dystrybucji Cloudfront.")
12345678910111213141516171819202122232425262728293031323334Importuj czas Boto3import # Utwórz CloudFront Clientcf = Boto3.Klient („CloudFront”) # Utwórz CloudFront InvalidaationDef Create_InValidation (Distribution_id): Res = CF.create_inValidation (distributiD = Distribution_ID, invalidaationBatch = 'ścieżki': 'ilość': 1, 'items': ['/*'], 'calllerReference': str (czas czas.czas()).zastępować("."," ")) Invalidation_id = res ['invalidation'] ['id'] return invalidation_id # pętla za pośrednictwem wszystkich dystrybucji dystrybucji = cf.LIST_DISTRIBUTIONS () IF Dystrybucje [„DistributionList”] [„Ilości”]> 0: Dla dystrybucji w dystrybucjach [„DistributionList”] [„Items”]: id = create_invalidation (distribution ['id']) druku dla - „ + dystrybucja ['id']) else: print („ nie znaleziono dystrybucji Cloudfront.")

Wniosek

Ten samouczek pomógł ci ze skryptem Python w celu stworzenia żądania CloudFront Invaliation.