容器从事件桥覆盖到 aws 批处理

问题描述 投票:0回答:1

如标题所示,我在设置从 eventbridge 到 AWS BATCH 的容器覆盖时遇到问题。

对于上下文,我使用 AWS Batch 来保存 ecs 容器的容器配置。

我设置的 Eventbridge 规则在启动批处理作业时没有问题,它只是没有传递我使用 输入变压器设置的容器覆盖参数

我在 s3 的 Eventbridge 中设置了一个触发器,可以检测文件夹中的任何文件上传,如下所示:

事件模式

{
  "detail": {
    "bucket": {
      "name": ["meter-alarms-ls1-ls2-download-test-app-bucket"]
    },
    "object": {
      "key": [{
        "prefix": "input/"
      }]
    }
  },
  "detail-type": ["Object Created"],
  "source": ["aws.s3"]
}

然后我将目标设置为我的批量配置(作业和队列)。

但是我有一个小输入变压器来实现这样的目标设置

输入路径

{
  "object_key": "$.detail.object.key"
}

输入模板

 {
  "containerOverrides": {
    "environment": [
      {
        "name": "FILE_NAME",
        "value": "<object_key>"
      }
    ]
  }
}

我已经测试了权限,并测试了批处理是否可以使用此命令处理覆盖

 aws batch submit-job     
--job-name "TestJob"     
--job-queue "queueName"     
--job-definition "jobDef"     
--container-overrides '{
      "environment": [
        {
          "name": "FILE_NAME",
          "value": "example-file-name"
        }
      ]
    }'

批处理作业运行良好。

amazon-web-services aws-event-bridge aws-batch
1个回答
0
投票

当我输入此内容并查看文档时,答案实际上非常愚蠢。

 {
  "ContainerOverrides": {
    "Environment": [
      {
        "Name": "FILE_NAME",
        "Value": "<object_key>"
      }
    ]
  }
}

它只需要每个单词大写

© www.soinside.com 2019 - 2024. All rights reserved.