Skrip Python Untuk Membuat Pembatalan Cloudfront

Skrip Python Untuk Membuat Pembatalan Cloudfront

Ciri Invalidation Amazon CloudFront membolehkan anda mengeluarkan objek dari cache Cloudfront sebelum tamat tempoh. Ia membolehkan anda mengeluarkan objek tertentu dari cache atau penggunaan (*) watak wildcard untuk mengeluarkan pelbagai objek. Anda juga boleh membatalkan semua objek dengan menggunakan parameter "/*" untuk permintaan pembatalan.

Skrip Python Untuk Membuat Pembatalan Cloudfront

Boto3 adalah AWS SDK untuk bahasa pengaturcaraan Python. Ia membolehkan pemaju python menulis program yang menggunakan perkhidmatan seperti Cloudfront, S3 dan EC2 dll.

Pertama, anda perlu memasang perpustakaan Boto3 Python berdasarkan versi Python yang dipasang pada sistem anda. Kami mengesyorkan untuk menggunakan Python 3 untuk berjalan di bawah skrip.

PIP Pasang Boto3 ## untuk python 2 atau lalai  PIP3 Pasang Boto3 ## untuk python 3  

Seterusnya, buat skrip python dengan kandungan berikut.

Import BOTO3 Masa Import # Buat CloudFront Client CF = BOTO3.Pelanggan ('CloudFront') # masukkan nama asal edaran_id = "ujs7s8d8fd8fdf" # create cloudfront invalidation def create_invalidation (): res = cf.create_Invalidation (distributionId = edaran_id, invalidationBatch = 'Paths': 'Quantity': 1, 'Item': ['/*'], 'callerReference': str (masa.masa()).ganti ("."," ")) invalidation_id = res ['Invalidation'] ['id'] return invalidation_id # create CloudFront Invalidation ID = create_invalidation () print (" Invalidation dicipta dengan jayanya dengan id: " + id)
1234567891011121314151617181920212222324252627282930Import Boto3Import Masa # Buat CloudFront ClientCf = Boto3.Pelanggan ('CloudFront') # Masukkan nama asal distribusi_id = "UJS7S8D8FD8FDF" # Buat CloudFront InvalidationDef Create_invalidation (): res = cf.create_Invalidation (distributionId = edaran_id, invalidationBatch = 'Paths': 'Quantity': 1, 'Item': ['/*'], 'callerReference': str (masa.masa()).ganti ("."," ")) invalidation_id = res ['Invalidation'] ['id'] return invalidation_id # create cloudfront invalidationId = create_invalidation () print (" Invalidation dicipta dengan jayanya dengan id: " + id)

Anda mesti menukar nilai edaran_id ke nama pengedaran awan sebenar. Untuk mencari nama pengedaran melawat antara muka web CloudFront. Di sana anda boleh menemui ID pengedaran di bawah lajur ID.

Sekarang, laksanakan skrip python dari terminal untuk membuat permintaan pembatalan.

python3 create_invalidation.py 

Pada pelaksanaan yang berjaya, anda akan melihat mesej di skrin seperti:

Pembatalan berjaya dicipta dengan ID: i3hhnhj0af0ilq 

Permintaan pembatalan mungkin mengambil sedikit masa berdasarkan data cache. Anda dapat melihat status permintaan pembatalan di antara muka web CloudFront.

Untuk melihat status pembatalan, pergi ke Antara Muka Web CloudFront. Buka taburan Cloudfront, kemudian navigasi ke tab Pembatalan. Lihat status ID Permintaan Pembatalan yang ditunjukkan dalam output di atas.

Buat Pembatalan untuk Semua Pengedaran CloudFront

Anda juga boleh menggunakan skrip Python berikut untuk membuat permintaan pembatalan untuk semua pengagihan Cloudfront yang terdapat di rantau terpilih akaun AWS anda.

Import BOTO3 Masa Import # Buat CloudFront Client CF = BOTO3.Pelanggan ('CloudFront') # Buat CloudFront Invalidation def create_invalidation (distribusi_id): res = cf.create_Invalidation (distributionId = edaran_id, invalidationBatch = 'Paths': 'Quantity': 1, 'Item': ['/*'], 'callerReference': str (masa.masa()).ganti ("."," ")) Invalidation_ID = res ['Invalidation'] ['ID'] mengembalikan Invalidation_ID # Loop melalui semua pengagihan pengedaran = cf.list_distributions () jika distribusi ['distribusi'] ['kuantiti']> 0: untuk pengedaran dalam pengedaran ['distribusi'] ['item']: id = create_invalidation (distribusi ['id']) untuk - " + pengedaran ['id']) lain: cetak (" Tiada pengagihan awan yang dijumpai.")
12345678910111213141516171819202122223242526272829303132334Import Boto3Import Masa # Buat CloudFront ClientCf = Boto3.Pelanggan ('CloudFront') # Buat CloudFront InvalidationDef Create_Invalidation (distribusi_id): res = cf.create_Invalidation (distributionId = edaran_id, invalidationBatch = 'Paths': 'Quantity': 1, 'Item': ['/*'], 'callerReference': str (masa.masa()).ganti ("."," ")) Invalidation_id = res ['Invalidation'] ['id'] kembali Invalidation_ID # Loop melalui semua pengedaranDistributions = cf.list_distributions () jika distribusi ['distribusi'] ['kuantiti']> 0: untuk pengedaran dalam pengedaran ['distribusi'] ['item']: id = create_invalidation (distribusi ['id']) untuk - " + pengedaran ['id']) lain: cetak (" Tiada pengagihan awan yang dijumpai.")

Kesimpulan

Tutorial ini membantu anda dengan skrip python untuk membuat permintaan pembatalan awan.