Script Python para criar invalidações CloudFront

Script Python para criar invalidações CloudFront

O recurso de invalidação do Amazon CloudFront permite remover um objeto do cache CloudFront antes de expirar. Ele permite que você remova um objeto específico de Cache ou Use (*) CARACTER curinga para remover vários objetos. Você também pode invalidar todos os objetos usando parâmetros "/*" para solicitações de invalidação.

Script Python para criar a invalidação do CloudFront

BOTO3 é o SDK da AWS para a linguagem de programação Python. Ele permite que os desenvolvedores do Python escrevam programas que utilizem serviços como CloudFront, S3 e EC2 etc.

Primeiro, você precisa instalar o BOTO3 Python Library com base na versão Python instalada em seu sistema. Recomendamos usar o Python 3 para correr abaixo dos scripts.

PIP Instale o BOTO3 ## para python 2 ou padrão  PIP3 Instale o BOTO3 ## para python 3  

Em seguida, crie um script python com o seguinte conteúdo.

Importar BOTO3 Tempo de importação # Criar CloudFront Client CF = BOTO3.client ('Cloudfront') # Digite o nome original distribution_id = "ujs7s8d8fd8fdf" # Create CloudFront Invalidation def.create_inValidation (distributionId = distribution_id, invalidaçãobatch = 'caminhos': 'quantidade': 1, 'itens': ['/*'], 'callerReference': str (tempo.tempo()).substituir("."," ")) invalidação_id = res ['invalidação'] ['id'] retornar invalidação_id # criar nuvemfront invalidação id = create_invalidation () print (" invalidação criada com sucesso com id: " + id)
123456789101112131415161718192021222324252627282930Importar BOTO3IMPORT HORA.client ('Cloudfront') # Digite o nome original distribution_id = "ujs7s8d8fd8fdf" # Create CloudFront InvalidationDef Create_inValidation (): res = cf.create_inValidation (distributionId = distribution_id, invalidaçãobatch = 'caminhos': 'quantidade': 1, 'itens': ['/*'], 'callerReference': str (tempo.tempo()).substituir("."," ")) invalidação_id = res ['invalidação'] ['id'] return invalidation_id # create cloudfront invalidationid = create_invalidation () print (" invalidação criada com sucesso com id: " + id)

Você deve ter que alterar o valor distribution_id para o nome de distribuição do CloudFront real. Para encontrar o nome da distribuição, visite CloudFront Web Interface. Lá você pode encontrar ID de distribuição sob a coluna de identificação.

Agora, execute o script python de um terminal para criar uma solicitação de invalidação.

python3 create_invalidação.py 

Na execução bem -sucedida, você verá uma mensagem na tela como:

Invalidação criada com sucesso com ID: i3HHNHJ0AF0ILQQ 

A solicitação de invalidação pode levar algum tempo com base em dados em cache. Você pode ver o status da solicitação de invalidação na interface da Web CloudFront.

Para visualizar o status de invalidação, vá para a interface da Web CloudFront. Abra o CloudFront Distribution, depois navegue para a guia de invalidações. Veja o status da ID da solicitação de invalidação mostrada na saída acima.

Crie invalidação para todas

Você também pode usar o seguinte script python para criar uma solicitação de invalidação para todas as distribuições CloudFront disponíveis na região selecionada da sua conta da AWS.

Importar BOTO3 Tempo de importação # Criar CloudFront Client CF = BOTO3.Client ('CloudFront') # Crie CloudFront Invalidation def.create_inValidation (distributionId = distribution_id, invalidaçãobatch = 'caminhos': 'quantidade': 1, 'itens': ['/*'], 'callerReference': str (tempo.tempo()).substituir("."," ")) invalidação_id = res ['invalidação'] ['id'] return invalidation_id # loop através de todas as distribuições distribuições = cf.list_distributions () se distribuições ['distributionlist'] ['quantidade']> 0: Para distribuição em distribuições ['distributionList'] ['itens']: id = create_invalidação (distribuição ['id']) impressão ("Invalidação criada com sucesso com sucesso para - " + distribuição ['id']) else: print (" nenhuma distribuições de cloudfront encontradas.")
12345678910111213141516171819202122232425262728293031323334Importar BOTO3IMPORT HORA.Client ('CloudFront') # Create CloudFront InvalidationDef Create_inValidation (distribution_id): Res = CF.create_inValidation (distributionId = distribution_id, invalidaçãobatch = 'caminhos': 'quantidade': 1, 'itens': ['/*'], 'callerReference': str (tempo.tempo()).substituir("."," ")) invalidação_id = res ['invalidação'] ['id'] return invalidation_id # loop através de todas.list_distributions () se distribuições ['distributionlist'] ['quantidade']> 0: Para distribuição em distribuições ['distributionList'] ['itens']: id = create_invalidação (distribuição ['id']) impressão ("Invalidação criada com sucesso com sucesso para - " + distribuição ['id']) else: print (" nenhuma distribuições de cloudfront encontradas.")

Conclusão

Este tutorial ajudou você com um script python para criar uma solicitação de invalidação do CloudFront.