2

我创建了一个触发 AWS 批处理作业的 Cloudwatch 事件 (EventBridge) 规则,并且我想指定一个环境变量和参数。我正在尝试使用以下配置输入(常量 [JSON 文本])来执行此操作,但是当提交作业时,我尝试在作业中设置的环境变量不包括在内,并且参数是默认值。参数按预期工作。

{
    "ContainerProperties": {
        "Environment": [
            {
                "Name": "MY_ENV_VAR",
                "Value": "MyVal"
            }
        ]
    },
    "Parameters": {
        "one": "1",
        "two": "2",
        "three": "3"
    }
}
4

2 回答 2

4

当我输入问题时,我实际上想查看提交作业 API 以了解我做错了什么(我在上面的思考过程中引用了作业定义的 CFT)。对于其他人可能会有所帮助,我发现我需要使用ContainerOverrides而不是ContainerProperties让它正常工作。

{
    "ContainerOverrides": {
        "Environment": [
            {
                "Name": "MY_ENV_VAR",
                "Value": "NorthAmerica"
            }
        ]
    },
    "Parameters": {
        "one": "1",
        "two": "2",
        "three": "3"
    }
}
于 2021-03-13T01:58:56.650 回答
0

前面的解决方案对我不起作用。正确答案可以在这里找到:

https://aws.amazon.com/premiumsupport/knowledge-center/batch-parameters-trigger-cloudwatch/

我只能像这样将参数传递给作业:

{
  "Parameters": {
    "customers": "tgc,localhost"
  }
}

我无法让环境变量工作,也没有尝试 ContainerOverrides。

于 2021-09-28T15:49:08.407 回答