amazon-web-services - https console aws amazon com cloudfront home region us east 1




Force a distribuição do arquivo/distribuição do CloudFront (8)

A partir de 19 de março, a Amazon agora permite que o TTL do cache do Cloudfront seja de 0 segundos, assim você (teoricamente) nunca deve ver objetos obsoletos. Portanto, se você tiver seus recursos no S3, basta acessar o AWS Web Panel => S3 => Editar propriedades => Metadados e, em seguida, definir seu valor de "Cache-Control" como "max-age = 0".

Isso é direto da documentação da API :

Para controlar se o CloudFront armazena em cache um objeto e por quanto tempo, recomendamos que você use o cabeçalho Cache-Control com a diretiva max-age =. O CloudFront armazena em cache o objeto para o número especificado de segundos. (O valor mínimo é 0 segundos.)

Eu estou usando o CloudFront da Amazon para servir arquivos estáticos dos meus aplicativos da web.

Não há como dizer a uma distribuição em cloudfront que ela precisa atualizar seu arquivo ou apontar um único arquivo que deve ser atualizado?

A Amazon recomenda que você edite seus arquivos como logo_1.gif, logo_2.gif e assim por diante, como uma solução alternativa para esse problema, mas isso parece uma solução bastante estúpida. Não há absolutamente nenhum outro caminho?


Basta postar para informar qualquer pessoa que esteja visitando essa página (primeiro resultado em 'Atualização de arquivo em nuvem') de que há um invalidador on-line de fácil acesso + disponível em swook.net

Este novo invalidador é:

  • Totalmente online (sem instalação)
  • Disponível 24x7 (hospedado pelo Google) e não requer nenhuma associação.
  • Há suporte a histórico e verificação de caminhos para permitir que você invalide seus arquivos com facilidade. (Muitas vezes com apenas alguns cliques depois de invalidar pela primeira vez!)
  • Também é muito seguro, como você descobrirá ao ler seu post de lançamento .

Divulgação completa: eu fiz isso. Diverta-se!


Com a API de Invalidação, ela é atualizada em alguns minutos.
Confira o Invalidator do PHP .



Se você estiver usando o AWS, provavelmente também usará sua ferramenta CLI oficial (mais cedo ou mais tarde). O AWS CLI versão 1.9.12 ou superior suporta a invalidação de uma lista de nomes de arquivos.

Divulgação completa: eu fiz isso. Diverta-se!


Se você tem boto instalado (que não é apenas para python, mas também instala um monte de utilitários de linha de comando úteis), ele oferece um utilitário de linha de comando especificamente chamado cfadmin ou 'cloud front admin' que oferece a seguinte funcionalidade:

Usage: cfadmin [command]
cmd - Print help message, optionally about a specific function
help - Print help message, optionally about a specific function
invalidate - Create a cloudfront invalidation request
ls - List all distributions and streaming distributions

Você invalida as coisas executando:

$sam# cfadmin invalidate <distribution> <path>

a invalidação de suporte atual do AWS CLI no modo de visualização. Execute o seguinte no seu console uma vez:

aws configure set preview.cloudfront true

Eu implantar meu projeto da web usando npm. Eu tenho os seguintes scripts no meu package.json :

{
    "build.prod": "ng build --prod --aot",
    "aws.deploy": "aws s3 sync dist/ s3://www.mywebsite.com --delete --region us-east-1",
    "aws.invalidate": "aws cloudfront create-invalidation --distribution-id [MY_DISTRIBUTION_ID] --paths /",
    "deploy": "npm run build.prod && npm run aws.deploy && npm run aws.invalidate"
}

Com os scripts acima, você pode implantar seu site com:

npm run deploy

O Bucket Explorer tem uma interface do usuário que facilita bastante isso agora. Veja como:

Clique com o botão direito no seu balde. Selecione "Gerenciar distribuições".
Clique com o botão direito na sua distribuição. Selecione "Obter lista de invalidação da Cloudfront". Em seguida, selecione "Criar" para criar uma nova lista de invalidação. Selecione os arquivos a serem invalidados e clique em "Invalidar". Aguarde 5-15 minutos.





amazon-cloudfront