首页 文章

Lambda与支付网关的VPC集成

提问于
浏览
0

我试图通过aws lambda将API网关中的lambda与VPC endpoints 集成 .

https://aws.amazon.com/blogs/compute/using-api-gateway-with-vpc-endpoints-via-aws-lambda/

我的问题是我在vpc中有六种不同类型的web服务 . 因此尝试使用lambda函数调用它们并获取结果 . 所以我按照上面的说明链接 . 但我被困在一个地方 . 在lambda函数中

var options = {
host: event.requestParams.hostname,
port: event.requestParams.port,
path: event.requestParams.path,
method: event.requestParams.method
};

如果我静态提供所有值,那么我的请求将传递给我在VPC中的web服务 . 没关系 . 那么我尝试使用api gate对动态值做同样的事情,我将ip和host静态放入模板中,如下所示 .

#set($allParams = $input.params())
{
"requestParams" : {
"hostname" : "XXX.XXX.XX.XX",
"port" : "XX",
"path" : "$context.resourcePath",
"method" : "$context.httpMethod"
}

所以我向postman请求这个api请求到达lambda函数 . 我的问题是我将如何将路径传递给我的webservice到这个lambda函数 . 我按照上面的链接使用了模板和lambda . 所以当我打电话给网络服务时,请告诉我如何通过webservice网址 . 目前它正在尝试调用在api网关中定义的资源路径,例如 . / testgateway当中将显示404错误 . 而Web服务路径看起来像

例如 . http://host/webserviceType/webservice .

我觉得我在做一些愚蠢的错误 .

请建议因为我是aws的新手 .

谢谢Gurvinder

1 回答

  • 0

    我解决了这个问题,因为在aws支付网关中我们必须为每个API网址附加模板 . 所以在模板而不是“$ context.resourcePath”中,我使用了解决问题的webservice的路径 .

相关问题