SuperAPI AI 工具集

aws-invoice-download

部署与运维

查看项目

更新于 10-16 06:24

技能介绍

用途:解决 AWS 管理账户只能看到合并发票、且成员账户发票逐一按月手动下载繁琐的问题。该技能遍历组织内所有账户,按发票 ID 去重(成员账户名称优先于管理账户合并副本),并通过预签名 URL 下载 PDF,按 MM-YYYY/ 文件夹整理。

使用方式:先确认用户管理账户的 AWS SSO 会话有效,用 aws sts get-caller-identity --profile <profile> 检查,失效则执行 aws sso login --profile <profile>,profile 名可在 ~/.aws/config 中查找。随后向用户询问月份数与输出目录,如镜像不存在则构建:docker build -t aws-invoices <path-to-scripts/>。运行容器时传入 profile 并挂载凭证:docker run --rm -e AWS_PROFILE=<profile> -v ~/.aws:/root/.aws:ro -v ~/.aws/sso/cache:/root/.aws/sso/cache -v ~/.aws/cli/cache:/root/.aws/cli/cache -v <output-dir>:/output aws-invoices --months <N>。

实现与调试:核心文件位于 scripts/ 下,download_invoices.py 为主脚本,Dockerfile 定义容器(AWS CLI v2 多阶段构建)。若脚本或 Dockerfile 变更需重新构建,先执行 docker rmi aws-invoices。

限制:这是参考模式而非可照搬方案,需结合自身上下文调整;要求具备有效的 AWS SSO 会话与相应权限;未提供具体定价、平台兼容性等更多信息。