问题描述
我正在使用 lambda 来启动阶跃函数,等待它完成并返回响应(200 或 500,取决于阶跃函数的结果)。 step 函数有两个步骤,每个步骤都调用一个 lambda。 当我尝试从前端调用初始 lambda 时,step 函数按预期工作,但初始 lambda 的响应是“502 内部服务器错误”。
这是初始的 lambda:
'use strict';
const AWS = require('aws-sdk')
exports.newmessage = async (event) => {
const stepFunctions = new AWS.StepFunctions();
const reqBody = event.body || {};
const params = {
stateMachineArn: stateMachineArn,input: reqBody
}
return stepFunctions.startExecution(params).promise()
.then(async data => {
console.log('==> data: ',data)
return stepFunctions.describeExecution({ executionArn: data.executionArn }).promise();
})
.then(result => {
return {
statusCode: 200,headers: {
"Access-Control-Allow-Origin" : "*",},message: JSON.stringify(result)
}
})
.catch(err => {
console.error('err: ',err)
return {
statusCode: 500,message: JSON.stringify({ message: 'facing error' })
}
})
}
和阶跃函数:
stepFunctions:
stateMachines:
newmessage:
name: newMessageStates
deFinition:
Comment: "Nova mensagem inserida"
StartAt: SaveMessage
States:
SaveMessage:
Type: Task
Resource: XXX
InputPath: $
Next: SendMessage
SendMessage:
Type: Task
Resource: XXX
InputPath: $
ResultPath: $.res
End: true
我还收到以下错误消息:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://XXX. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)