Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
Amazon Web Services Japan
PDF, PPTX
18,559 views
GraphQL入門 (AWS AppSync)
AWS Dev Day 資料: GraphQL入門 (AWS AppSync)
Technology
◦
Read more
21
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 57
2
/ 57
3
/ 57
4
/ 57
5
/ 57
6
/ 57
Most read
7
/ 57
8
/ 57
Most read
9
/ 57
10
/ 57
11
/ 57
12
/ 57
13
/ 57
14
/ 57
15
/ 57
16
/ 57
17
/ 57
18
/ 57
Most read
19
/ 57
20
/ 57
21
/ 57
22
/ 57
23
/ 57
24
/ 57
25
/ 57
26
/ 57
27
/ 57
28
/ 57
29
/ 57
30
/ 57
31
/ 57
32
/ 57
33
/ 57
34
/ 57
35
/ 57
36
/ 57
37
/ 57
38
/ 57
39
/ 57
40
/ 57
41
/ 57
42
/ 57
43
/ 57
44
/ 57
45
/ 57
46
/ 57
47
/ 57
48
/ 57
49
/ 57
50
/ 57
51
/ 57
52
/ 57
53
/ 57
54
/ 57
55
/ 57
56
/ 57
57
/ 57
More Related Content
PDF
20190821 AWS Black Belt Online Seminar AWS AppSync
by
Amazon Web Services Japan
PDF
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
PDF
20190514 AWS Black Belt Online Seminar Amazon API Gateway
by
Amazon Web Services Japan
PDF
DevOps with Database on AWS
by
Amazon Web Services Japan
PDF
20200721 AWS Black Belt Online Seminar AWS App Mesh
by
Amazon Web Services Japan
PDF
Amazon Athena 初心者向けハンズオン
by
Amazon Web Services Japan
PDF
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
by
Amazon Web Services Japan
PDF
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
20190821 AWS Black Belt Online Seminar AWS AppSync
by
Amazon Web Services Japan
マルチテナント化で知っておきたいデータベースのこと
by
Amazon Web Services Japan
20190514 AWS Black Belt Online Seminar Amazon API Gateway
by
Amazon Web Services Japan
DevOps with Database on AWS
by
Amazon Web Services Japan
20200721 AWS Black Belt Online Seminar AWS App Mesh
by
Amazon Web Services Japan
Amazon Athena 初心者向けハンズオン
by
Amazon Web Services Japan
20200722 AWS Black Belt Online Seminar AWSアカウント シングルサインオンの設計と運用
by
Amazon Web Services Japan
AWSのログ管理ベストプラクティス
by
Akihiro Kuwano
What's hot
PDF
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
PPTX
20220409 AWS BLEA 開発にあたって検討したこと
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar AWS Direct Connect
by
Amazon Web Services Japan
PDF
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
PDF
20190806 AWS Black Belt Online Seminar AWS Glue
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
PDF
20200526 AWS Black Belt Online Seminar AWS X-Ray
by
Amazon Web Services Japan
PDF
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
by
Amazon Web Services Japan
PDF
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
by
Amazon Web Services Japan
PPTX
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
PDF
AWS Glueを使った Serverless ETL の実装パターン
by
seiichi arai
PDF
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
by
Amazon Web Services Japan
PDF
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
by
NTT DATA Technology & Innovation
PDF
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
by
Amazon Web Services Japan
PDF
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar Amazon Aurora
by
Amazon Web Services Japan
PDF
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
by
Amazon Web Services Japan
PDF
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
by
都元ダイスケ Miyamoto
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
The Twelve-Factor Appで考えるAWSのサービス開発
by
Amazon Web Services Japan
20220409 AWS BLEA 開発にあたって検討したこと
by
Amazon Web Services Japan
AWS Black Belt Online Seminar AWS Direct Connect
by
Amazon Web Services Japan
Kinesis + Elasticsearchでつくるさいきょうのログ分析基盤
by
Amazon Web Services Japan
20190806 AWS Black Belt Online Seminar AWS Glue
by
Amazon Web Services Japan
AWS Black Belt Online Seminar 2018 Amazon DynamoDB Advanced Design Pattern
by
Amazon Web Services Japan
20200526 AWS Black Belt Online Seminar AWS X-Ray
by
Amazon Web Services Japan
20190814 AWS Black Belt Online Seminar AWS Serverless Application Model
by
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
by
Amazon Web Services Japan
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
by
Amazon Web Services Japan
KeycloakでAPI認可に入門する
by
Hitachi, Ltd. OSS Solution Center.
AWS Glueを使った Serverless ETL の実装パターン
by
seiichi arai
202110 AWS Black Belt Online Seminar AWS Site-to-Site VPN
by
Amazon Web Services Japan
IAM Roles Anywhereのない世界とある世界(2022年のAWSアップデートを振り返ろう ~Season 4~ 発表資料)
by
NTT DATA Technology & Innovation
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
by
Amazon Web Services Japan
[Aurora事例祭り]Amazon Aurora を使いこなすためのベストプラクティス
by
Amazon Web Services Japan
AWS Black Belt Online Seminar Amazon Aurora
by
Amazon Web Services Japan
20191029 AWS Black Belt Online Seminar Elastic Load Balancing (ELB)
by
Amazon Web Services Japan
AWSにおけるバッチ処理の ベストプラクティス - Developers.IO Meetup 05
by
都元ダイスケ Miyamoto
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
by
NTT DATA Technology & Innovation
Similar to GraphQL入門 (AWS AppSync)
PDF
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
by
Amazon Web Services Japan
PDF
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
by
Kazuya Sugimoto
PDF
AWSの様々なアーキテクチャ
by
Kameda Harunobu
PPTX
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
by
洵貴 佐川
PDF
GraphQLはどんな時に使うか
by
Yutaka Tachibana
PPTX
JapanDreamin24_はじめてのGraphQL×LWC.pptx
by
Ryota Tabuse
PDF
GraphQL超入門(座学).pdf
by
mayumisakurai1
PPTX
RESTからGraphQL APIへの移行で学んだこと.pptx
by
Yuya55
PDF
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
by
Kensaku Komatsu
PDF
AWS SDK for Haskell開発
by
Nomura Yusuke
PDF
GraphQLおよびそのエコシステム解説とチュートリアル紹介のためのプレゼンテーション資料
by
Takumi Yokoyama
PDF
インターフェース定義言語から学ぶモダンなWeb API方式: REST, GraphQL, gRPC
by
Kent Ohashi
PDF
GraphQL入門+診断観点
by
Yu Iwama
PDF
セマンテックウェブとRDFDB
by
Hirosuke Asano
PDF
AWS Expert Online appsyncを使ったServerlessアーキテクチャ
by
Amazon Web Services Japan
PDF
BPStudy20121221
by
Shinichiro Takezaki
PDF
CloudSpiral 2014年度 Webアプリ講義(1日目)
by
Shin Matsumoto
PPTX
【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側について
by
LIFULL Co., Ltd.
PDF
What is GraphQL
by
K Kinzal
PDF
20111215 12 aws-meister-sqs_sns_sdb-public
by
Amazon Web Services Japan
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
by
Amazon Web Services Japan
Java クライント実装におけるAPIスタイル頂上決戦! 野良REST vs GraphQL vs OData vs OpenAPI (Swagger)
by
Kazuya Sugimoto
AWSの様々なアーキテクチャ
by
Kameda Harunobu
REST API、gRPC、GraphQL 触ってみた【2023年12月開催勉強会資料】
by
洵貴 佐川
GraphQLはどんな時に使うか
by
Yutaka Tachibana
JapanDreamin24_はじめてのGraphQL×LWC.pptx
by
Ryota Tabuse
GraphQL超入門(座学).pdf
by
mayumisakurai1
RESTからGraphQL APIへの移行で学んだこと.pptx
by
Yuya55
最新Web 通信系API総まくり!WebRTC, Streams, Push api etc.
by
Kensaku Komatsu
AWS SDK for Haskell開発
by
Nomura Yusuke
GraphQLおよびそのエコシステム解説とチュートリアル紹介のためのプレゼンテーション資料
by
Takumi Yokoyama
インターフェース定義言語から学ぶモダンなWeb API方式: REST, GraphQL, gRPC
by
Kent Ohashi
GraphQL入門+診断観点
by
Yu Iwama
セマンテックウェブとRDFDB
by
Hirosuke Asano
AWS Expert Online appsyncを使ったServerlessアーキテクチャ
by
Amazon Web Services Japan
BPStudy20121221
by
Shinichiro Takezaki
CloudSpiral 2014年度 Webアプリ講義(1日目)
by
Shin Matsumoto
【 ヒカ☆ラボ 】LIFULL Home's androidアプリの開発の裏側について
by
LIFULL Co., Ltd.
What is GraphQL
by
K Kinzal
20111215 12 aws-meister-sqs_sns_sdb-public
by
Amazon Web Services Japan
More from Amazon Web Services Japan
PDF
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
by
Amazon Web Services Japan
PPTX
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
by
Amazon Web Services Japan
PDF
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
by
Amazon Web Services Japan
PDF
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
by
Amazon Web Services Japan
PDF
Infrastructure as Code (IaC) 談義 2022
by
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
by
Amazon Web Services Japan
PDF
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
by
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
by
Amazon Web Services Japan
PDF
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
by
Amazon Web Services Japan
PDF
Amazon QuickSight の組み込み方法をちょっぴりDD
by
Amazon Web Services Japan
PDF
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
by
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
by
Amazon Web Services Japan
PDF
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
by
Amazon Web Services Japan
PDF
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
by
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
by
Amazon Web Services Japan
PDF
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
by
Amazon Web Services Japan
PDF
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
by
Amazon Web Services Japan
PDF
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
by
Amazon Web Services Japan
PDF
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
by
Amazon Web Services Japan
PDF
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
by
Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
by
Amazon Web Services Japan
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
by
Amazon Web Services Japan
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
by
Amazon Web Services Japan
機密データとSaaSは共存しうるのか!?セキュリティー重視のユーザー層を取り込む為のネットワーク通信のアプローチ
by
Amazon Web Services Japan
Infrastructure as Code (IaC) 談義 2022
by
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
by
Amazon Web Services Japan
パッケージソフトウェアを簡単にSaaS化!?既存の資産を使ったSaaS化手法のご紹介
by
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発⼊⾨
by
Amazon Web Services Japan
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
by
Amazon Web Services Japan
Amazon QuickSight の組み込み方法をちょっぴりDD
by
Amazon Web Services Japan
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
by
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
by
Amazon Web Services Japan
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
by
Amazon Web Services Japan
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
by
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
by
Amazon Web Services Japan
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
by
Amazon Web Services Japan
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
by
Amazon Web Services Japan
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
by
Amazon Web Services Japan
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
by
Amazon Web Services Japan
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
by
Amazon Web Services Japan
Recently uploaded
PDF
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
PPTX
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
PDF
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
PDF
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
PDF
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
エンジニアが選ぶべきAIエディタ & Antigravity 活用例@ウェビナー「触ってみてどうだった?Google Antigravity 既存IDEと...
by
NorihiroSunada
楽々ナレッジベース「楽ナレ」3種比較 - Dify / AWS S3 Vector / Google File Search Tool
by
Kiyohide Yamaguchi
流行りに乗っかるClaris FileMaker 〜AI関連機能の紹介〜 by 合同会社イボルブ
by
Evolve LLC.
20251210_MultiDevinForEnterprise on Devin 1st Anniv Meetup
by
Masaki Yamakawa
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #2
by
Tasuku Takahashi
Machine Tests Benchmark Suite. Explain github.com/alexziskind1/machine_tests #1
by
Tasuku Takahashi
GraphQL入門 (AWS AppSync)
1.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. GraphQL 入門 (AWS AppSync) AWS CREATIVE STUDIO | 2018 Amazon Web Services Japan K.K. Solution Architect, Strategic Atsuya Nunomura
2.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Who am I ? 布村 純也(ぬのむら あつや) Amazon Web Services Japan K.K. Solution Architect, Strategic Background Web/Mobile アプリケーション・API開発, Web Service開発、Apollo好き 好きなサービス AppSync, ECS, Lambda
3.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Overview 様々なコミュニティで「GraphQL vs REST」という形で紹介され REST APIの次のパラダイムとして注目を集めているGraphQL 今日は・・・ GraphQLの概要、アーキテクチャ、RESTとの比較、利用シーンに ついてのお話と、AWS AppSync を利用する事で簡単に GraphQLを使い始める事が出来るというお話
4.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. GraphQL 概要
5.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. GraphQL !? ー TL ; DR ー ■ API用のQuery言語(A query language for your API) ■ TypeSystemを使用してQueryを実行する為のサーバー側ランタイム ■ クライアントがサーバーからデータを取得、変更、購読
6.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 登場の背景 Web (HTML) RDB RESTful API RDB No SQL GraphQL RDB No SQL API
7.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. なぜ登場した!? ■ REST API開発者、利用者の課題 ・API仕様のドキュメント管理が大変 ・APIの叩き方を理解するのが大変 ・APIのドキュメントと実装がズレてケンカ ■ クライアント開発者からの不満 ・1ページ表示するのに幾つもAPIを叩かないといけない ・折角イベントドリブンに作ってもサーバーとの接続は結局 Request / Responseの形が残る (T_T)
8.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. GraphQLによって得られるメリット クライアント/サーバー間のインタフェースが クリーンになる 通信オーバーヘッドが削減される APIドキュメント作成に費やす時間が不要になる APIを理解するのに費やす時間が削減される (^ ^)
9.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. なぜGraphQLが注目されているか? - GraphQLの特徴 - 1.型指定されたスキーマ 2.クライアントからのレスポンス形式の指定 3.サブスクリプションを利用したリアルタイム処理
10.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. なぜGraphQLが注目されているか? - GraphQLの特徴 - 1.型指定されたスキーマ APIドキュメントを主導で記述する必要が無くなり、 APIを定義したスキーマをベースに自動生成 2.クライアントからのレスポンス形式の指定 3.サブスクリプションを利用したリアルタイム処理
11.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. スキーマ定義 type Query { getTodos: [Todo] } type Todo { id: ID! name: String description: String priority: Int duedate: String } スカラー型、オブジェクト型、 列挙型などを利用可能 Not Nullは感嘆符で表現 ID! リストは角カッコで表現 [String!]
12.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. ドキュメント自動生成
13.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Query実行環境
14.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. なぜGraphQLが注目されているか? - GraphQLの特徴 - 1.型指定されたスキーマ 2.クライアントからのレスポンス形式の指定 ・オーバーフェッチ、アンダーフェッチが無くなる ・クリーンなインタフェース 3.サブスクリプションを利用したリアルタイム処理
15.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. クライアントがレスポンス形式を指定 { "id": "1", "name": "Get Milk", “priority": "1" }, { "id": “2", "name": “Go to gym", “priority": “5" },… type Query { getTodos: [Todo] } type Todo { id: ID! name: String description: String priority: Int duedate: String } query { getTodos { id name priority } } アプリのスキーマと モデルデータ クライアントが必要な ものだけをリクエスト リクエストしたデータ だけが返される
16.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. クリーンなインタフェース オープンで宣言的なデータ取得の仕様 従来のデータフェッチ GraphQL /posts /postInfo /postJustTitle /postsByAuthor /postNameStartsWithX /commentsOnPost
17.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. なぜGraphQLが注目されているか? - GraphQLの特徴 - 1.型指定されたスキーマ 2.クライアントからのレスポンス形式の指定 3.サブスクリプションを利用したリアルタイム処理 クライアントはデータをサブスクライブする事で イベント・ドリブンに処理を実装可能
18.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. GraphQLの処理形態 Query(取得) Subscription(購読) Mutation(変更) Mutation Subscription “Event !!” ここのお話
19.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. GraphQL Subscription ほぼリアルタイムでのデータ購読 Mutationをトリガーとしたイベントベースモード mutation addPost( id:123 title: "New post!" author: "Nadia"){ id title author } data: [{ id:123, title:"New Post!" author:"Nadia" }]
20.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. スキーマ定義構成 type Subscription { addedPost: Post @aws_subscribe(mutations: ["addPost"]) deletedPost: Post @aws_subscribe(mutations: ["deletePost"]) } type Mutation { addPost(id: ID! author: String! title: String content: String): Post! deletePost(id: ID!): Post! } subscription NewPostSub { addedPost { __typename version title content author url } }
21.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. GraphQL Subscription ハンドシェイク Subscription NewPostSub { addedPost{…} } WebSocket URL and Connection Payload Secure Websocket Connection (wss://)
22.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AWS AppSync
23.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AWS AppSyncとは!? フルマネージド GraphQL サービス すぐに GraphQL の利用を始められます
24.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Developerの課題解決 リアルタイムコ ラボレーション 同期を考慮し たオフラインプ ログラミング 必要なデータ のみの取得 複数のデータ ソースへの アクセス アクセス制御
25.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Usecase ■ リアルタイム ・最新の情報をウォッチするダッシュボード ・ほぼリアルタイムでデータを更新 ■ コラボレーション ・複数ユーザーが共同編集を行うアプリケーション ・ドキュメント、画像、テキストメッセージ等、様々な コンテンツタイプを自動更新 ■ ソーシャルメディア ・ソーシャルメディアやチャット ・複数ユーザー間でのメッセージング管理をサポート ・オフライン時でもアプリケーションを操作でき、 再接続時に自動 Sync
26.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AppSyncのコンセプト • AWS App Sync Client : 認証、オフラインロジックなどを含んだClient • Data Source : DynamoDB / Elasticsearch / Lambda / HTTP Endpoint • Identity : GraphQL Proxy へのリクエストの認証 • GraphQL Proxy : リクエストのマッピング、コンフリクトのハンドリング、 アクセスコントロール • Operation : Query / Mutation / Subscription など GraphQL のオペレーション • Action : GraphQL から Subscriber への通知 • Resolver : リクエスト / レスポンスの処理を記述する関数
27.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AppSync Overview AWS AppSync Amazon DynamoDB AWS Lambda ElasticSearch subscriptions /graphql Resolvers DataSources HTTP Endpoinmt
28.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DynamoDBとAmazonES Amazon DynamoDB ElasticSearch /addPost /searchPosts データソースを組み合わせることで高度な検索にも対応可能。 キーワード検索、ファジー検索、地理空間検索…
29.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Lambda, HTTP Endpointと3rd Party API /searchPosts LambdaをDataSourceとして扱えるため、なんでもできる 外部のWebAPIを叩くことも可能
30.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. スケーラビリティ AppSyncバックグラウンドの Resolver,DataSourceの組合せは自由 開発における拡張性が非常に高く 迅速なプロトタイピングが可能
31.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 迅速なプロトタイピング スキーマ 定義 DataSource との接続 クライアント の設定
32.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 迅速なプロトタイピング スキーマ 定義 DataSource との接続 クライアント の設定
33.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AppSync Overview AWS AppSync Amazon DynamoDB AWS Lambda ElasticSearch subscriptions /graphql Resolvers DataSources HTTP Endpoinmt
34.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. スキーマ定義 ■ スキーマはサーバの機能を記述し、クエリが有効かどうかを判 断する為に使用されます。 ■ GraphQL API は1つの GraphQL スキーマで定義され、 SDL(Schema Definition Language)によって記述さる。
35.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. スキーマの書き方 schema { query:Query mutation: Mutation subscription: Subscription } ルートスキーマを定義 Subscription(購読) Mutation(更新) Query(取得)
36.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. タイプの書き方 type Query { getTodos: [Todo] } type Todo { id: ID! name: String description: String status: TodoStatus } enum TodoStatus { done pending } スカラー型、オブジェクト型、 列挙型などを利用可能 Not Nullは感嘆符で表現 ID! リストは角カッコで表現 [String!]
37.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 迅速なプロトタイピング スキーマ 定義 DataSource との接続 クライアント の設定
38.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AppSync Overview AWS AppSync Amazon DynamoDB AWS Lambda ElasticSearch subscriptions /graphql Resolvers DataSources HTTP Endpoinmt
39.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. リゾルバーマッピングテンプレートとは!? • マッピングテンプレートは、GraphQLリクエストをデータソースの 命令に変換する方法と、データソースからの応答をGraphQLレスポ ンスに変換する方法を定義する • Apache Velocity Template Language(VTL) • プログラミングガイド https://docs.aws.amazon.com/appsync/latest/devguide/resolver- mapping-template-reference-programming-guide.html
40.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. リゾルバーマッピングテンプレートで実施する例 • アクセスコントロール • 新規アイテムのデフォルト値 • 入力のバリデーション、フォーマット • データの変換と整形 • リスト、マップの加工 • ユーザーIDに基づいたレスポンスのフィルタリング/変更 • 複雑な権限チェック
41.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 2種類のマッピングテンプレート • リクエストテンプレート (Request DataSource命令) • レスポンステンプレート (DataSource応答 GraphQL Response)
42.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. リクエストマッピング テンプレート(例) { "version" : "2017-02-28", "operation" : "GetItem", "key" : { "id" : { "S" : "${context.arguments.id}" } } }
43.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. レスポンスマッピング テンプレート(例) ■ デフォルトで返す場合: ■ データを結合する場合: $utils.toJson($context.result) { "id" : ${context.data.id}, "title" : "${context.data.theTitle}", "content" : "${context.data.body1} ${context.data.body2}" }
44.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. VTLを直接記述(自動補完)
45.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. No-code GraphQL API Builderを利用 ・スキーマ内の定義済みのTypeから DynamoDB テーブルをプロビジョニング ・リゾルバを利用してフィルタ、検索、 比較などを簡単に組み込み
46.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. スキーマからジェネレート
47.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. DynamoDBからジェネレート
48.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 迅速なプロトタイピング スキーマ 定義 DataSource との接続 クライアント の設定
49.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. AppSync Overview AWS AppSync Amazon DynamoDB AWS Lambda ElasticSearch subscriptions /graphql Resolvers DataSources HTTP Endpoinmt
50.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. GraphQL Endpointへの接続情報 export default { "graphqlEndpoint": "https://**.appsync-api.**.amazonaws.com/graphql", "region": "us-east-1", "authenticationType": ”API_KEY", "apiKey": ”***" }
51.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Clientの設定 const client = new AWSAppSyncClient({ url: awsconfig.ENDPOINT, region: AWS.config.region, auth: { type: AUTH_TYPE.AWS_IAM, credentials: Auth.currentCredentials() } }); const WithProvider = () => ( <ApolloProvider client={client}> <Rehydrated> <AppWithData /> </Rehydrated> </ApolloProvider> ); 自動でオフライン利用が可能に https://aws.github.io/aws-amplify/
52.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Clientの認証 //API Key const client = new AWSAppSyncClient({ url: awsconfig.ENDPOINT, region: awsconfig.REGION, auth: { type: AUTH_TYPE.API_KEY, apiKey: awsconfig.apiKey} });
53.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Clientの認証 //IAM認証 auth: { type: AUTH_TYPE.AWS_IAM, credentials: Auth.currentCredentials() } //Cognito User Pool 認証 auth: { type: AUTH_TYPE.AMAZON_COGNITO_USER_POOLS, jwtToken: Auth.currentSession().accessToke.jwtToken }
54.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 纏め
55.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. 1.型指定されたスキーマ APIドキュメントを主導で記述する必要が無くなり、 APIを定義したスキーマをベースに自動生成 2.クライアントからのレスポンス形式の指定 ・オーバーフェッチ、アンダーフェッチが無くなる ・クリーンなインタフェース 3.サブスクリプションを利用したリアルタイム処理 クライアントはデータをサブスクライブする事でイベント・ ドリブンに処理を実装可能 纏め
56.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved. Happy coding with AppSync
57.
© 2018, Amazon
Web Services, Inc. or its Affiliates. All rights reserved.
Download