Amazon web services 如何将Step函数输入传递给批处理作业

Amazon web services 如何将Step函数输入传递给批处理作业,amazon-web-services,aws-step-functions,aws-batch,Amazon Web Services,Aws Step Functions,Aws Batch,将Step函数的部分输入发送到批处理作业的正确方式是什么 我尝试过使用Parameters.ContainerOverrides.Environment设置和环境变量,如下所示: "Parameters": { "ContainerOverrides": { "Environment": [ { "Name": "PARAM_1", "Value": "$.param_1" } { "param_1

将Step函数的部分输入发送到批处理作业的正确方式是什么

我尝试过使用Parameters.ContainerOverrides.Environment设置和环境变量,如下所示:

"Parameters": {
    "ContainerOverrides": {
      "Environment": [
        {
          "Name": "PARAM_1",
          "Value": "$.param_1"
        }
{
  "param_1": "value-goes-here"
}
步骤函数输入如下所示:

"Parameters": {
    "ContainerOverrides": {
      "Environment": [
        {
          "Name": "PARAM_1",
          "Value": "$.param_1"
        }
{
  "param_1": "value-goes-here"
}

但是批处理作业最终会在param_1环境变量中使用文字“$.param_1”进行调用。

修复。值键只需要“$”后缀


如果您希望传递参数以批处理,请将参数部分添加到父参数部分(命名不好!)

在“参数”中传递它(在父“参数”中)。请注意,所有参数值都是字符串

"MyStepTask": {
    "Type": "Task",
    "Resource": "arn:aws:states:::batch:submitJob.sync",
    "Parameters": {
      "JobDefinition": "myjobdef",
      "JobName": "myjobname",
      "JobQueue": "myjobqueue",
      "Parameters": { "p_param1":"101",
                      "p_param2":"201"
      }
    },
    "Next": "MyNextStepTask"
}