微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

无法将数组传递给 AWS StepFunction 中的参数

如何解决无法将数组传递给 AWS StepFunction 中的参数

我正在使用 EMR 开发 AWS StepFunction。 我的输入看起来像这样。

{
  "dt":"20210101"
}

因为我想在 EMR 中运行 spark-submit,所以我用 HadoopJarStep 添加一个步骤。 我的步骤是这样的。

    "Run first step": {
      "Type": "Task","Resource": "arn:aws:states:::elasticmapreduce:addStep.sync","Parameters": {
        "ClusterId.$": "$.cluster.ClusterId","Step": {
          "Name": "My first EMR step","ActionOnFailure": "CONTINUE","HadoopJarStep": {
            "Jar": "command-runner.jar","Args.$": "States.Array('spark-submit','--deploy-mode','client','s3://script_path.py','s3://some_path','$.dt')"
          }
        }
      },"ResultPath": "$.firstStep","Next": "Terminate Cluster"

我的问题点在这里"Args.$": "States.Array('spark-submit','$.dt')"

我必须将参数作为该步骤的数组传递,但“$.dt”无法正常工作。

我尝试了以下各种方法

"Args.$": "States.Array('spark-submit','States.Format(\\'s3://some_path\\',$.dt)')"
"Args.$": "States.Array('spark-submit','States.Format(s3://some_path,$.dt)')"
"Args.$": "['spark-submit','s3://some_path/$.dt']"

但它永远不会成功。

如何将参数作为带插值的数组传递?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。