AWS清除CloudFront缓存

这篇具有很好参考价值的文章主要介绍了AWS清除CloudFront缓存。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

运行之前,提供AWS密钥文章来源地址https://www.toymoban.com/news/detail-858665.html

import boto3


def 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 None


def 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缓存的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • AWS CloudFront + Route53 + EC2 + Certificate Manager

    先理解它是怎么运转的 用户请求Route53解析到CloudFront,CloudFront解析EC2也就是资源。 了解了运作,接下来就一步步实现 EC2是服务器,并不是资源,他的资源其实就是URL地址 下面我们先找到EC2的URL资源地址,资源其实就是数据、图片、文件这些东西 为了排除干扰,这里先不设

    2024年04月16日
    浏览(52)
  • AWS 专题学习 P8 (ECS、EKS、Lambda、CloudFront、DynamoDB)

    专题内容总览和系列博客目录 https://blog.csdn.net/weixin_40815218/article/details/135590291 辅助资料( PDF ) https://download.csdn.net/download/weixin_40815218/88741566 Docker 是一个用于部署应用程序的软件开发平台 Docker 容器可以在任何操作系统上运行,应用程序运行在容器中 应用程序运行过程相同,

    2024年01月21日
    浏览(36)
  • using-aws-s3-buckets-cloudfront-distribution-with-craft-cms

    Assets like images, PDFs, and oth­er files are often an impor­tant part of the “con­tent” that a Con­tent Man­age­ment Sys­tem handles. Although this arti­cle was writ­ten with Craft CMS in mind, the vast major­i­ty of the arti­cle applies gener­i­cal­ly to any CMS or website. Craft CMS has some fan­tas­tic native han­dling of said asse

    2024年02月04日
    浏览(31)
  • 使用亚马逊(AWS)云服务在S3上实现图片缩放功能(CloudFront/S3[AccessPoint/LambdaAccessPoint])

    亚马逊云服务中的S3对象存储功能和国内阿里云的oss对象存储使用基本一致。但是涉及到存储内容处理时,两家有些差别。 比如:对于云存储中的图片资源,阿里云比较人性化对于基本的缩放裁剪功能已经帮我们封装好了,只需要在url地址后面拼接参数即可,但是亚马逊S3存

    2024年02月16日
    浏览(40)
  • [ 云计算 | AWS ] IAM 详解以及如何在 AWS 中直接创建 IAM 账号

    本章节主要介绍 IAM 相关知识点以及在 AWS 控制台窗口如何创建一台 Amazon IAM 账号。 AWS Identity and Access Management (IAM) 是一种 Web 服务,可以帮助你安全地控制对 AWS 资源的访问。借助 IAM,你可以集中管理控制用户可访问哪些 AWS 资源的权限。可以使用 IAM 来控制谁通过了身份验证

    2024年02月12日
    浏览(41)
  • [ 云计算 | AWS 实践 ] 使用 Java 列出存储桶中的所有 AWS S3 对象

    本文收录于【#云计算入门与实践 - AWS】专栏中,收录 AWS 入门与实践相关博文。 本文同步于个人公众号:【 云计算洞察 】 更多关于云计算技术内容敬请关注:CSDN【#云计算入门与实践 - AWS】专栏。 本系列已更新博文: [ 云计算 | AWS 实践 ] Java 应用中使用 Amazon S3 进行存储桶

    2024年02月06日
    浏览(49)
  • AWS第一个云计算服务—S3

    传统方式处理静态内容(图片、视频、CSS、纯HTML页面等)是将其放到磁盘里,随着访问量增大,磁盘压力就会增大,磁盘压力大可能就会坏掉,所以我们需要一个 海量、高并发、可靠的存储 ,这就是 AWS提供的第一个云计算服务——S3 。 S3(Simple Storage Service)是一个存储服

    2024年02月11日
    浏览(53)
  • AWS云计算技术架构探索系列之五-网络

         当我们有了计算和存储资源,但是要真正把应用程序运行起来并提供互联网服务,那还需要使用AWS的网络,本章节就一起了解AWS的网络及其相关的组件基础知识和架构,其中包括: 区域(Region),可用区(AZ) VPC相关,包括子网,互联网网关 ,NAT,网络ACL,安全组等 负载均

    2023年04月08日
    浏览(47)
  • 如何构建AWS上的云计算基础设施

    作者:禅与计算机程序设计艺术 作为一名人工智能专家,程序员和软件架构师,我经常被要求为企业和组织提供云计算基础设施的构建和实施建议。在本文中,我将深入探讨如何构建 AWS 上的云计算基础设施,帮助读者了解整个过程并提高他们对云计算的理解。 引言 AWS 上的云计算

    2024年02月16日
    浏览(40)
  • AWS云计算知识检查模块2习题(含答案)

    1、对于某些服务(例如Amazon Elastic Compute Cloud (Amazon EC2)和Amazon Relational Database Service (Amazon RDS)),您可以投资预留容量。以下哪些选项适用于预留实例?(请选择三项。)AURI、NURI、PURI 2、客户在哪里能详细了解3个月前发生的Amazon Elastic Compute Cloud(Amazon EC2)账单活动?Aws Cost Explorer 3、

    2024年02月04日
    浏览(99)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包