amazon-web-services - 将参数传递给下一步函数任务

标签 amazon-web-services aws-step-functions aws-batch

{
  "Comment": "A description of my state machine",
  "StartAt": "Batch SubmitJob",
  "States": {
    "Batch SubmitJob": {
      "Type": "Task",
      "Resource": "arn:aws:states:::batch:submitJob.sync",
      "Parameters": {
        "JobDefinition": "arn:aws:batch:us-east-1:XXXXXXXXXXX:job-definition/clientcopyjobdef:1",
        "JobQueue": "arn:aws:batch:us-east-1:XXXXXXXXXX:job-queue/copyclientjq",
        "ContainerOverrides": {
          "Command.$": [
            "dotnet",
            "CopyClientJob.dll",
            "$.input"
          ]
        },
        "JobName.$": "$.input"
      },
      "End": true
    }
  }
}

我试图创建这个状态机,如果我直接将命令传递给JobDefinition,它工作得很好,但在这里我试图覆盖命令并希望从状态输入传递命令参数,所以尝试像上面那样传递代码。对于 "JobName.$": "$.input" 它正在工作,但是对于

"Command.$": [
            "dotnet",
            "CopyClientJob.dll",
            "$.input"
          ] 

它不起作用,命令按原样传递给 aws 批处理而不转换参数,有人可以帮忙解决这个问题吗? 谢谢

最佳答案

得到了解决方案,实际上我需要使用 States.Array 组合所有 3 个,如下所示

{
  "Comment": "A description of my state machine",
  "StartAt": "Batch SubmitJob",
  "States": {
    "Batch SubmitJob": {
      "Type": "Task",
      "Resource": "arn:aws:states:::batch:submitJob.sync",
      "Parameters": {
        "JobDefinition": "arn:aws:batch:us-east-1:XXXXXXXXX:job-definition/clientcopyjobdef:1",
        "JobQueue": "arn:aws:batch:us-east-1:XXXXXXXX:job-queue/copyclientjq",
        "ContainerOverrides": {
          "Command.$": "States.Array('dotnet', 'CopyClientJob.dll', $.input)"
        },
        "JobName": "test"
      },
      "End": true
    }
  }
}

关于amazon-web-services - 将参数传递给下一步函数任务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71870518/

相关文章:

aws-lambda - AWS Step Function - 等到事件发生

amazon-web-services - AWS 批量限制单个主机上的容器数量

amazon-web-services - AWS 批处理数组 - 数组大小?

amazon-web-services - 如何将脚本参数传递给 AWS Batch fetch-and-run

python - 单元测试 lambda 脚本

javascript - 如何通过 AWS SDK 在新创建的 EC2 实例上运行脚本?

EBS AMI 和持久性上的 MySQL

amazon-web-services - 如何连接到私有(private) VPC 中的 AWS IAM API?

amazon-web-services - AWS step 函数可以执行超过 25000 次吗?

amazon-web-services - AWS 步骤函数 - 转换 {AWS::AccountId}::StepFunctionsYamlTransform 失败,但没有错误消息