我遵循了AWS Step Functions,并添加了AWS Step Functions。
但是当我使用下面的代码尝试调用“步骤函数”时,
import { ajax } from 'rxjs/ajax';
// ...
ajax.post(
url,
{
input: JSON.stringify({
formId: action.payload.formId,
fields: action.payload.fields,
}),
},
{ 'Content-Type': 'application/json' },
).pipe(
map(res => actions.sendRequestSucceed(res)),
catchError(actions.sendRequestFailed),
)
它返回错误:
response: {
message: "1 validation error detected: Value null at 'stateMachineArn' failed to satisfy constraint: Member must not be null"
__type: "com.amazon.coral.validate#ValidationException"
}
答案 0 :(得分:0)
花点时间找出答案。
首先需要设置API网关,您可以按照this tutorial进行操作。
请注意,操作为StartExecution
。
这里是StartExecution
API document。
{
"input": "string",
"name": "string", (Optional)
"stateMachineArn": "string"
}
添加stateMachineArn
后,可以在您的“步骤功能->状态机”中找到
在代码中
ajax.post(
url,
{
input: JSON.stringify({
formId: action.payload.formId,
fields: action.payload.fields,
}),
stateMachineArn: 'arn:aws:states:us-west-2:000000000000:stateMachine:SendFormStateMachine',
},
// ...
然后它起作用。
也请注意StartExecution input
仅接受字符串。如果需要传递对象,则可以使用JSON.stringify
。