Amazon web services 亚马逊兰博达;API网关&x27;事件。源ip';返回';空';

Amazon web services 亚马逊兰博达;API网关&x27;事件。源ip';返回';空';,amazon-web-services,amazon-ec2,aws-lambda,amazon-lex,Amazon Web Services,Amazon Ec2,Aws Lambda,Amazon Lex,我正试图抓住用户的IP 我遵循了指南,找到了在lambda函数中使用event.source_ip的答案,该函数连接到API网关 结果在my Lex&Facebook bots中返回'null',在API网关测试中返回'test invoke source ip' Lambda: exports.handler = (event, context, callback) => { callback(null, event.source_ip); }; API网关:集成请求 使用l

我正试图抓住用户的IP

我遵循了指南,找到了在lambda函数中使用event.source_ip的答案,该函数连接到API网关

结果在my Lex&Facebook bots中返回'null',在API网关测试中返回'test invoke source ip'

Lambda

exports.handler = (event, context, callback) => {

    callback(null, event.source_ip);
};
API网关:集成请求


使用lambda代理集成,然后您可以自己处理lamda函数中的事件和上下文。你可以在这里读更多

您需要返回预期的输出,它才能工作

使用节点的示例(未测试):


要查看事件或上下文的内容,只需使用console.log在cloudwatch日志中查看即可。
exports.handler = (event, context, callback) => {
 var res = {
   "statusCode": 200,
   "body": context.identity.sourceIp,
   "isBase64Encoded": false,
 }
 callback(null, res);
}