【以下的问题经过翻译处理】 我正试图使用步骤函数startExecution状态将状态机分解成两部分,并且我想将startExecution函数的输入传递给执行的函数,例如:
"Process chunk": {
"Type": "Task",
"Resource": "arn:aws:states:::states:startExecution",
"Parameters": {
"StateMachineArn": "arn:aws:states:us-west-1:12345:stateMachine:Ingestion-process-parts",
"Input": "$.input.MessageDetails"
},
"End": true,
"ResultPath": "$.input.MessageDetails"
}
其中startExecution输入为
“input”:{
“MessageNumber”:0,
“MessageDetails”:“< S3 URL>”
},
但是无论我为执行状态机的输入尝试什么,它都仅传递一个文字值,即在上述情况下,它传递了
“input”:{
“MessageDetails”:“$ .input.MessageDetails”,
“AWS_STEP_FUNCTIONS_STARTED_BY_EXECUTION_ID”:“arn:aws:states:us-west-1:1234:execution:Ingestion-Chunk-CSV:055ede1a-dc03-4412-a341-d3b6611dbed4”
},
请注意,相同的输入解析对于结果有效:
{
"name": "Process chunk",
"output": {
"MessageNumber": 0,
"MessageDetails": "<an S3 URL>",
似乎正常的使用$ ...解析输入的方法对于此目的无效。如何能够实现我想要的?