You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过boto3获取CloudFront分发的启用/禁用状态?

获取CloudFront分发的启用/禁用状态(Boto3)

你可以通过get_distribution接口返回的DistributionConfig中的Enabled字段判断分发的启用/禁用状态,该字段为布尔类型:True代表启用,False代表禁用。

你之前看到的响应示例应该是截断了完整返回内容,get_distribution的完整响应里,Distribution对象下包含DistributionConfig节点,其中就有你需要的状态字段。

代码示例

单个分发状态查询

使用Boto3调用get_distribution获取指定分发的启用/禁用状态:

import boto3

cloudfront_client = boto3.client('cloudfront')

def get_distribution_enabled_status(distribution_id):
    response = cloudfront_client.get_distribution(Id=distribution_id)
    # 提取启用/禁用状态
    enabled_status = response['Distribution']['DistributionConfig']['Enabled']
    return enabled_status

# 示例调用
dist_id = "E2H2PR2OHJ17TC"
print(f"分发 {dist_id} 的启用状态: {get_distribution_enabled_status(dist_id)}")

批量查询所有分发状态

如果需要批量获取所有分发的启用/禁用状态,可使用list_distributions:

def list_all_distributions_enabled_status():
    response = cloudfront_client.list_distributions()
    distributions = response.get('DistributionList', {}).get('Items', [])
    for dist in distributions:
        dist_id = dist['Id']
        enabled_status = dist['DistributionConfig']['Enabled']
        print(f"分发ID: {dist_id}, 启用状态: {enabled_status}")

list_all_distributions_enabled_status()

补充说明

  • Enabled是CloudFront分发的核心配置属性,只要分发存在就会返回该字段。
  • 部署状态(Status字段的Deployed/InProgress)和启用/禁用状态是两个独立概念:部署状态表示当前配置是否已生效,启用/禁用状态决定分发是否处理用户请求。

内容的提问来源于stack exchange,提问作者Tim-G

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 11:55:38