即使 Lambda 成功完成,AWS Step Function '502 internal server error' 响应

问题描述

我正在使用 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 (将#修改为@)