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

如何在PowerShell与Bash中通过管道批量启动AWS Glue作业

在Bash和PowerShell中批量启动符合标签条件的AWS Glue作业

Bash环境下的实现

aws glue list-jobs返回JSON格式结果,我们需要先提取符合标签条件的作业名,再逐个传递给启动命令。借助jq(需提前安装)解析JSON:

aws glue list-jobs --tags name=something | jq -r '.JobNames[]' | xargs -I {} aws glue start-job-run --job-name {}
  • jq -r '.JobNames[]':从JSON输出里提取JobNames数组的每个作业名,-r确保输出是无引号的纯文本
  • xargs -I {}:把前面管道传来的每个作业名替换到{}位置,逐个执行启动命令

如果要给作业加运行参数,直接追加到启动命令后即可:

aws glue list-jobs --tags name=something | jq -r '.JobNames[]' | xargs -I {} aws glue start-job-run --job-name {} --arguments '{"env":"prod","batch_id":"123"}'

PowerShell环境下的实现

PowerShell自带JSON解析能力,无需额外工具,直接用ConvertFrom-Json处理输出:

aws glue list-jobs --tags name=something | ConvertFrom-Json | ForEach-Object {
    $_.JobNames | ForEach-Object {
        aws glue start-job-run --job-name $_
    }
}
  • ConvertFrom-Json:把AWS CLI返回的JSON字符串转成PowerShell可操作的对象
  • 两层ForEach-Object:第一层提取JobNames数组,第二层遍历每个作业名执行启动命令

添加额外参数的写法:

aws glue list-jobs --tags name=something | ConvertFrom-Json | ForEach-Object {
    $_.JobNames | ForEach-Object {
        aws glue start-job-run --job-name $_ --arguments '{"env":"prod","batch_id":"123"}'
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 11:01:01