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 #jawsug
Search
Kihara, Takuya
July 22, 2020
Technology
0
1.3k
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
AWS Amplify Gen 2 GA記念 ~Gen1との違いを確認
tacck
0
31
Amplify Gen2 が GA したよ! #jawsug_sapporo #jawsug
tacck
0
140
Flutter で "Hello World!! #ゆるWeb札幌
tacck
0
100
AWS Lambda で LLRT を動かしてみた #北海道まったりLT大会
tacck
0
94
地方から始める登壇のステップアップ 〜Java Do から JJUG CCC への登壇参加記録 #javado
tacck
0
140
ゆるWebの新型コロナ Before/After とこれからのこと #seb_yearend
tacck
0
35
AWS Amplify と Amazon Bedrock を使ってオレオレ生成AIサイトを作る #ゆるWeb札幌
tacck
0
220
「普通」のエンジニアとしての生存戦略〜または、いかにして技術を楽しむか。 #情報メディア入門
tacck
0
90
噂の Amazon Bedrock を Java から使ってみる #javado
tacck
1
350
Other Decks in Technology
See All in Technology
VPoEの視点から見た、ヘンリーがサーバーサイドKotlinを使う理由 / Why Server-side Kotlin 2024
cho0o0
1
420
Classmethod流のPlatform Engineering / classmethod-platform-engineering-devio2024
tomoki10
0
470
E2Eテスト自動化プラットフォームにおけるAIの活用
shift_evolve
0
180
データ分析基盤を作ってみよう~設計編~
nrinetcom
PRO
1
110
開発生産性をむしろ向上させる セキュリティパートナーの作り方 / Dev Productivity Con 2024
flatt_security
0
360
運用改善、不都合な真実 / 20240722-ssmjp-kaizen
opelab
17
8k
ソフトウェアエンジニアリングの知見を活かして データ基盤をいい感じにする on Snowflake [MIERUNE BBQ #10]
mtpooh
2
150
サービスの持続的な成長と技術負債について
siva_official
PRO
10
4.4k
テストケースの自動生成に生成AIの導入を試みた話と生成AIによる今後の期待
shift_evolve
0
180
AWSサービスメニュー開発をしていてAWSを好きだ!と感じた瞬間
toru_kubota
0
130
推薦システムを本番導入する上で一番優先すべきだったこと~NewsPicks記事推薦機能の改善事例を元に~
morinota
0
120
可視化プラットフォームGrafanaの基本と活用方法の全て
hamadakoji
0
230
Featured
See All Featured
Teambox: Starting and Learning
jrom
130
8.6k
Bootstrapping a Software Product
garrettdimon
PRO
304
110k
Stop Working from a Prison Cell
hatefulcrawdad
266
20k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
248
20k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
325
21k
Designing the Hi-DPI Web
ddemaree
276
34k
Thoughts on Productivity
jonyablonski
64
4.1k
Building Your Own Lightsaber
phodgson
101
5.9k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
228
16k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
44
4.7k
The Invisible Customer
myddelton
117
13k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
36
9.1k
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