【问题标题】:AWS CLI events put-targets EcsParameters (structure)AWS CLI 事件 put-targets EcsParameters(结构)
【发布时间】:2022-01-17 11:48:22
【问题描述】:

我正在尝试获取 ECS 集群的当前任务定义,然后更新云桥事件目标中的修订。

这是我目前所拥有的:


james@LAPTOP:/mnt/c/Users/james$ target_id="xxx_hourly_cron"
james@LAPTOP:/mnt/c/Users/james$ aws events list-targets-by-rule --rule `echo $target_id` > rule-target.json
james@LAPTOP:/mnt/c/Users/james$ cat rule-target.json
{
    "Targets": [
        {
            "Id": "xxx_hourly_cron",
            "Arn": "arn:aws:ecs:eu-west-2:000000000000:cluster/xxx-cluster",
            "RoleArn": "arn:aws:iam::000000000000:role/ecsEventsRole",
            "EcsParameters": {
                "TaskDefinitionArn": "arn:aws:ecs:eu-west-2:000000000000:task-definition/xxx-cron:55",
                "TaskCount": 1,
                "EnableECSManagedTags": false,
                "EnableExecuteCommand": false,
                "PropagateTags": "TASK_DEFINITION"
            }
        }
    ]
}
james@LAPTOP:/mnt/c/Users/james$ aws events put-targets --rule `echo $target_id` --targets --EcsParameters jsonfile?

最后一个命令是我苦苦挣扎的地方: 在 AWS 文档中,我不确定它的结构是什么意思,我尝试过 json 并试图逃避它。 这是我正在查看的文档: https://docs.aws.amazon.com/cli/latest/reference/events/put-targets.html

【问题讨论】:

    标签: json amazon-web-services amazon-ecs aws-event-bridge


    【解决方案1】:

    使用 AWS CLI 命令,您通常可以使用 --cli-input-json 参数将提供给命令的大部分参数替换为单个 JSON 文件。这样可以更轻松地将复杂结构作为 CLI 命令的输入参数进行处理。

    在上面的示例中,您将修改 rule-target.json 输出以成为下一个输入 (rule-target-input.json),使用类似以下内容:

    {
        "Rule": "xxx_hourly_cron",
        "Targets": [
            {
                "Id": "xxx_hourly_cron",
                "Arn": "arn:aws:ecs:eu-west-2:000000000000:cluster/xxx-cluster",
                "RoleArn": "arn:aws:iam::000000000000:role/ecsEventsRole",
                "EcsParameters": {
                    "TaskDefinitionArn": "arn:aws:ecs:eu-west-2:000000000000:task-definition/xxx-cron:55",
                    "TaskCount": 1,
                    "EnableECSManagedTags": false,
                    "EnableExecuteCommand": false,
                    "PropagateTags": "TASK_DEFINITION"
                }
            }
        ]
    }
    

    然后使用以下内容将其输入到输入中:

    aws put-targets --cli-input-json file://rule-target-input.json
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-09
      • 1970-01-01
      • 2020-10-29
      • 2019-03-14
      • 1970-01-01
      • 2017-03-22
      • 2020-10-01
      • 1970-01-01
      相关资源
      最近更新 更多