Pergunta

Existe alguma maneira para atualizar arquivos armazenados no Amazon CloudFront (serviço CDN da Amazon)? Parece que não tomará nenhuma atualização de um arquivo que fazemos (por exemplo, remover o arquivo e armazenar o novo com o mesmo nome de arquivo como antes). Eu tenho que acionar explicitamente um processo de atualização para remover os arquivos dos servidores de borda para obter o novo conteúdo do arquivo publicado?

Obrigado por sua ajuda

Foi útil?

Solução

Amazon adicionou um recurso de invalidação. Este é API Referência .

Request Sample da Referência API:

POST /2010-08-01/distribution/[distribution ID]/invalidation HTTP/1.0
Host: cloudfront.amazonaws.com
Authorization: [AWS authentication string]
Content-Type: text/xml

<InvalidationBatch>
   <Path>/image1.jpg</Path>
   <Path>/image2.jpg</Path>
   <Path>/videos/movie.flv</Path>
   <CallerReference>my-batch</CallerReference>
</InvalidationBatch>

Outras dicas

Aqui está como eu fazer isso usando o painel de controle CloudFront.

  1. Selecionar CloudFront da lista de serviços.
  2. Certifique-se de Distribuições a partir do canto superior esquerdo é selecionado.
  3. Em seguida, clique no link para a distribuição associado da lista (sob id).

enter descrição da imagem aqui

  1. Selecione o Invalidações .
  2. Clique em Criar Invalidação botão e digite o local dos arquivos que você deseja ser invalidado (atualizado).

Por exemplo:

enter descrição da imagem aqui

  1. Em seguida, clique no botão Invalidate botão e você deve ver agora InProgress em status.

enter descrição da imagem aqui

Geralmente, leva 10 a 15 minutos para completar a sua invalidação pedido, dependendo do tamanho do seu pedido.

Uma vez que diz concluída, você é bom para ir.

Dica: Depois de ter criado algumas invalidations se você voltar e necessidade de invalidar os mesmos arquivos usar a caixa de seleção e o Copiar link estará disponível tornando-o ainda mais rápido.

Fazer download da versão Cloudberry Explorador freeware para fazer isso em arquivos individuais: http://blog.cloudberrylab.com/2010/08 /how-to-manage-cloudfront-object.html

Cyberduck para Mac e Windows fornece uma interface de usuário para o objeto de invalidação. Consulte http://trac.cyberduck.ch/wiki/help/en/howto / CloudFront .

Eu me lembro de ver isso em serverfault já, mas aqui está a resposta:

Por "Amazon CDN" Eu suponho que você quer dizer "CloudFront"?

É armazenada em cache, por isso, se você precisar dele para ser atualizado agora (em oposição a "nova versão será visível em 24 horas") você terá que escolher um novo nome. Em vez de "logo.png", use "logo.png - 0", e, em seguida, atualizá-lo usando "logo.png - 1"., E alterar o seu html para apontar para que

Não há nenhuma maneira de "lavar" o Amazon CloudFront.

Editar : Este foi não é possível, que é agora. Ver comentários a esta resposta.

ofertas de CloudFront interface de utilizador isso sob o botão [i]> "Configurações de distribuição", aba "Invalidações": https://console.aws.amazon.com/cloudfront/home#distribution-settings

Em Ruby, usando o gem nevoeiro

AWS_ACCESS_KEY = ENV['AWS_ACCESS_KEY_ID']
AWS_SECRET_KEY = ENV['AWS_SECRET_ACCESS_KEY']
AWS_DISTRIBUTION_ID = ENV['AWS_DISTRIBUTION_ID']

conn = Fog::CDN.new(
    :provider => 'AWS',
    :aws_access_key_id => AWS_ACCESS_KEY,
    :aws_secret_access_key => AWS_SECRET_KEY
)

images = ['/path/to/image1.jpg', '/path/to/another/image2.jpg']

conn.post_invalidation AWS_DISTRIBUTION_ID, images

mesmo em invalidação, ainda leva 5-10 minutos para a invalidação de processo e atualização em todos os servidores de borda amazon

CrossFTP para Win, Mac e Linux fornece uma interface de usuário para CloudFront invalidação, verificar isso para mais detalhes: http://crossftp.blogspot.com/2013/07/cloudfront-invalidation-with-crossftp.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top