Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
API Gatewayと少し仲良くなってみた!
Search
Nao Masuya
April 16, 2024
Technology
0
950
API Gatewayと少し仲良くなってみた!
2024/4/16 JAWS ランチ会のLT資料。
API GatewayでのMockAPIの作り方を簡単に紹介!
Nao Masuya
April 16, 2024
Tweet
Share
More Decks by Nao Masuya
See All by Nao Masuya
久しぶりのAWS!JAWS!初めてBedrockを触ってリハビリ!
masuchoku
0
16
AWS Summit 2025 の見どころを振り返る!
masuchoku
0
290
AWS TransferFamilyを使ってみた!
masuchoku
0
350
AWSを触ってきた数年間を振り返る!
masuchoku
1
360
Step Functionsと少し仲良くなってみた
masuchoku
1
590
スライド作りから LTを楽しもう! エンジョイ、 エンジニアライフ!
masuchoku
1
610
APCのAWS認定マスターたちに聞いてみた
masuchoku
0
220
AppSync入門! GraphQL APIを作ってみた!
masuchoku
3
980
AWSとJenkinsおじさん で学んできたCI_CD
masuchoku
1
1.4k
Other Decks in Technology
See All in Technology
レガシー共有バッチ基盤への挑戦 - SREドリブンなリアーキテクチャリングの取り組み
tatsukoni
0
170
Data Hubグループ 紹介資料
sansan33
PRO
0
2.7k
あたらしい上流工程の形。 0日導入からはじめるAI駆動PM
kumaiu
4
710
Azure Durable Functions で作った NL2SQL Agent の精度向上に取り組んだ話/jat08
thara0402
0
120
全員が「作り手」になる。職能の壁を溶かすプロトタイプ開発。
hokuo
1
670
30万人の同時アクセスに耐えたい!新サービスの盤石なリリースを支える負荷試験 / SRE Kaigi 2026
genda
1
120
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1k
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
1.6k
分析画面のクリック操作をそのままコード化 ! エンジニアとビジネスユーザーが共存するAI-ReadyなBI基盤
ikumi
0
130
入社1ヶ月でデータパイプライン講座を作った話
waiwai2111
1
210
3分でわかる!新機能 AWS Transform custom
sato4mi
1
320
Embedded SREの終わりを設計する 「なんとなく」から計画的な自立支援へ
sansantech
PRO
2
1.6k
Featured
See All Featured
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
300
Site-Speed That Sticks
csswizardry
13
1.1k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The #1 spot is gone: here's how to win anyway
tamaranovitovic
2
920
Building Applications with DynamoDB
mza
96
6.9k
ラッコキーワード サービス紹介資料
rakko
1
2.2M
Typedesign – Prime Four
hannesfritz
42
2.9k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.1k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.2k
Bash Introduction
62gerente
615
210k
Chasing Engaging Ingredients in Design
codingconduct
0
110
My Coaching Mixtape
mlcsv
0
45
Transcript
API Gatewayと少し仲良くなってみた! 2024/4/16 JAWS ランチ会 株式会社エーピーコミュニケーションズ 升谷直緒
2 所属 株式会社エーピーコミュニケーションズ @apc_tweet 自己紹介
3 自己紹介 株式会社 エーピーコミュニケーションズ システム基盤サービス事業本部 クラウド事業部 IaC技術推進部 升谷直緒 • 2020年入社
• SIerとして5年目 • AWSは使い始めて4年目 • CI/CDの導入支援 • Webアプリの改善運用 • リモートワーク @masuchoku
4 アウトプット • ブログ ◦ 月1程度で更新したい • 登壇 ◦ JAWS
▪ 社外の人と関われる貴重な機会 ▪ 普段使わないAWSサービスに触れる ▪ さまざまな支部があるから色々参加してみ るのと楽しい ◦ Women Developers Summit 2023 ▪ 女性エンジニアのイベント ▪ アウトプットしよう!というテーマでLT
5 今日のテーマ API Gatewayを使ってスタブを作ってみたが、 とても簡単にできた! 今開発しているLambdaを評価したいので、 APIのスタブを作りましょう! API Gatewayでできるはず! OKです!
=テスト対象から呼び出されるものの代わり =張りぼて
6 今日のテーマ API Gatewayを使ってスタブを作ってみたが、 とても簡単にできた! ① APIでS3のファイルURLを返して、 Lambdaでファイルの中身を処理したい ②APIキーを使った認証にしたい ③APIはクエリによって応答が変わるようにしたい!
OKです?
7 まず、API Gatewayで数分でMock API を作れることを知る まずスタブを作ろう
8 まずスタブを作ろう =API Gateway がバックエンドに送る HTTP リクエスト \ここのマッピングテンプレートに注目/ {"statusCode": 200}
↑デフォルト =API Gateway がクライアントに返す HTTP レスポンス \ここのマッピングテンプレートに注目/ { "name": "masuya", "job": "engineer", "catOrDog": "cat", "petName": "Simba" }
9 最後に忘れずにデプロイするだけで もうスタブが完成する! この際にデプロイする ステージを作る! ターミナルでcurlして確認! まずスタブを作ろう
10 次にAPIキーを付与しよう API キーは必須です True ↑デフォルトはFalseなので変更する! APIキーの作成 どのAPIにどのAPIキーを 紐づけるかやAPIの使用量を定義する 使用量プランで紐付けたい
APIキーとAPIのステージを 選択する
11 最後に忘れずにデプロイ! デプロイ先は前段でAPIキーと 紐付けたステージにする! ターミナルでcurlして確認! キーがないと失敗する! 次にAPIキーを付与しよう
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
13 おなじみの、 最後に忘れずにデプロイ! ターミナルでcurlして確認! URL末尾にクエリを追加して実行! 最後にリクエストクエリによって応答を変えよう
14 今日のテーマ API Gatewayを使ってスタブを作ってみたが、 とても簡単にできた! ↑4兄弟の理解に 時間がかかったものの、 できましたー! やったー!
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