API Gateway, Lambda, S3を使用して、ファイルを取得する処理をノンサーバで実装する~その3~
前回の記事はこちら。
API Gateway, Lambda, S3を使用して、ファイルを取得する処理をノンサーバで実装する~その2~ - KAROUSHI -Japanese Engineer Blog-
API Gatewayの設定
さて3回目は最後にAPI Gatewayの作成と接続テスト実施を行います。
APIGatewayを作成する
lambdaの画面を開いて前回作成した[s3create]を選択します。
タブから[API endpoints]→[Add API endpoint]を押下します。
Add API endpoint画面が開きますので以下のように設定しましょう。
(今回はメソッドはPOSTで設定します)
API endpoint type:API Gateway(そのまま)
API name: LambdaMicroservice(そのまま)
Resource name: /s3create(そのまま)
Method: POST
Deployment stage: prod(そのまま)
Security: AWS IAM(そのまま)
→[Submit]を押下します。
API endpointが作成され表示されることを確認しましょう。
APIをテストする
確認したらMethodの[POST]を選択してAPI Gatewayの画面へ遷移します。[クライアント]という文字の上にある[テスト(雷マーク)]を選択しましょう。
すると下図のようなテスト画面に遷移するので、リクエスト本文に以下のJSONをコピペして[テスト]をクリックしましょう。
{
"Records": [
{
"s3": {
"object": {
"key": "index.html"
},
"bucket": {
"name": "test.test.test.3"
}
}
}
]
}
以下のようにレスポンス本文、レスポンスヘッダー、ログが表示されればOKです。
これで一通りの流れを終えました。
今回はlambda処理を自作せずにblue printから選んで作成しました。どうでしょうか?APIが簡単にできましたね。URLも生成されているのでEC2などからURL+POSTデータを実行してあげれば、EC2上で動くサービスとの連携も可能です。
pythonの場合はbotoというlambdaのライブラリがあるようなので、次回はそれを使ってもう少し高度で実践的なことをやろうと思います。