问题描述
我正在尝试从步骤函数将参数传递给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