我试图让我的API-网关地图应用程序/ X WWW的形式,进行了urlencoded使用此解决方案,以JSON参数传递给AWS LAMBDA: How to pass a params from POST to AWS Lambda from Amazon API Gateway如何从POST从亚马逊API网关
但到目前为止,我的lambda成功触发了我的request.body始终为空。如果有人知道如何处理.net-core c#我真的很感谢洞察力。
这是我的无服务器lambda表达式是什么样子到目前为止,我收到关于request.body时间戳,但没有
public async Task<APIGatewayProxyResponse> Post(APIGatewayProxyRequest request, ILambdaContext context)
{
var webHook = new WebHookClient("https://{urlHiddenForObviousReasons}");
var body = new BodyModel
{
Content = $"Trigger @ {DateTime.UtcNow}, {request.Body}"
};
await webHook.PostMessage(body);
var response = new APIGatewayProxyResponse
{
StatusCode = (int)HttpStatusCode.OK,
Body = "Alert received.",
Headers = new Dictionary<string, string> { { "Content-Type", "text/plain" } }
};
return response;
}
请注意,如果我使用代理服务器集成,而不是形式的值传递,我想使用映射,所以我可以有两个客户端使用不同的post方法相同的API,并让lambda只解析json。以这种方式结束传递表单值的设置示例:key = 1 & steamid = 1 & notetitle = ARK-ALARM%3A + 06%2F17 +%40 + 16%3A24 + on +旧石器+方舟+ + + +岛%2C + ALARM + '基地' + IN + '的+隐+湖' +是+跳闸! &消息= ...
您是否尝试过使用CW日志来调试API GW映射/处理?如果您在API GW控制台中使用“测试”功能,则可以看到具有完整日志记录输出的dryrun请求,以便您可以看到实际的原始请求正在对Lambda执行,并且还会在执行映射模板之前/之后看到请求主体。 –