Diferença entre curinga / sem curinga ao invalidar uma distribuição do CloudFront

1

Segue-se um exemplo de um script que executa durante o nosso processo de implementação para invalidar uma distribuição do CloudFront. O objetivo é apenas invalidar tudo em toda a distribuição, por isso usamos / como caminho.

aws cloudfront create-invalidation --distribution-id SOMEDISTRIBUTIONID --paths /

Mas a documentação de Invalidação do CloudFront recomenda que o caminho de anulação use um caractere curinga, como isso:

aws cloudfront create-invalidation --distribution-id SOMEDISTRIBUTIONID --paths "/*"

Qual é a diferença entre esses dois argumentos de caminho? Ambos invalidam tudo ou não? E existe uma diferença de preços?

    
por Jacob Stamm 25.10.2018 / 18:08

1 resposta

2

A menos que seja um caso especial não documentado, a invalidação de / só invalidaria a página principal.

Note que a partir do shell, você precisa citar '/*' para evitar a expansão do shell.

Não há diferença de preço. Todas as invalidações têm o mesmo custo por caminho especificado, se o caminho corresponde a 0, 1, muitos ou todos os arquivos.

O motivo pelo qual o preço é o mesmo e não faz diferença se você combina um ou todos isso não é especificado, mas a especulação é que as invalidações fazem duas coisas diferentes - eles inicialmente definiram registros de marcador com registros de data e hora na distribuição. verificada quando ocorrências de cache ocorrem e se o objeto corresponder ao registro de invalidação e for mais antigo que o registro de data e hora, a ocorrência se tornará uma falha. Os objetos são então limpos no segundo plano e os marcadores removidos. Design brilhante, se for verdade, e quase tem que ser algo assim, já que as invalidações são muito rápidas, mesmo para /* .

Os primeiros 1.000 caminhos de anulação enviados por mês por conta da AWS (não por distribuição) são gratuitos.

    
por 26.10.2018 / 01:53