无法从使用startExecution设置的“步进函数”输入中传递胶水作业参数

问题描述

我正在尝试从步骤函数将参数传递给Glue作业,但变量未解析。这是我的代码。 我的状态机只有一步,如下所示。

{
  "Comment": "Test Function","StartAt": "StartGlueJob","States": {
    "StartGlueJob": {
      "Type": "Task","Resource": "arn:aws:states:::glue:startJobRun.sync","Parameters": {
        "JobName": "my-job-name","Arguments": {
          "--output": "$.outputpath"
        }
      },"End": true
    }
  }
}

我正在使用boto3从Lambda调用step函数,我的代码如下:

stepclient.start_execution(
        stateMachineArn='arn:aws:states:XXXX:XXXX:stateMachine:MyStateMachine',name=funcation_name,input="{\"outputpath\": \"new-sr-out\"}"
        )

我想从lambda一直到粘胶作业一直传递--output的值。但是,价值并没有得到解决。

请让我知道我在哪里做错了。

解决方法

如果您想在Parameters中使用JsonPath,则密钥需要以.$结尾。

请参阅ASL规范中有关有效负载模板的部分:https://states-language.net/#payload-template

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...