Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
Amplify API (GraphQL) が簡単すぎて泣けてくる #jawsug_asa #jawsug
Kihara, Takuya
July 22, 2020
Technology
0
1.2k
Amplify API (GraphQL) が簡単すぎて泣けてくる #jawsug_asa #jawsug
https://jawsug-asa.connpass.com/event/180589/
#jawsug_asa #jawsug
AWS Amplify の API (GraphQL) の話。
Kihara, Takuya
July 22, 2020
Tweet
Share
More Decks by Kihara, Takuya
See All by Kihara, Takuya
ゆるWeb勉強会@札幌 OnLine #22 #ゆるWeb札幌
tacck
0
10
5分でまとめる AWS Amplify アップデート 2022年末版 #ゆるWeb札幌
tacck
0
84
「普通」のエンジニアとしての生存戦略 - または、いかにして技術を楽しむか。
tacck
0
3
AWS Step Functions を AWS Amplify から呼び出した #ゆるWeb札幌
tacck
0
56
ゆるWeb勉強会@札幌 OnLine #21 #ゆるWeb札幌
tacck
0
2
フロントエンド勢から見たAPAC Community Summit記 #jawsug #AWSCommunityAPAC
tacck
0
110
今から始める Amplify Studio - JAWS DAYS版 #jawsug #jawsdays #jawsdays2022
tacck
0
140
今から始める Amplify Studio #stapy
tacck
0
420
React 初心者がやってみた Gatsby #ゆるWeb札幌
tacck
0
68
Other Decks in Technology
See All in Technology
20230121_BuriKaigi
oyakata2438
0
170
エンタープライズ領域でのブロックチェーン・インターオペラビリティの発展 / Enterprise Blockchain Interoperability
gakumura
0
120
Optimizing your Swift code
kateinoigakukun
0
1.3k
OCIコンテナサービス関連の技術詳細 /oke-ocir-details
oracle4engineer
PRO
0
750
日本ディープラーニング協会主催 NeurIPS 2022 技術報告会講演資料
tdailab
0
1k
Exploring MapStore Release 2022.02: improved 3DTiles support and more
simboss
PRO
0
190
API連携に伴う規制と対応 / Regulations and responses to API linkage
moneyforward
0
120
2023年は何する宣言
shigeruoda
0
240
IoTを始めたきっかけの話と個人でできるIoTの今後 / 新年LT会「私の愛するIoT 2023」
you
0
150
Stripe / Okta Customer Identity Cloud(旧Auth0) の採用に至った理由 〜モリサワの SaaS 戦略〜
tomuro
0
110
OpenShiftのリリースノートを整理してみた
loftkun
2
240
Kubernetes_EKSに入門してみる
toru_kubota
0
230
Featured
See All Featured
ReactJS: Keep Simple. Everything can be a component!
pedronauck
657
120k
The Web Native Designer (August 2011)
paulrobertlloyd
76
2.2k
Typedesign – Prime Four
hannesfritz
34
1.5k
The Invisible Side of Design
smashingmag
292
48k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
13
1.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
226
130k
WebSockets: Embracing the real-time Web
robhawkes
58
6k
Git: the NoSQL Database
bkeepers
PRO
418
60k
Keith and Marios Guide to Fast Websites
keithpitt
407
21k
Designing on Purpose - Digital PM Summit 2013
jponch
108
5.9k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
109
16k
Intergalactic Javascript Robots from Outer Space
tanoku
261
26k
Transcript
גࣜձࣾϊʔεσΟςʔϧ ։ൃ%JWJTJPOٕज़ਪਐ(SPVQ ݪ +"846(ேձ
[email protected]
"NQMJGZ"1* (SBQI2- ͕ ؆୯͗ͯ͢ٽ͚ͯ͘Δ ݄
+"846(ேձ
[email protected]
୭ 2 PHP Conference Hokkaido 2019 ໊લ ݪ
/ ɹɹ@tacck ॴଐ גࣜձࣾϊʔεσΟςʔϧ ։ൃDivision ٕज़ਪਐGroup / Leader ओ࠵ ΏΔWebษڧձ@ࡳຈ εϚʔτεϐʔΧʔͰ༡΅͏ձ@ࡳຈ ͖ͳ AWSαʔϏε Route 53 ͖ͳ ϑΟΪϡΞεέʔτͷٕ εϓϨουɾΠʔάϧ
+"846(ேձ
[email protected]
3 "NQMJGZ"1* (SBQI2- ͕ ؆୯͗ͯ͢ٽ͚ͯ͘Δ
+"846(ேձ
[email protected]
"84"NQMJGZ 4 https://aws.amazon.com/jp/amplify/
+"846(ேձ
[email protected]
"84"NQMJGZ 5 https://aws.amazon.com/jp/amplify/ ৭ʑศརͳ͍ͭ͢͝
+"846(ேձ
[email protected]
6 ࡞ྫ
+"846(ேձ
[email protected]
• ͜͜࠷ۙɺͳͳ࡞͍ͬͯ·͢ɻ FNPGVMM ϦϞʔτײڞ༗αʔϏε 7 ΞΫηεͯ͠Έ͍ͯͩ͘͞ʂʂʂ https://emofull.com/
+"846(ேձ
[email protected]
ࣾπʔϧ ϑϦʔΞυϨε࠲੮֬ೝ 8 https://www.northdetail.co.jp/blog/870/
+"846(ேձ
[email protected]
9
+"846(ேձ
[email protected]
10 "1* (SBQI2-
+"846(ேձ
[email protected]
• AWS AppSync ΛɺϑϩϯτΤϯυ͔Β؆୯ʹ͑Δɻ (ඪ४ͩͱɺ DynamoDB ΛετϨʔδͱͯ͠͏ɻ) • Amplify
CLI Λ͏ͱɺ͍ΘΏΔ CRUD ͷΫΤϦΛ ੜͯ͘͠ΕΔɻ • ݺͼग़͠ํ͕Θ͔Εɺ͙͢ʹ͑Δɻ "1* (SBQI2- 11
+"846(ேձ
[email protected]
12 GraphQL Schema ϑΝΠϧ amplify/backend/api/asuuyt/schema.graphql ~~~ type Todo @model
{ id: ID! name: String! description: String }
+"846(ேձ
[email protected]
13 import { API, graphqlOperation } from 'aws-amplify' import
{ getTodo, listTodos } from ‘@/graphql/queries’ ~~~ // queries const todo = await API.graphql( graphqlOperation(getTodo, { id: this.todoId }), ).catch(err => console.error('getTodo', err)) const todos = await API.graphql( graphqlOperation(listTodos, {}), ).catch(err => console.error('listTodos', err))
+"846(ேձ
[email protected]
14 import { API, graphqlOperation } from 'aws-amplify' import
{ createTodo, updateTodo, deleteTodo } from '@/graphql/mutations' ~~~ // mutations const createdTodo = await API.graphql( graphqlOperation(createTodo, { input: { name: 'new todo', description: 'sample description' }, }), ).catch(err => console.error('createTodo', err)) const updatedTodo = await API.graphql( graphqlOperation(updateTodo, { input: { id: createdTodo.data.createTodo.id, name: 'update todo', description: 'update description', }}), ).catch(err => console.error('updateTodo', err)) const deletedTodo = await API.graphql( graphqlOperation(deleteTodo, { input: { id: createdTodo.data.createTodo.id }, }), ).catch(err => console.error('deleteTodo', err))
+"846(ேձ
[email protected]
15 import { API, graphqlOperation } from 'aws-amplify' import
{ onCreateTodo, onUpdateTodo, onDeleteTodo } from '@/graphql/subscriptions' ~~~ // subscriptions const subscriptionCreateTodo = API.graphql( graphqlOperation(onCreateTodo), ).subscribe({ next: data => console.log(data) }) const subscriptionUpdateTodo = API.graphql( graphqlOperation(onUpdateTodo), ).subscribe({ next: data => console.log(data) }) const subscriptionDeleteTodo = API.graphql( graphqlOperation(onDeleteTodo), ).subscribe({ next: data => console.log(data) })
+"846(ேձ
[email protected]
16 const todo = await API.graphql( graphqlOperation(getTodo, { id:
this.todoId }), ).catch(err => console.error('getTodo', err)) const createdTodo = await API.graphql( graphqlOperation(createTodo, { input: { name: 'new todo', description: 'sample description' }, }), ).catch(err => console.error('createTodo', err)) const subscriptionCreateTodo = API.graphql( graphqlOperation(onCreateTodo), ).subscribe({ next: data => console.log(data) })
+"846(ேձ
[email protected]
17 const todo = await API.graphql( graphqlOperation(getTodo, { id:
this.todoId }), ).catch(err => console.error('getTodo', err)) const createdTodo = await API.graphql( graphqlOperation(createTodo, { input: { name: 'new todo', description: 'sample description' }, }), ).catch(err => console.error('createTodo', err)) const subscriptionCreateTodo = API.graphql( graphqlOperation(onCreateTodo), ).subscribe({ next: data => console.log(data) })
+"846(ேձ
[email protected]
18
+"846(ேձ
[email protected]
19 ·ͱΊ
+"846(ேձ
[email protected]
• Amplify API (GraphQL) ͍࢝ΊΔͷ؆୯͗ͯ͢ٽ͚ͯ͘Δɻ • ಛʹϦΞϧλΠϜ௨(subscriptions)͕ɺ ؆୯͗ͯ͢େ߸ٽɻ
·ͱΊ 20
+"846(ேձ
[email protected]
• Amplify API (GraphQL) ͍࢝ΊΔͷ؆୯͗ͯ͢ٽ͚ͯ͘Δɻ • ಛʹϦΞϧλΠϜ௨(subscriptions)͕ɺ ؆୯͗ͯ͢େ߸ٽɻ
• ηΩϡϦςΟΛߴΊΑ͏ͱ͢Δͱɺ Α͘Θ͔Βͳ͘ͳ͖ͬͯͯٽ͚ͯ͘Δɻ ·ͱΊ 21
+"846(ேձ
[email protected]
• ϒϩάͰӶҙࣥචத ͓·͚ 22 https://www.northdetail.co.jp/blog/905/
+"846(ேձ
[email protected]
23 FOE