Я пытаюсь интегрировать лямбда в шлюз API с конечной точкой VPC через aws lambda.Лямбда-интеграция с VPC с платежного шлюза
https://aws.amazon.com/blogs/compute/using-api-gateway-with-vpc-endpoints-via-aws-lambda/
Моя проблема заключается в том, что мой у меня есть шесть различных типов WebServices мест в VPC. Поэтому стараюсь называть их лямбда-функцией и возвращать результат. Поэтому я следую инструкциям в соответствии с приведенной выше ссылкой. но я застрял в месте. В лямбда-функции
var options = {
host: event.requestParams.hostname,
port: event.requestParams.port,
path: event.requestParams.path,
method: event.requestParams.method
};
если я обеспечиваю все значения статически, то мой запрос передается в моем WebService в VPC. это нормально. Поэтому я пытаюсь использовать api gate, чтобы сделать то же самое с динамическими значениями, где я ставил ip и хост статически в шаблоне, как показано ниже.
#set($allParams = $input.params())
{
"requestParams" : {
"hostname" : "XXX.XXX.XX.XX",
"port" : "XX",
"path" : "$context.resourcePath",
"method" : "$context.httpMethod"
}
Так что я сделал запрос от почтальона, чтобы этот запрос api достигал функции лямбда. Мой вопрос заключается в том, как я пройду путь к моему web-сервису с помощью этой лямбда-функции. Я использовал шаблон и лямбда в соответствии с приведенной выше ссылкой. Поэтому, когда я поставил вызов в веб-сервис, пожалуйста, дайте мне знать, как я передам URL-адрес webservice. в настоящее время он пытается вызвать путь ресурса, который определен в шлюзе api, например./testgateway, который, конечно же, покажет ошибку 404. в то время как путь веб-сервиса будет выглядеть как
например. http://host/webserviceType/webservice.
Я чувствую, что делаю какую-то глупую ошибку.
Пожалуйста, предлагайте, поскольку я новичок в aws.
Благодаря Gurvinder
Вы хотите передать имя хоста/ip на шлюз API или как-то волшебным образом узнать по API Gateway? –