東京リージョンでAPI Gatewayが利用できるようになりました!
【AWS発表】Amazon API Gatewayが東京リージョンで利用可能になりました
ということで、練習がてらに下記のようにAPI Gatewayのバックエンドを
LambdaにしてPOSTでJSONをデータとしてリクエストして、
そのJSONがそのままレスポンスされる簡単な仕組み(エコー)を作ってみました。
Lambdaの準備
バックエンドのLambdaは下記のようにサラッとPythonで記述してます。
def lambda_handler(event, context): try: print(event) return event except Exception as e: print(e) raise e
Lambdaのテスト
次のようにJSONのパラメータを設定して、
テストを実行します。
CloudWatch Logsでログを確認すると、上記のパラメータが出力され、
正常に動作していることがわかります。
API Gatewayの作成
次は、上記のLambdaをバックエンドにしたAPI Gatewayを作成します。
まず、APIを作成します。
次に、メソッドを作成します。
そして、バックエンドととして上記のLambdaを設定します。
API Gatewayのテスト
それでは動作確認ですが、下記のようにUIが用意されていて簡単にテストできます。
前述のLambdaのテスト同様、パラメータを入力してテストします。
すると同一画面にテスト結果が表示されます。レスポンスがリクエスト時の
パラメータと同じなので正常に動作していることがわかります。
Lambdaの動作は当然CloudWatch Logsで確認することができます。
API Gatewayのデプロイとテスト
最後にデプロイしますが、下記のように直感的に実施できます。
上記のURLをCURLでテストしてみると、正常に動作していることがわかります。
$ curl -d '{"key1":"value7","key2":"value8","key3":"value9”}' https://8vdagewkwe.execute-api.ap-northeast-1.amazonaws.com/prod {"key3": "value9", "key2": "value8", "key1": "value7"}
繰り返しになりますが、Lambdaの動作は当然CloudWatch Logsで
確認することができます。