2017-01-25 13 views
2

私は、バックエンドサーバレスWeb APIを構築するプロジェクトを進めています。 AWS api gateway/lambdaデベロッパーガイドでこれらのドキュメントを読んだ後は、私が使用できるさまざまな方法で完全に混乱しています。aws APIゲートウェイlambdaを使用してWebバックエンドAPIを構築

私はチュートリアルや、オンライン上ではなく、まだ混乱して、両方見つかったいくつかの解決策を試してみた

...、要求、応答、プロキシを含むすべてのWebのものに非常に新しいです。 APIゲートウェイインテグレーション要求に

  1. 、統合型の下で、私はAWSのサービスを選択した場合、その後、私はまだラムダを選択することができ、「ラムダ関数」と「AWSサービス」があります。違いはなんですか?ラムダを選んだ場合、「ラムダプロキシ統合を使う」を選ぶことができます。「プロキシ」を研究しましたが、私は考えましたが、ここでも非常に混乱しています。私の実験では、 "lambda proxy integration"を選択した場合に限り、 "event"オブジェクトの中でリクエストを得ることができます。時々ウェブブラウザはラムダからの応答をレンダリングすることができ、APIゲートウェイ内でいくつかの設定が必要になることがあります。

  2. 私の場合、どのようなソリューションを使用するのが最適ですか?

答えて

3

AWSサービスは、そのサービスのためにAWS APIを呼び出すためのものです助けてください。ラムダ関数は、ラムダ関数を呼び出すための関数です。ラムダ関数を呼び出し、ラムダ関数の管理に関連するAWS APIを呼び出さない場合は、統合型 "ラムダ関数"を選択します。

あなたは2番目の質問がとても広いので、あなたが何を求めているのか分からない。

+0

@Pano:単一のラムダ関数が複数のHTTPメソッド(GET、PUT、DELETEなど)と複数のパスからリクエストを受信するようにするには、提供されているinfoマークに加えて、 "lambda proxy integration" '/ {proxy +}'リソースパス(これはルートパスの下の任意のパスを取得します)。このオプションでは、ラムダ関数は、すべてのHTTP情報(メソッド、パス、ヘッダーなど)を含む要求に対して、標準のメッセージ形式を受け取ります。次に、リクエストを処理する方法を決定します(基本的に独自のルーティングを実装します)。 –

+0

異なるラムダ関数にルーティングされた異なるHTTPパスとメソッドを持つHTTPメソッド用のAPIゲートウェイとして機能させる場合は、標準の "ラムダ関数"統合要求がより適切です。 –

+0

これらは両方ともサーバレスAPIを実装するための有効な方法であり、ルーティング、配置、ラムダ関数(さまざまなメソッドに複数の言語を使用したいと思っていますか?)などを処理する方法にアーキテクチャの決定が下がります。 –

2

試してみてくださいClaudia.jsおそらく唯一必要なツールです。また、BST Proxyもお試しください。ローカルデバッグのための素晴らしいプロキシがあります。

2

サーバーレスの重要な点についてお伝えします。

  • AWS API Gatewayはプロキシとして動作し、サードパーティのクライアントに直接アクセスできます。

  • AWSラムダ関数は、プライベートサブネット内のEC2のように機能します。

AWSラムダはそうあなたがAWSラムダ関数へのプロキシとしてAWS APIゲートウェイを必要とするサードパーティ製のクライアント、 によって直接アクセスすることはできませんので。

関連する問題