2017-01-03 17 views
0

私はAPIゲートウェイでaws lambda経由でVPCエンドポイントとlambdaを統合しようとしています。支払ゲートウェイからのVPCとのLambdaの統合

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

私の問題は私の私はVPCでのWebサービスの場所の六つの異なる種類を持っているということです。だからラムダ関数でそれらを呼び出すと、結果を得る。だから私は上記のリンクに従って指示に従います。しかし、私は場所にこだわっています。私はすべての値を提供する場合ラムダ関数で

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

静的その後、私の要求はVPCで私のWebサービスに渡されます。それは大丈夫です。だから私は動的な値で同じことをするためにapiゲートを使用しようとします。ここで私はipとhostを以下のようにテンプレートに静的に入れます。

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

は、だから私は、ラムダ関数に達している。このAPI要求への郵便配達からの要求をしました。私の質問は、このラムダ関数に私のWebサービスへのパスをどのように渡すかです。私はテンプレートとラムダを上記のリンクに従って使いました。だから私はwebserviceへの呼び出しを入れて、私にどのように私はwebserviceのURLを渡すか教えてください。現在、APIゲートウェイなどで定義されているリソースパスを呼び出そうとしています。 /crouse/testgatewayに404エラーが表示されます。 Webサービスのパスは、

のようになります。 http://host/webserviceType/webservice

私は愚かな間違いをしているように感じています。

私はawsに新しいとお勧めします。

おかげ Gurvinder

+0

ホスト名/ ipをAPIゲートウェイに渡したい、あるいは何とか魔法のようにAPIゲートウェイで見つけたいと思っていますか? –

答えて

0

私たちは、すべてのAPIのURLでテンプレートを添付する必要がAWS支払いゲートウェイのような問題を解決しました。だから "$ context.resourcePath"の代わりに私は問題を解決するwebserviceのパスを使用しています。

関連する問題