如何用AWS CLI查询Step Functions近3天失败执行并导出CSV
解决方案:获取Step Functions近3天失败执行并导出为CSV
要实现获取近3天的失败执行记录并保存为CSV,需要借助AWS CLI的--start-date-after参数筛选时间范围,再用jq将JSON输出转换为CSV格式。
1. 核心思路
- 计算3天前的UTC时间戳(AWS服务默认使用UTC时间),作为筛选条件传入
--start-date-after。 - 使用
jq解析AWS CLI返回的JSON结果,提取所需字段并转换为CSV格式,最后保存到文件。
2. 具体命令
Linux/macOS 环境
首先计算3天前的UTC时间:
start_date=$(date -u -v-3d +"%Y-%m-%dT%H:%M:%SZ")
然后执行完整命令导出CSV:
aws stepfunctions list-executions --state-machine-arn "你的状态机ARN" --status-filter "FAILED" --region "eu-west-1" --start-date-after "$start_date" | jq -r '.executions[] | [.executionArn, .stateMachineArn, .name, .status, .startDate, .stopDate] | @csv' > failed_executions_last_3_days.csv
Windows PowerShell 环境
先计算3天前的UTC时间:
$startDate = (Get-Date).AddDays(-3).ToUniversalTime().ToString("yyyy-MM-ddTHH:mm:ssZ")
再执行导出命令:
aws stepfunctions list-executions --state-machine-arn "你的状态机ARN" --status-filter "FAILED" --region "eu-west-1" --start-date-after $startDate | jq -r '.executions[] | [.executionArn, .stateMachineArn, .name, .status, .startDate, .stopDate] | @csv' | Out-File -FilePath failed_executions_last_3_days.csv -Encoding utf8
3. 关键说明
--start-date-after参数:仅返回在指定UTC时间之后启动的执行任务,确保只获取近3天的数据。jq处理逻辑:.executions[]遍历返回的所有执行记录数组[.executionArn, ...]指定需要导出的字段(可根据需求调整,比如添加.error字段查看失败原因)@csv将提取的字段转换为标准CSV格式
- 依赖条件:需要提前安装
jq工具(Linux用包管理器、macOS用Homebrew、Windows用Chocolatey均可安装)。
内容的提问来源于stack exchange,提问作者aishu8333
相关产品推荐
相关产品推荐

