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
AppSync入門! GraphQL APIを作ってみた!
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Nao Masuya
October 26, 2023
Technology
1k
3
Share
AppSync入門! GraphQL APIを作ってみた!
AppSync,GraphQLの簡単な紹介です!
Nao Masuya
October 26, 2023
More Decks by Nao Masuya
See All by Nao Masuya
久しぶりのAWS!JAWS!初めてBedrockを触ってリハビリ!
masuchoku
0
26
AWS Summit 2025 の見どころを振り返る!
masuchoku
0
340
AWS TransferFamilyを使ってみた!
masuchoku
0
430
AWSを触ってきた数年間を振り返る!
masuchoku
1
400
Step Functionsと少し仲良くなってみた
masuchoku
1
660
API Gatewayと少し仲良くなってみた!
masuchoku
0
1.1k
スライド作りから LTを楽しもう! エンジョイ、 エンジニアライフ!
masuchoku
1
680
APCのAWS認定マスターたちに聞いてみた
masuchoku
0
240
AWSとJenkinsおじさん で学んできたCI_CD
masuchoku
1
1.5k
Other Decks in Technology
See All in Technology
Master Dataグループ紹介資料
sansan33
PRO
1
4.6k
No Types Needed, Just Callable Method Check
dak2
1
240
"SQLは書けません"から始まる データドリブン
kubell_hr
2
470
え!?初参加で 300冊以上 も頒布!? これは大成功!そのはずなのに わいの財布は 赤字 の件
hellohazime
0
160
自分のハンドルは自分で握れ! ― 自分のケイパビリティを増やし、メンバーのケイパビリティ獲得を支援する ― / Take the wheel yourself
takaking22
1
840
LLM時代の検索アーキテクチャと技術的意思決定
shibuiwilliam
2
990
みんなの「データ活用」を支えるストレージ担当から持ち込むAWS活用/コミュニティー設計TIPS 10選~「作れる」より、「続けられる」設計へ~
yoshiki0705
0
230
Choose your own adventure in agentic design patterns
glaforge
0
120
最新の脅威動向から考える、コンテナサプライチェーンのリスクと対策
kyohmizu
1
680
猫でもわかるKiro CLI(CDKコーディング編)
kentapapa
1
130
Oracle AI Database@AWS:サービス概要のご紹介
oracle4engineer
PRO
4
2.3k
インターネットの技術 / Internet technology
ks91
PRO
0
180
Featured
See All Featured
Dominate Local Search Results - an insider guide to GBP, reviews, and Local SEO
greggifford
PRO
0
140
Documentation Writing (for coders)
carmenintech
77
5.3k
Reality Check: Gamification 10 Years Later
codingconduct
0
2.1k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
740
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
287
14k
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Visualization
eitanlees
150
17k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
64
53k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
150
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
122
21k
Ruling the World: When Life Gets Gamed
codingconduct
0
210
Transcript
AppSync入門! GraphQL APIを 作ってみた! 2023/10/25 JAWS UG 朝会 APCommunications 升谷直緒
Self Introduction 所属 株式会社エーピーコミュニケーションズ @apc_tweet
Self Introduction 株式会社 エーピーコミュニケーションズ システム基盤サービス事業本部 クラウド事業部 IaC技術推進部 升谷直緒 • 2020年新卒入社
• SIerとして4年目 • AWSは使い始めて3年目 • CI/CDの導入支援 • Webアプリの改善運用 • リモートワーク @masuchoku
JAWSに参加してみて 今年の3月ごろから月1ペースでJAWSに参加、LTは4回目です。 社外の人と関われる貴重な機会、 普段使わないAWSサービスに触れる、 アウトプットと向き合うことができる、 初心者にすごく優しいコミュニティ …な点がいいなと感じております!
本日は、、 GraphQL APIはこんなに簡単にAWSで作れるのか!? をお伝えしたいです! ぜひ今日お時間があれば作ってみてください...!
App Sync とは サーバレスにGraphQLを使用し、データベースに接続で きるサービス。 1 つの GraphQL API エンドポイントから
1 つ以上の データソースのデータにアクセスする。
クエリ言語とスキーマ言語で構成された Web APIの規格。 サーバーにデータを問い合わせることができる。 RESTの場合、必要のないデータまで取得してしまうため、大量 のデータを処理する必要があったため、 GraphQLが開発され た。 Facebook社によって2012年に開発がスタートし、 2015年にオー
プンソース化された。 GraphQL とは
REST と GraphQL REST GraphQL クエリ { user(id: 1) {
name } } レスポンス { "data": { "user": { "name": "Nao Masuya" } } } GETリクエスト GET /users レスポンス [ {"id": 1, "name": "Nao Masuya"}, {"id": 2, "name": "Simba"} ] 「単一のURLエンドポイント」にク エリを行えば、クエリに応じた データを返すことができる。
RESTを使う User API Gateway Lambda RDS ドラキュラはこういうユーザー • アプリケーションの規模が小さく、データがそれ ほど複雑ではない
• すべてのクライアントが同じように使用するデー タと操作がある • 複雑なデータクエリの必要がない https://aws.amazon.com/jp/compare/the-difference-between-graphql-and-rest/
DynamoDBの 参照・削除・更新がしたい クエリを書くだけ GraphQLを使う User App Sync DynamoDB ゾンビはこういうユーザー •
帯域幅に制限があり、リクエストとレスポンスの数を最小限に抑えたい • 複数のデータソースがあり、それらを 1 つのエンドポイントにまとめたい • クライアントのリクエストが大きく異なり、求められるレスポンスも大きく異なる https://aws.amazon.com/jp/compare/the-difference-between-graphql-and-rest/
AppSyncの実装はとても簡単 DynamoDBを選択 API名を決める クエリの要素を入力
クエリを実行 DynamoDBで確認
認証方法 API_KEY AWS_LAMBDA AWS_IAM OPENID_CONNECT AMAZON_COGNITO_USER_POOLS から選べます!
IAMを使った認証方法 IAM Policyを作成してUserに紐付ける { "Version": "2012-10-17", "Statement": [ { "Effect":
"Allow", "Action": [ "appsync:GraphQL" ], "Resource": [ "作成したAPIのarn:aws/*" // やりたい放題 "作成したAPIのarn:aws/types/Query/*” // 取得 "作成したAPIのarn:aws/types/Mutation/*” // 挿入更新削除 "作成したAPIのarn:aws/types/Subscription/*” // 監視 ] } ] }
CREDITS: This presentation template was created by Slidesgo, including icons
by Flaticon, infographics & images by Freepik Thank you! AppSync,GraphQLの簡単な紹介でした! Happy Halloween!
Resources • GraphQLとRESTの比較 ◦ https://hasura.io/learn/ja/graphql/intro-graphql/graphql-vs-rest/ • AWS AppSync の概要 ◦
https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/what-is-appsync.html • GraphQLとは?RESTとの違いや導入事例を紹介 ◦ https://udemy.benesse.co.jp/development/system/graphql.html • GraphQL と REST の違いは? ◦ https://aws.amazon.com/jp/compare/the-difference-between-graphql-and-rest/ • 承認と認証 ◦ https://docs.aws.amazon.com/ja_jp/appsync/latest/devguide/security-authz.html