AWS清除CloudFront缓存

2024-04-22 22:04
文章标签 缓存 aws 清除 cloudfront

本文主要是介绍AWS清除CloudFront缓存,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

运行之前,提供AWS密钥

import boto3def find_cloudfront_distribution_id(domain_name, aws_access_key_id, aws_secret_access_key):# 创建 CloudFront 资源cloudfront = boto3.client('cloudfront', aws_access_key_id=aws_access_key_id,aws_secret_access_key=aws_secret_access_key)# 获取所有 CloudFront 分配distributions = cloudfront.list_distributions()['DistributionList']['Items']for distribution in distributions:# 检查分配是否有别名if 'Aliases' in distribution and 'Items' in distribution['Aliases']:# 检查分配的域名是否包含所提供的域名for alias in distribution['Aliases']['Items']:if alias == domain_name:return distribution['Id']return Nonedef invalidate_cloudfront_cache(distribution_id, paths, aws_access_key_id, aws_secret_access_key):# 创建 CloudFront 客户端cloudfront = boto3.client('cloudfront', aws_access_key_id=aws_access_key_id,aws_secret_access_key=aws_secret_access_key)# 创建失效批次invalidation = {'DistributionId': distribution_id,'InvalidationBatch': {'Paths': {'Quantity': len(paths),'Items': paths},'CallerReference': 'unique-identifier'  # 为失效批次提供唯一标识符}}# 提交失效请求response = cloudfront.create_invalidation(**invalidation)# 检查失效请求是否成功if response['ResponseMetadata']['HTTPStatusCode'] == 201:print("缓存失效请求成功。")else:print("缓存失效请求失败。")# 输入要清理的域名
domain_name = input('请输入需要清理缓存的域名:\n')# AWS 访问密钥和秘密访问密钥
aws_access_key_id = ''
aws_secret_access_key = ''# 查找 CloudFront 分配的 ID
distribution_id = find_cloudfront_distribution_id(domain_name, aws_access_key_id, aws_secret_access_key)if distribution_id:# 要失效的路径paths_to_invalidate = ['/*']# 失效缓存invalidate_cloudfront_cache(distribution_id, paths_to_invalidate, aws_access_key_id, aws_secret_access_key)else:print(f"未找到与域名 '{domain_name}' 相关联的 CloudFront 分配")

这篇关于AWS清除CloudFront缓存的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/926978

相关文章

MyBatis延迟加载与多级缓存全解析

《MyBatis延迟加载与多级缓存全解析》文章介绍MyBatis的延迟加载与多级缓存机制,延迟加载按需加载关联数据提升性能,一级缓存会话级默认开启,二级缓存工厂级支持跨会话共享,增删改操作会清空对应缓... 目录MyBATis延迟加载策略一对多示例一对多示例MyBatis框架的缓存一级缓存二级缓存MyBat

前端缓存策略的自解方案全解析

《前端缓存策略的自解方案全解析》缓存从来都是前端的一个痛点,很多前端搞不清楚缓存到底是何物,:本文主要介绍前端缓存的自解方案,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、为什么“清缓存”成了技术圈的梗二、先给缓存“把个脉”:浏览器到底缓存了谁?三、设计思路:把“发版”做成“自愈”四、代码

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

Redis高性能Key-Value存储与缓存利器常见解决方案

《Redis高性能Key-Value存储与缓存利器常见解决方案》Redis是高性能内存Key-Value存储系统,支持丰富数据类型与持久化方案(RDB/AOF),本文给大家介绍Redis高性能Key-... 目录Redis:高性能Key-Value存储与缓存利器什么是Redis?为什么选择Redis?Red

React 记忆缓存的三种方法实现

《React记忆缓存的三种方法实现》本文主要介绍了React记忆缓存的三种方法实现,包含React.memo、useMemo、useCallback,用于避免不必要的组件重渲染和计算,感兴趣的可以... 目录1. React.memo2. useMemo3. useCallback使用场景与注意事项在 Re

Docker多阶段镜像构建与缓存利用性能优化实践指南

《Docker多阶段镜像构建与缓存利用性能优化实践指南》这篇文章将从原理层面深入解析Docker多阶段构建与缓存机制,结合实际项目示例,说明如何有效利用构建缓存,组织镜像层次,最大化提升构建速度并减少... 目录一、技术背景与应用场景二、核心原理深入分析三、关键 dockerfile 解读3.1 Docke

使用Spring Cache本地缓存示例代码

《使用SpringCache本地缓存示例代码》缓存是提高应用程序性能的重要手段,通过将频繁访问的数据存储在内存中,可以减少数据库访问次数,从而加速数据读取,:本文主要介绍使用SpringCac... 目录一、Spring Cache简介核心特点:二、基础配置1. 添加依赖2. 启用缓存3. 缓存配置方案方案

Java实现本地缓存的四种方法实现与对比

《Java实现本地缓存的四种方法实现与对比》本地缓存的优点就是速度非常快,没有网络消耗,本地缓存比如caffine,guavacache这些都是比较常用的,下面我们来看看这四种缓存的具体实现吧... 目录1、HashMap2、Guava Cache3、Caffeine4、Encache本地缓存比如 caff

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使