Script Python para criar invalidações CloudFront
- 2936
- 404
- Spencer Emard
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ãoPIP3 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)123456789101112131415161718192021222324252627282930 | Importar 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.")12345678910111213141516171819202122232425262728293031323334 | Importar 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.
- « Como instalar o python 3.9 no Ubuntu, Debian e Linuxmint
- Como instalar o Tomcat 10 no Ubuntu 20.04 »