Question

Est-il possible de mettre à jour les fichiers stockés sur Amazon CloudFront (le service de CDN d'Amazon)? On dirait qu'il ne prendra aucune mise à jour d'un fichier que nous faisons (par exemple la suppression du fichier et le stockage du nouveau avec le même nom de fichier comme précédemment). Dois-je déclencher explicitement un processus de mise à jour pour supprimer les fichiers des serveurs Edge pour obtenir le nouveau contenu du fichier publié?

Merci pour votre aide

Était-ce utile?

La solution

Amazon a ajouté une fonction de Invalidation. Cette API est de référence.

Demande d'échantillon de l'API Référence:

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>

Autres conseils

Voici comment je le fais à l'aide du panneau de commande CloudFront.

  1. Sélectionnez CloudFront dans la liste des services.
  2. Assurez-vous que Distributions en haut à gauche est sélectionné.
  3. cliquez sur Suivant le lien pour la distribution associée de la liste (sous id).

entrer image description ici

  1. Sélectionnez Invalidations .
  2. Cliquez sur Créer Invalidation et entrez l'emplacement des fichiers que vous souhaitez être invalidée (mise à jour).

Par exemple:

entrer image description ici

  1. Cliquez ensuite sur le Invalider et vous devriez maintenant voir InProgress sous le statut.

entrer image description ici

  

Il faut généralement 10 à 15 minutes pour compléter votre infirmation   demande, en fonction de la taille de votre demande.

Une fois terminé, vous êtes dit à partir.

Conseil: Une fois que vous avez créé quelques invalidations si vous revenez et ont besoin d'invalider les mêmes fichiers utilisent la boîte de sélection et Copier sera disponible rendant encore plus rapide.

Télécharger chicouté Explorateur version freeware pour ce faire sur un seul fichier: http://blog.cloudberrylab.com/2010/08 /how-to-manage-cloudfront-object.html

Cyberduck pour Mac et Windows fournit une interface utilisateur pour objet infirmation. Reportez-vous à http://trac.cyberduck.ch/wiki/help/en/howto / CloudFront.

Je me souviens avoir vu ce déjà serverfault, mais voici la réponse:

Par "Amazon CDN" Je suppose que vous voulez dire "CloudFront"?

Il est mis en mémoire cache, donc si vous avez besoin d'être mis à jour en ce moment (par opposition à « nouvelle version sera visible dans 24hours ») vous devrez choisir un nouveau nom. Au lieu de "logo.png", utiliser "logo.png - 0", puis le mettre à jour en utilisant "logo.png - 1"., Et changer votre code html pour pointer vers que

Il n'y a aucun moyen de CloudFront amazone "flush".

Modifier : Ce est pas possible, il est maintenant. Voir les commentaires à cette réponse.

L'interface utilisateur de CloudFront offre ceci sous le bouton [i]> "Paramètres de distribution", onglet "Invalidations": https://console.aws.amazon.com/cloudfront/home#distribution-settings

En ruby, en utilisant la pierre de brouillard

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

même sur infirmation, il faut encore 5-10 minutes pour le infirmation de traiter et de rafraîchir sur tous les serveurs Edge amazon

CrossFTP pour Win, Mac et Linux fournit une interface utilisateur pour CloudFront infirmation, vérifiez ce pour plus de détails: http://crossftp.blogspot.com/2013/07/cloudfront-invalidation-with-crossftp.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top