Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
API Gatewayと少し仲良くなってみた!
Search
Nao Masuya
April 16, 2024
Technology
1.2k
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
API Gatewayと少し仲良くなってみた!
2024/4/16 JAWS ランチ会のLT資料。
API GatewayでのMockAPIの作り方を簡単に紹介!
Nao Masuya
April 16, 2024
More Decks by Nao Masuya
See All by Nao Masuya
久しぶりのAWS!JAWS!初めてBedrockを触ってリハビリ!
masuchoku
0
44
AWS Summit 2025 の見どころを振り返る!
masuchoku
0
490
AWS TransferFamilyを使ってみた!
masuchoku
0
590
AWSを触ってきた数年間を振り返る!
masuchoku
1
490
Step Functionsと少し仲良くなってみた
masuchoku
1
740
スライド作りから LTを楽しもう! エンジョイ、 エンジニアライフ!
masuchoku
1
770
APCのAWS認定マスターたちに聞いてみた
masuchoku
0
260
AppSync入門! GraphQL APIを作ってみた!
masuchoku
3
1.1k
AWSとJenkinsおじさん で学んできたCI_CD
masuchoku
1
1.6k
Other Decks in Technology
See All in Technology
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
130
「Docker Desktop不要の時代」は 来たのか?
ueponx
0
450
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
140
AI時代に必要な脅威モデリング― 変化の速度に負けない理解とリスク判断
masakane55
5
1.2k
DevelopersIO 2026 知識の地図を描く ─ オントロジーとは何か?
ishikawa_satoru
1
1.3k
AI 時代の Azure エンジニアリング ~ 私たちは何を磨き、何を任せるのか ~
chack411
1
570
Incremental HTTP
kazuho
5
2.1k
Loop Engineering これくらいでいい
mikanichinose
0
200
脆弱性診断って、何をしているの? 〜弱点を見つけて、会社の改善につなげるまで〜
keeg
0
800
V8のArray.prototype.flatを最大約20倍速くするまでと、巨大OSSへの大規模コミットの道のり
riyaamemiya
0
150
味覇で作るパスタが美味い - 20261001_yabaubuki.dev
livesense
PRO
0
120
オンラインゲームのシステム全体像 - コロプラ 2026年度 新卒研修
colopl
0
1.1k
Featured
See All Featured
Tips & Tricks on How to Get Your First Job In Tech
honzajavorek
1
790
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
1.1k
Product Roadmaps are Hard
iamctodd
55
13k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
23k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
480
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
35
2.9k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.4k
jQuery: Nuts, Bolts and Bling
dougneiner
66
8.6k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
340
Game over? The fight for quality and originality in the time of robots
wayneb77
1
300
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
WCS-LA-2024
lcolladotor
0
870
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