Slide 1

Slide 1 text

API Gatewayと少し仲良くなってみた! 2024/4/16 JAWS ランチ会 株式会社エーピーコミュニケーションズ 升谷直緒

Slide 2

Slide 2 text

2 所属 株式会社エーピーコミュニケーションズ @apc_tweet 自己紹介

Slide 3

Slide 3 text

3 自己紹介 株式会社 エーピーコミュニケーションズ システム基盤サービス事業本部 クラウド事業部 IaC技術推進部 升谷直緒 ● 2020年入社 ● SIerとして5年目 ● AWSは使い始めて4年目 ● CI/CDの導入支援 ● Webアプリの改善運用 ● リモートワーク @masuchoku

Slide 4

Slide 4 text

4 アウトプット ● ブログ ○ 月1程度で更新したい ● 登壇 ○ JAWS ■ 社外の人と関われる貴重な機会 ■ 普段使わないAWSサービスに触れる ■ さまざまな支部があるから色々参加してみ るのと楽しい ○ Women Developers Summit 2023 ■ 女性エンジニアのイベント ■ アウトプットしよう!というテーマでLT

Slide 5

Slide 5 text

5 今日のテーマ API Gatewayを使ってスタブを作ってみたが、 とても簡単にできた! 今開発しているLambdaを評価したいので、 APIのスタブを作りましょう! API Gatewayでできるはず! OKです! =テスト対象から呼び出されるものの代わり
 =張りぼて


Slide 6

Slide 6 text

6 今日のテーマ API Gatewayを使ってスタブを作ってみたが、 とても簡単にできた! ① APIでS3のファイルURLを返して、 Lambdaでファイルの中身を処理したい ②APIキーを使った認証にしたい ③APIはクエリによって応答が変わるようにしたい! OKです?

Slide 7

Slide 7 text

7 まず、API Gatewayで数分でMock API を作れることを知る まずスタブを作ろう

Slide 8

Slide 8 text

8 まずスタブを作ろう =API Gateway がバックエンドに送る HTTP リクエスト \ここのマッピングテンプレートに注目/ {"statusCode": 200} ↑デフォルト =API Gateway がクライアントに返す HTTP レスポンス \ここのマッピングテンプレートに注目/ { "name": "masuya", "job": "engineer", "catOrDog": "cat", "petName": "Simba" }

Slide 9

Slide 9 text

9 最後に忘れずにデプロイするだけで もうスタブが完成する! この際にデプロイする ステージを作る! ターミナルでcurlして確認! まずスタブを作ろう

Slide 10

Slide 10 text

10 次にAPIキーを付与しよう API キーは必須です True ↑デフォルトはFalseなので変更する! APIキーの作成 どのAPIにどのAPIキーを 紐づけるかやAPIの使用量を定義する 使用量プランで紐付けたい APIキーとAPIのステージを 選択する

Slide 11

Slide 11 text

11 最後に忘れずにデプロイ! デプロイ先は前段でAPIキーと 紐付けたステージにする! ターミナルでcurlして確認! キーがないと失敗する! 次にAPIキーを付与しよう

Slide 12

Slide 12 text

12 最後にリクエストクエリによって応答を変えよう \URL クエリ文字列パラメータに注目/ when を追加してみる マッピングテンプレートをアップデートする! { #if( $input.params('when') == "2016" ) "statusCode": 300 #else "statusCode": 200 #end } レスポンスを追加する! { "name": "masuya", "job": "student", "catOrDog": "dog", "petName": null } HTTP ステータスの正規表現 300 メソッドレスポンスの ステータスコード 300 レスポンスを追加する! HTTPステータスコード 300 レスポンス本文 コンテンツタイプ application/json

Slide 13

Slide 13 text

13 おなじみの、 最後に忘れずにデプロイ! ターミナルでcurlして確認! URL末尾にクエリを追加して実行! 最後にリクエストクエリによって応答を変えよう

Slide 14

Slide 14 text

14 今日のテーマ API Gatewayを使ってスタブを作ってみたが、 とても簡単にできた! ↑4兄弟の理解に 時間がかかったものの、 できましたー! やったー!

Slide 15

Slide 15 text

15 ThankYou! 今回はMockでの実装でしたが、 API Gatewayを もっと活用していきたい! 参考
 https://qiita.com/oiz-y/items/64eb0a8f88765f34e6e9
 https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/how-to-mock-integration-console.html