我创建了一个简单的AWS Lambda函数,使用python 3.6添加两个数字。它读取val1
Lambda函数
import json
def lambda_handler(event, context):
# TODO implement
val1 = int(event['val1'])
val2 = int(event['val2'])
val3 = val1 + val2
return {
'statusCode': 200,
'headers': {'Content-Type': 'application/json'},
'body': json.dumps(val3)
}
JSON主体
{
"val1": "3",
"val2": "5"
}
我在这里结束时出现了相同的错误,只是我使用的是无服务器和节点。我返回了一个HTTP响应,但没有在主体上使用stringify。如下面的坏例子所示:
坏的:
return {
statusCode,
body: body.message,
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Credentials": true,
},
};
};
}
好:
return {
statusCode,
body: JSON.stringify(body.message),
headers: {
"Access-Control-Allow-Origin": "*",
"Access-Control-Allow-Credentials": true,
},
};
};
}
我希望这能帮助其他可能遇到502错误的人。
发生此错误的原因是事件对象(python字典)的行为。在lambda控制台中测试lambda函数时,JSON主体将直接传递给事件对象。但当您通过API网关进行尝试时,不仅事件对象是请求负载,而且body属性也设置为字符串。
例如,您的JSON主体将是这样的事件对象
body: "{\n \"val1\": \"3\",\n \"val2\": \"5\"\n}"
要解决此错误,请尝试json.loads()方法将正文字符串转换为json。
import json
def lambda_handler(event, context):
# TODO implement
try:
event = json.loads(event['body'])
val1 = int(event['val1'])
val2 = int(event['val2'])
val3 = val1 + val2
except:
val3 = 'request error'
return {
'statusCode': 200,
'headers': {'Content-Type': 'application/json'},
'body': json.dumps(val3)
}
在通过eclipse上传应用程序后,我收到了502坏网关错误,我不明白为什么会发生这种情况? 我通过AWS弹性豆茎控制台创建了一个示例应用程序。然后我在eclipse中加载了服务器。之后我发布了它,并在EB控制台中获得了“环境更新成功完成”的消息。然而,当我转到网址时,我得到一个502坏网关错误。我看了日志,看看出了什么问题,但我唯一发现的是 连接到上游时失败(111:连接被拒绝),客户端:172
使用Node.js创建Lambda Hello world函数,并为Get调用创建API网关触发器,尝试使用URL访问Lambda函数,出现以下错误。 消息:"内部服务器错误"。 (AWS非常新)
我的nginx.conf文件是这样的: 现在,在打开一些URL时,它抛出了502个坏网关,但对其他URL则没有。我犯的错误。日志为: 2019/01/10 23:53:39[错误]12139#12139:*5 recv()在从上游读取响应头时失败(104:由对等方重置连接),客户端:127.0。0.1,服务器:localhost,请求:“GET/wordpress/HTTP/2.0”,上游:fas
我上传一个图像到s3,通过lambda,和一切工作正常,没有错误,但从API网关的响应是500内部服务器错误。 我按照以下教程配置了我的api网关:使用Amazon API网关集成API的二进制支持。 My lambda接收Base64图像,对其进行解码并成功上载到s3。 这是我的lambda代码: 这就是我收到的:{“消息”:“内部服务器错误”},状态代码为500。 Obs:我没有使用lambd
单击上面显示的网关的实例URL,我会得到以下错误: 502坏网关:注册的endpoint无法处理请求 相应的登录网关如下所示: 有人能提供建议或意见吗? 多谢!
我一个多星期都找不到解决办法。在dev服务器上一切正常,但在生产环境中则不然。我没有力量,我呼吁各位同事:) 我在Socket上使用Laravel echo服务器。io使用CloudFlare。尝试连接时,我收到一个错误:WebSocketError:收到意外状态代码(502坏网关) Ubuntu 16.04。7 LTS,Laravel Echo服务器:1.6。1,NodeJs:v12。19 拉威