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
Amplify API (GraphQL) が簡単すぎて泣けてくる #jawsug_asa #...
Search
Kihara, Takuya
PRO
July 22, 2020
Technology
0
1.4k
Amplify API (GraphQL) が簡単すぎて泣けてくる #jawsug_asa #jawsug
https://jawsug-asa.connpass.com/event/180589/
#jawsug_asa #jawsug
AWS Amplify の API (GraphQL) の話。
Kihara, Takuya
PRO
July 22, 2020
Tweet
Share
More Decks by Kihara, Takuya
See All by Kihara, Takuya
GitHub Actions で Flutter アプリの CI/CD をやってます #ゆるWeb札幌
tacck
PRO
0
78
ゆるWeb勉強会@札幌 #29 #ゆるWeb札幌
tacck
PRO
0
110
読んで学ぶ Amplify Gen2 / Amplify と CDK の関係を紐解く #jawsug_tokyo
tacck
PRO
1
370
はじめまして GoLang #cm_sapporo_study
tacck
PRO
0
110
ゆるWeb勉強会@札幌 #28 #ゆるWeb札幌
tacck
PRO
0
71
AWS Amplify の AI Kit でオレオレAIサイトを作ってみる #ゆるWeb札幌
tacck
PRO
0
96
Amplify Gen2 Deep Dive / バックエンドの型をいかにしてフロントエンドへ伝えるか #TSKaigi #TSKaigiKansai #AWSAmplifyJP
tacck
PRO
0
830
Amplify Gen2 Deep Dive / How to convey backend types to the frontend #30DaysOfAmplify
tacck
PRO
0
60
TypeScript 雰囲気勢がライブラリのコードリーディングで得た知識 #sacss
tacck
PRO
1
110
Other Decks in Technology
See All in Technology
新卒3年目の後悔〜機械学習モデルジョブの運用を頑張った話〜
kameitomohiro
0
360
Amazon Bedrockで実現する 新たな学習体験
kzkmaeda
1
340
kubellが挑むBPaaSにおける、人とAIエージェントによるサービス開発の最前線と技術展望
kubell_hr
1
390
Observability infrastructure behind the trillion-messages scale Kafka platform
lycorptech_jp
PRO
0
120
AWS アーキテクチャ作図入門/aws-architecture-diagram-101
ma2shita
28
9.4k
Абьюзим random_bytes(). Фёдор Кулаков, разработчик Lamoda Tech
lamodatech
0
250
25分で解説する「最小権限の原則」を実現するための AWS「ポリシー」大全
opelab
9
2k
JSX - 歴史を振り返り、⾯⽩がって、エモくなろう
pal4de
3
1k
In Praise of "Normal" Engineers (LDX3)
charity
2
1.1k
Amazon S3標準/ S3 Tables/S3 Express One Zoneを使ったログ分析
shigeruoda
2
340
TechLION vol.41~MySQLユーザ会のほうから来ました / techlion41_mysql
sakaik
0
140
doda開発 生成AI元年宣言!自家製AIエージェントから始める生産性改革 / doda Development Declaration of the First Year of Generated AI! Productivity Reforms Starting with Home-grown AI Agents
techtekt
0
190
Featured
See All Featured
Into the Great Unknown - MozCon
thekraken
39
1.8k
RailsConf 2023
tenderlove
30
1.1k
How to train your dragon (web standard)
notwaldorf
92
6.1k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
252
21k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3k
Unsuck your backbone
ammeep
671
58k
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
20
1.3k
Java REST API Framework Comparison - PWX 2021
mraible
31
8.6k
Typedesign – Prime Four
hannesfritz
42
2.7k
Art, The Web, and Tiny UX
lynnandtonic
299
21k
Embracing the Ebb and Flow
colly
86
4.7k
Scaling GitHub
holman
459
140k
Transcript
גࣜձࣾϊʔεσΟςʔϧ ։ൃ%JWJTJPOٕज़ਪਐ(SPVQ ݪ +"846(ேձKBXTVH@BTB "NQMJGZ"1* (SBQI2- ͕ ؆୯͗ͯ͢ٽ͚ͯ͘Δ ݄
+"846(ேձKBXTVH@BTB ୭ 2 PHP Conference Hokkaido 2019 ໊લ ݪ
/ ɹɹ@tacck ॴଐ גࣜձࣾϊʔεσΟςʔϧ ։ൃDivision ٕज़ਪਐGroup / Leader ओ࠵ ΏΔWebษڧձ@ࡳຈ εϚʔτεϐʔΧʔͰ༡΅͏ձ@ࡳຈ ͖ͳ AWSαʔϏε Route 53 ͖ͳ ϑΟΪϡΞεέʔτͷٕ εϓϨουɾΠʔάϧ
+"846(ேձKBXTVH@BTB 3 "NQMJGZ"1* (SBQI2- ͕ ؆୯͗ͯ͢ٽ͚ͯ͘Δ
+"846(ேձKBXTVH@BTB "84"NQMJGZ 4 https://aws.amazon.com/jp/amplify/
+"846(ேձKBXTVH@BTB "84"NQMJGZ 5 https://aws.amazon.com/jp/amplify/ ৭ʑศརͳ͍ͭ͢͝
+"846(ேձKBXTVH@BTB 6 ࡞ྫ
+"846(ேձKBXTVH@BTB • ͜͜࠷ۙɺͳͳ࡞͍ͬͯ·͢ɻ FNPGVMM ϦϞʔτײڞ༗αʔϏε 7 ΞΫηεͯ͠Έ͍ͯͩ͘͞ʂʂʂ https://emofull.com/
+"846(ேձKBXTVH@BTB ࣾπʔϧ ϑϦʔΞυϨε࠲੮֬ೝ 8 https://www.northdetail.co.jp/blog/870/
+"846(ேձKBXTVH@BTB 9
+"846(ேձKBXTVH@BTB 10 "1* (SBQI2-
+"846(ேձKBXTVH@BTB • AWS AppSync ΛɺϑϩϯτΤϯυ͔Β؆୯ʹ͑Δɻ (ඪ४ͩͱɺ DynamoDB ΛετϨʔδͱͯ͠͏ɻ) • Amplify
CLI Λ͏ͱɺ͍ΘΏΔ CRUD ͷΫΤϦΛ ੜͯ͘͠ΕΔɻ • ݺͼग़͠ํ͕Θ͔Εɺ͙͢ʹ͑Δɻ "1* (SBQI2- 11
+"846(ேձKBXTVH@BTB 12 GraphQL Schema ϑΝΠϧ amplify/backend/api/asuuyt/schema.graphql ~~~ type Todo @model
{ id: ID! name: String! description: String }
+"846(ேձKBXTVH@BTB 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(ேձKBXTVH@BTB 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(ேձKBXTVH@BTB 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(ேձKBXTVH@BTB 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(ேձKBXTVH@BTB 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(ேձKBXTVH@BTB 18
+"846(ேձKBXTVH@BTB 19 ·ͱΊ
+"846(ேձKBXTVH@BTB • Amplify API (GraphQL) ͍࢝ΊΔͷ؆୯͗ͯ͢ٽ͚ͯ͘Δɻ • ಛʹϦΞϧλΠϜ௨(subscriptions)͕ɺ ؆୯͗ͯ͢େ߸ٽɻ
·ͱΊ 20
+"846(ேձKBXTVH@BTB • Amplify API (GraphQL) ͍࢝ΊΔͷ؆୯͗ͯ͢ٽ͚ͯ͘Δɻ • ಛʹϦΞϧλΠϜ௨(subscriptions)͕ɺ ؆୯͗ͯ͢େ߸ٽɻ
• ηΩϡϦςΟΛߴΊΑ͏ͱ͢Δͱɺ Α͘Θ͔Βͳ͘ͳ͖ͬͯͯٽ͚ͯ͘Δɻ ·ͱΊ 21
+"846(ேձKBXTVH@BTB • ϒϩάͰӶҙࣥචத ͓·͚ 22 https://www.northdetail.co.jp/blog/905/
+"846(ேձKBXTVH@BTB 23 FOE