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

如何通过Python程序化生成并获取AWS Trusted Advisor组织报告?

生成AWS Trusted Advisor组织报告的可行方案

由于AWS没有提供直接生成组织级Trusted Advisor报告的API/SDK,以下是几个实用的自动化实现方案:

1. 基于AWS CLI + Python脚本汇总数据

利用AWS CLI的Trusted Advisor命令获取组织内的检查结果,再通过Python解析、汇总并生成报告:

  • 前提:确保管理账户已启用Trusted Advisor组织视图,且执行脚本的身份拥有TrustedAdvisorReadOnlyAccess和organizations:ListAccounts权限
  • 核心步骤:
    • 调用aws trustedadvisor describe-trusted-advisor-checks获取所有检查项列表
    • 遍历每个检查项,用aws trustedadvisor describe-trusted-advisor-check-result获取组织级结果(管理账户下可直接查看跨账户汇总结果)
    • 用Python的subprocess模块执行CLI命令,解析JSON输出后整理成CSV、Markdown或PDF格式的报告
  • 示例代码片段:
import subprocess
import json
import csv

# 获取所有Trusted Advisor检查项
checks_cmd = ["aws", "trustedadvisor", "describe-trusted-advisor-checks", "--language", "zh"]
checks_output = subprocess.run(checks_cmd, capture_output=True, text=True)
checks = json.loads(checks_output.stdout)["checks"]

# 准备报告数据
report_data = []
for check in checks:
    check_id = check["id"]
    # 获取检查结果
    result_cmd = ["aws", "trustedadvisor", "describe-trusted-advisor-check-result", "--check-id", check_id]
    result_output = subprocess.run(result_cmd, capture_output=True, text=True)
    result = json.loads(result_output.stdout)["result"]
    
    # 提取关键信息
    report_row = {
        "检查项名称": check["name"],
        "状态": result["status"],
        "警告资源数": result["flaggedResourcesCount"],
        "资源总数": result["resourcesProcessedCount"]
    }
    report_data.append(report_row)

# 生成CSV报告
with open("ta_org_report.csv", "w", encoding="utf-8", newline="") as f:
    writer = csv.DictWriter(f, fieldnames=report_data[0].keys())
    writer.writeheader()
    writer.writerows(report_data)

2. 用Lambda + CloudWatch Events实现定期自动生成

适合需要周期性生成报告的场景:

  • 编写Lambda函数,通过boto3调用Trusted Advisor API获取组织级检查结果(需先通过AWS Organizations API获取成员账户列表,若需单账户明细)
  • 将汇总后的结果保存到S3存储桶,可结合Python库(如pdfkit、jinja2)生成HTML/PDF格式的汇报文件
  • 配置CloudWatch Events规则,设置定时触发(比如每周一),自动执行Lambda生成报告

3. 模拟控制台操作(应急方案)

若上述方案无法满足需求,可临时用浏览器自动化工具模拟控制台操作:

  • 用Selenium或Playwright模拟登录AWS Console,导航到Trusted Advisor组织报告页面,触发报告生成并下载
  • 注意:该方案依赖控制台页面布局,易受AWS界面更新影响,维护成本高,仅适合临时应急场景

内容的提问来源于stack exchange,提问作者Abhijith

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 09:02:27