Script python pour créer des invalidations de cloudfront
- 2213
- 689
- Clara Nguyen
La fonction d'invalidation Amazon CloudFront vous permet de supprimer un objet du cache CloudFront avant son expiration. Il vous permet de supprimer un objet spécifique du cache ou d'utiliser (*) un caractère générique pour supprimer plusieurs objets. Vous pouvez également invalider tous les objets en utilisant des paramètres «/ *» pour les demandes d'invalidation.
Script python pour créer une invalidation de cloudfront
Boto3 est le SDK AWS pour le langage de programmation Python. Il permet aux développeurs de Python d'écrire des programmes qui utilisent des services comme CloudFront, S3 et EC2, etc.
Tout d'abord, vous devez installer la bibliothèque Python Boto3 basée sur la version Python installée sur votre système. Nous avons recommandé d'utiliser Python 3 pour fonctionner sous les scripts.
pip install boto3
## pour Python 2 ou par défautPIP3 Installer Boto3
## pour Python 3
Ensuite, créez un script Python avec le contenu suivant.
Importer Boto3 Importer Temps # Créer un client CloudFront CF = Boto3.client ('cloudfront') # Entrez le nom d'origine distribution_id = "ujs7s8d8fd8fdf" # création de cloudfront invalidation def create_invalidation (): res = cf.create_invalidation (DistributionId = Distribution_id, invalidationBatch = 'paths': 'quantité': 1, 'items': ['/ *'], 'callerreference': str (time.temps()).remplacer("."," ")) invalidation_id = res ['invalidation'] ['id'] return invalidation_id # create cloudfront invalidation id = create_invalidation () print (" invalidation créé avec succès avec id: "+ id)123456789101112131415161718192021222324252627282930 | Importer Boto3Import Temps # Créer CloudFront Clientcf = Boto3.Client ('CloudFront') # Entrez le nom d'origine Distribution_ID = "UJS7S8D8FD8FDF" # Create CloudFront InvalidationDef Create_Invalidation (): Res = CF.create_invalidation (DistributionId = Distribution_id, invalidationBatch = 'paths': 'quantité': 1, 'items': ['/ *'], 'callerreference': str (time.temps()).remplacer("."," ")) invalidation_id = res ['invalidation'] ['id'] return invalidation_id # create cloudfront invalidationId = create_invalidation () print (" invalidation créé avec succès avec id: "+ id) |
Vous devez avoir à modifier la valeur de distribution_id au nom de distribution CloudFront réel. Pour trouver le nom de distribution, visitez l'interface Web CloudFront. Vous pouvez y trouver un identifiant de distribution sous la colonne ID.
Maintenant, exécutez le script python d'un terminal pour créer une demande d'invalidation.
python3 create_invalidation.py
Lors de l'exécution réussie, vous verrez un message à l'écran comme:
Invalidation créée avec succès avec ID: i3hhnhj0af0ilq
La demande d'invalidation peut prendre un certain temps en fonction des données mises en cache. Vous pouvez voir l'état de la demande d'invalidation sur l'interface Web CloudFront.
Pour afficher l'état d'invalidation, accédez à l'interface Web CloudFront. Open CloudFront Distribution, puis accédez à l'onglet Invalidations. Voir l'état de l'ID de demande d'invalidation illustré dans la sortie ci-dessus.
Créer une invalidation pour toutes les distributions CloudFront
Vous pouvez également utiliser le script Python suivant pour créer une demande d'invalidation pour toutes les distributions CloudFront disponibles dans la région sélectionnée de votre compte AWS.
Importer Boto3 Importer Temps # Créer un client CloudFront CF = Boto3.Client ('CloudFront') # Créer CloudFront Invalidation Def Create_Invalidation (Distribution_id): Res = CF.create_invalidation (DistributionId = Distribution_id, invalidationBatch = 'paths': 'quantité': 1, 'items': ['/ *'], 'callerreference': str (time.temps()).remplacer("."," ")) invalidation_id = res ['invalidation'] ['id'] return invalidation_id # boucle via toutes les distributions distributions = cf.List_Distributions () If Distributions ['DistributionList'] ['Quantity']> 0: Pour la distribution dans les distributions ['DistributionList'] ['Items']: id = Create_Invalidation (distribution ['id']) print ("invalidation créé avec succès avec succès pour - "+ distribution ['id']) else: imprimer (" pas de distributions de cloudfront trouvées.")12345678910111213141516171819202122232425262728293031323334 | Importer Boto3Import Temps # Créer CloudFront Clientcf = Boto3.Client ('CloudFront') # Créer CloudFront InvalidationDef Create_Invalidation (Distribution_ID): Res = CF.create_invalidation (DistributionId = Distribution_id, invalidationBatch = 'paths': 'quantité': 1, 'items': ['/ *'], 'callerreference': str (time.temps()).remplacer("."," ")) invalidation_id = res ['invalidation'] ['id'] return invalidation_id # boucle via toutes les distributionsDistributions = cf.List_Distributions () If Distributions ['DistributionList'] ['Quantity']> 0: Pour la distribution dans les distributions ['DistributionList'] ['Items']: id = Create_Invalidation (distribution ['id']) print ("invalidation créé avec succès avec succès pour - "+ distribution ['id']) else: imprimer (" pas de distributions de cloudfront trouvées.") |
Conclusion
Ce tutoriel vous a aidé avec un script Python pour créer une demande d'invalidation CloudFront.
- « Comment installer Python 3.9 sur Ubuntu, Debian & Linuxmint
- Comment installer Tomcat 10 sur Ubuntu 20.04 »