Domanda

C'è un modo per aggiornare i file memorizzati su cloudfront (servizio CDN di Amazon)? Sembra che non ci vorrà alcun aggiornamento di un file che facciamo (ad esempio rimuovendo il file e memorizzare il nuovo con lo stesso nome di file come prima). Devo innescare in modo esplicito un processo di aggiornamento per rimuovere i file dai server edge per ottenere il nuovo contenuto del file pubblicato?

Grazie per il vostro aiuto

È stato utile?

Soluzione

Amazon ha aggiunto un Feature invalidazione. Questo è API Reference .

Campione dal API Reference:

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>

Altri suggerimenti

Ecco come lo faccio utilizzando il pannello di controllo CloudFront.

  1. Seleziona CloudFront dall'elenco dei servizi.
  2. Assicurarsi che Distribuzioni dalla parte superiore sinistra è selezionato.
  3. Avanti fare clic sul link per la distribuzione associata dalla lista (sotto id).

entrare descrizione dell'immagine qui

  1. Seleziona Invalidazioni .
  2. Fare clic sul Crea invalidazione e immettere il percorso dei file che si desidera essere invalidato (aggiornato).

Ad esempio:

entrare descrizione dell'immagine qui

  1. Quindi fare clic sul Disattiva e ora si dovrebbe vedere InProgress nella sezione di stato.

entrare descrizione dell'immagine qui

  

Di solito ci vogliono dai 10 ai 15 minuti per completare l'invalidazione   richiesta, a seconda delle dimensioni della vostra richiesta.

Una volta completata dice siete a posto.

Suggerimento: Dopo aver creato un paio di invalidazione se si torna e la necessità di invalidare gli stessi file di utilizzare la casella di selezione e la Copia sarà disponibile il che rende ancora più veloce.

Scarica Cloudberry Explorer versione freeware per fare questo su singoli file: http://blog.cloudberrylab.com/2010/08 /how-to-manage-cloudfront-object.html

Cyberduck per Mac e Windows fornisce un'interfaccia utente per oggetto l'invalidazione. Fare riferimento a http://trac.cyberduck.ch/wiki/help/en/howto / CloudFront.

Mi sembra di ricordare di aver visto questo su serverfault già, ma ecco la risposta:

Con "Amazon CDN" Presumo si intende "CloudFront"?

E 'nella cache, quindi se avete bisogno di essere aggiornato in questo momento (al contrario di "nuova versione sarà visibile in 24 ore") si dovrà scegliere un nuovo nome. Invece di "logo.png", usare "logo.png - 0", e quindi aggiornarla con "logo.png - 1"., E cambiare il tuo html per indicare che

Non c'è modo di "svuotare" CloudFront amazon.

Modifica : questo è stato non è possibile, è ora. Vedere i commenti a questa risposta.

L'interfaccia utente di CloudFront offre questo sotto la pulsante [I]> "Impostazioni di distribuzione", scheda "Invalidazioni": https://console.aws.amazon.com/cloudfront/home#distribution-settings

In ruby, utilizzando la gemma nebbia

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

anche su invalidazione, ci vuole ancora 5-10 minuti per l'invalidazione di elaborare e aggiornare su tutti i server edge amazon

CrossFTP per Win, Mac, e Linux fornisce un'interfaccia utente per CloudFront invalidazione, controllare questo per maggiori dettagli: http://crossftp.blogspot.com/2013/07/cloudfront-invalidation-with-crossftp.html

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top