狠狠撸

狠狠撸Share a Scribd company logo
? 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
? 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
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Overview
様々なコミュニティで「GraphQL vs REST」という形で紹介され
REST APIの次のパラダイムとして注目を集めているGraphQL
今日は???
GraphQLの概要、アーキテクチャ、RESTとの比較、利用シーンに
ついてのお話と、AWS AppSync を利用する事で簡単に
GraphQLを使い始める事が出来るというお話
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
GraphQL 概要
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
GraphQL !?
ー TL ; DR ー
■ API用のQuery言語(A query language for your API)
■ TypeSystemを使用してQueryを実行する為のサーバー側ランタイム
■ クライアントがサーバーからデータを取得、変更、購読
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
登場の背景
Web (HTML)
RDB
RESTful API
RDB
No
SQL
GraphQL
RDB
No
SQL
API
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
なぜ登場した!?
■ REST API開発者、利用者の課題
?API仕様のドキュメント管理が大変
?APIの叩き方を理解するのが大変
?APIのドキュメントと実装がズレてケンカ
■ クライアント開発者からの不満
?1ページ表示するのに幾つもAPIを叩かないといけない
?折角イベントドリブンに作ってもサーバーとの接続は結局
Request / Responseの形が残る
(T_T)
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
GraphQLによって得られるメリット
クライアント/サーバー間のインタフェースが
クリーンになる
通信オーバーヘッドが削減される
APIドキュメント作成に費やす時間が不要になる
APIを理解するのに費やす時間が削減される
(^ ^)
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
なぜGraphQLが注目されているか? - GraphQLの特徴 -
1.型指定されたスキーマ
2.クライアントからのレスポンス形式の指定
3.サブスクリプションを利用したリアルタイム処理
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
なぜGraphQLが注目されているか? - GraphQLの特徴 -
1.型指定されたスキーマ
APIドキュメントを主導で記述する必要が無くなり、
APIを定義したスキーマをベースに自動生成
2.クライアントからのレスポンス形式の指定
3.サブスクリプションを利用したリアルタイム処理
? 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!]
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ドキュメント自動生成
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Query実行環境
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
なぜGraphQLが注目されているか? - GraphQLの特徴 -
1.型指定されたスキーマ
2.クライアントからのレスポンス形式の指定
?オーバーフェッチ、アンダーフェッチが無くなる
?クリーンなインタフェース
3.サブスクリプションを利用したリアルタイム処理
? 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
}
}
アプリのスキーマと
モデルデータ
クライアントが必要な
ものだけをリクエスト
リクエストしたデータ
だけが返される
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
クリーンなインタフェース
オープンで宣言的なデータ取得の仕様
従来のデータフェッチ GraphQL
/posts
/postInfo
/postJustTitle
/postsByAuthor
/postNameStartsWithX
/commentsOnPost
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
なぜGraphQLが注目されているか? - GraphQLの特徴 -
1.型指定されたスキーマ
2.クライアントからのレスポンス形式の指定
3.サブスクリプションを利用したリアルタイム処理
クライアントはデータをサブスクライブする事で
イベント?ドリブンに処理を実装可能
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
GraphQLの処理形態
Query(取得) Subscription(購読)
Mutation(変更)
Mutation
Subscription
“Event !!”
ここのお話
? 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"
}]
? 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
}
}
? 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://)
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS AppSync
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS AppSyncとは!?
フルマネージド GraphQL サービス
すぐに GraphQL の利用を始められます
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Developerの課題解決
リアルタイムコ
ラボレーション
同期を考慮し
たオフラインプ
ログラミング
必要なデータ
のみの取得
複数のデータ
ソースへの
アクセス
アクセス制御
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Usecase
■ リアルタイム
?最新の情報をウォッチするダッシュボード
?ほぼリアルタイムでデータを更新
■ コラボレーション
?複数ユーザーが共同編集を行うアプリケーション
?ドキュメント、画像、テキストメッセージ等、様々な
コンテンツタイプを自動更新
■ ソーシャルメディア
?ソーシャルメディアやチャット
?複数ユーザー間でのメッセージング管理をサポート
?オフライン時でもアプリケーションを操作でき、
再接続時に自動 Sync
? 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 : リクエスト / レスポンスの処理を記述する関数
? 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
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
DynamoDBとAmazonES
Amazon
DynamoDB
ElasticSearch
/addPost
/searchPosts
データソースを組み合わせることで高度な検索にも対応可能。
キーワード検索、ファジー検索、地理空間検索…
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Lambda, HTTP Endpointと3rd Party API
/searchPosts
LambdaをDataSourceとして扱えるため、なんでもできる
外部のWebAPIを叩くことも可能
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
スケーラビリティ
AppSyncバックグラウンドの
Resolver,DataSourceの組合せは自由
開発における拡張性が非常に高く
迅速なプロトタイピングが可能
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
迅速なプロトタイピング
スキーマ
定義
DataSource
との接続
クライアント
の設定
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
迅速なプロトタイピング
スキーマ
定義
DataSource
との接続
クライアント
の設定
? 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
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
スキーマ定義
■ スキーマはサーバの機能を記述し、クエリが有効かどうかを判
断する為に使用されます。
■ GraphQL API は1つの GraphQL スキーマで定義され、
SDL(Schema Definition Language)によって記述さる。
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
スキーマの書き方
schema {
query:Query
mutation: Mutation
subscription: Subscription
}
ルートスキーマを定義
Subscription(購読)
Mutation(更新)
Query(取得)
? 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!]
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
迅速なプロトタイピング
スキーマ
定義
DataSource
との接続
クライアント
の設定
? 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
? 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
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
リゾルバーマッピングテンプレートで実施する例
? アクセスコントロール
? 新規アイテムのデフォルト値
? 入力のバリデーション、フォーマット
? データの変換と整形
? リスト、マップの加工
? ユーザーIDに基づいたレスポンスのフィルタリング/変更
? 複雑な権限チェック
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
2種類のマッピングテンプレート
? リクエストテンプレート (Request ? DataSource命令)
? レスポンステンプレート (DataSource応答 ? GraphQL Response)
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
リクエストマッピング テンプレート(例)
{
"version" : "2017-02-28",
"operation" : "GetItem",
"key" : {
"id" : { "S" : "${context.arguments.id}" }
}
}
? 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}"
}
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
VTLを直接記述(自動補完)
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
No-code GraphQL API Builderを利用
?スキーマ内の定義済みのTypeから
DynamoDB テーブルをプロビジョニング
?リゾルバを利用してフィルタ、検索、
比較などを簡単に組み込み
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
スキーマからジェネレート
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
DynamoDBからジェネレート
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
迅速なプロトタイピング
スキーマ
定義
DataSource
との接続
クライアント
の設定
? 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
? 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": ”***"
}
? 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/
? 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}
});
? 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
}
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
纏め
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
1.型指定されたスキーマ
APIドキュメントを主導で記述する必要が無くなり、
APIを定義したスキーマをベースに自動生成
2.クライアントからのレスポンス形式の指定
?オーバーフェッチ、アンダーフェッチが無くなる
?クリーンなインタフェース
3.サブスクリプションを利用したリアルタイム処理
クライアントはデータをサブスクライブする事でイベント?
ドリブンに処理を実装可能
纏め
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Happy coding with AppSync
? 2018, Amazon Web Services, Inc. or its Affiliates. All rights reserved.

More Related Content

What's hot (20)

20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM 20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM
Amazon Web Services Japan
?
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
?
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
Amazon Web Services Japan
?
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
?
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
?
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
?
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA
?
20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions
Amazon Web Services Japan
?
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
?
Amazon Kinesis Familyを活用したストリームテ?ータ処理
Amazon Kinesis Familyを活用したストリームテ?ータ処理Amazon Kinesis Familyを活用したストリームテ?ータ処理
Amazon Kinesis Familyを活用したストリームテ?ータ処理
Amazon Web Services Japan
?
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
?
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
Amazon Web Services Japan
?
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
Amazon Web Services Japan
?
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
Amazon Web Services Japan
?
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
Amazon Web Services Japan
?
20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation 20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation
Amazon Web Services Japan
?
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
Amazon Web Services Japan
?
础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス
Akihiro Kuwano
?
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
Amazon Web Services Japan
?
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
Amazon Web Services Japan
?
20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM 20190723 AWS Black Belt Online Seminar AWS CloudHSM
20190723 AWS Black Belt Online Seminar AWS CloudHSM
Amazon Web Services Japan
?
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
SaaS テナント毎のコストを把握するための「AWS Application Cost Profiler」のご紹介
Amazon Web Services Japan
?
AWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon KinesisAWS Black Belt Online Seminar 2017 Amazon Kinesis
AWS Black Belt Online Seminar 2017 Amazon Kinesis
Amazon Web Services Japan
?
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
Amazon Web Services Japan
?
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
20190828 AWS Black Belt Online Seminar Amazon Aurora with PostgreSQL Compatib...
Amazon Web Services Japan
?
20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと20220409 AWS BLEA 開発にあたって検討したこと
20220409 AWS BLEA 開発にあたって検討したこと
Amazon Web Services Japan
?
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA の AWS アカウント管理とセキュリティ監査自動化
DeNA
?
20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions20190522 AWS Black Belt Online Seminar AWS Step Functions
20190522 AWS Black Belt Online Seminar AWS Step Functions
Amazon Web Services Japan
?
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
?
Amazon Kinesis Familyを活用したストリームテ?ータ処理
Amazon Kinesis Familyを活用したストリームテ?ータ処理Amazon Kinesis Familyを活用したストリームテ?ータ処理
Amazon Kinesis Familyを活用したストリームテ?ータ処理
Amazon Web Services Japan
?
20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本20210526 AWS Expert Online マルチアカウント管理の基本
20210526 AWS Expert Online マルチアカウント管理の基本
Amazon Web Services Japan
?
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
厂别谤惫别谤濒别蝉蝉时代の闯补惫补について
Amazon Web Services Japan
?
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
20191002 AWS Black Belt Online Seminar Amazon EC2 Auto Scaling and AWS Auto S...
Amazon Web Services Japan
?
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
20201028 AWS Black Belt Online Seminar Amazon CloudFront deep dive
Amazon Web Services Japan
?
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty20180509 AWS Black Belt Online Seminar Amazon GuardDuty
20180509 AWS Black Belt Online Seminar Amazon GuardDuty
Amazon Web Services Japan
?
20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation 20191001 AWS Black Belt Online Seminar AWS Lake Formation
20191001 AWS Black Belt Online Seminar AWS Lake Formation
Amazon Web Services Japan
?
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
202202 AWS Black Belt Online Seminar AWS Managed Rules for AWS WAF の活用
Amazon Web Services Japan
?
础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス础奥厂のログ管理ベストプラクティス
础奥厂のログ管理ベストプラクティス
Akihiro Kuwano
?
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCacheAWS Black Belt Online Seminar 2017 Amazon ElastiCache
AWS Black Belt Online Seminar 2017 Amazon ElastiCache
Amazon Web Services Japan
?
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch20190326 AWS Black Belt Online Seminar Amazon CloudWatch
20190326 AWS Black Belt Online Seminar Amazon CloudWatch
Amazon Web Services Japan
?

Similar to GraphQL入門 (AWS AppSync) (20)

AWS Expert Online appsyncを使ったServerlessアーキテクチャ
AWS Expert Online appsyncを使ったServerlessアーキテクチャAWS Expert Online appsyncを使ったServerlessアーキテクチャ
AWS Expert Online appsyncを使ったServerlessアーキテクチャ
Amazon Web Services Japan
?
开発者におくるサーバーレスモニタリング
开発者におくるサーバーレスモニタリング开発者におくるサーバーレスモニタリング
开発者におくるサーバーレスモニタリング
Amazon Web Services Japan
?
マルチリージョン?マルチアカウント対応の柔软な构筑ツールを作ってみた
マルチリージョン?マルチアカウント対応の柔软な构筑ツールを作ってみたマルチリージョン?マルチアカウント対応の柔软な构筑ツールを作ってみた
マルチリージョン?マルチアカウント対応の柔软な构筑ツールを作ってみた
桂一 中山
?
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
Amazon Web Services Japan
?
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
Amazon Web Services Japan
?
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
Amazon Web Services Japan
?
AWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS AmplifyAWS Black Belt Online Seminar AWS Amplify
AWS Black Belt Online Seminar AWS Amplify
Amazon Web Services Japan
?
Serverless backendformobilegame and_aws-appsync_gamingtechnight-2
Serverless backendformobilegame and_aws-appsync_gamingtechnight-2Serverless backendformobilegame and_aws-appsync_gamingtechnight-2
Serverless backendformobilegame and_aws-appsync_gamingtechnight-2
Amazon Web Services Japan
?
Serverless Application Security on AWS
Serverless Application Security on AWSServerless Application Security on AWS
Serverless Application Security on AWS
Amazon Web Services Japan
?
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Amazon Web Services Japan
?
クラウドネイティブ化する未来
クラウドネイティブ化する未来クラウドネイティブ化する未来
クラウドネイティブ化する未来
Keisuke Nishitani
?
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
Amazon Web Services Japan
?
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
Amazon Web Services Japan
?
浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン
Amazon Web Services Japan
?
Japan wrapup reinvent2018
Japan wrapup reinvent2018Japan wrapup reinvent2018
Japan wrapup reinvent2018
Amazon Web Services Japan
?
Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018
Kameda Harunobu
?
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Akira Inoue
?
re:Invent 2018 ML サービスアップデート
re:Invent 2018 ML サービスアップデートre:Invent 2018 ML サービスアップデート
re:Invent 2018 ML サービスアップデート
Amazon Web Services Japan
?
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクスAmazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Web Services Japan
?
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
Amazon Web Services Japan
?
AWS Expert Online appsyncを使ったServerlessアーキテクチャ
AWS Expert Online appsyncを使ったServerlessアーキテクチャAWS Expert Online appsyncを使ったServerlessアーキテクチャ
AWS Expert Online appsyncを使ったServerlessアーキテクチャ
Amazon Web Services Japan
?
开発者におくるサーバーレスモニタリング
开発者におくるサーバーレスモニタリング开発者におくるサーバーレスモニタリング
开発者におくるサーバーレスモニタリング
Amazon Web Services Japan
?
マルチリージョン?マルチアカウント対応の柔软な构筑ツールを作ってみた
マルチリージョン?マルチアカウント対応の柔软な构筑ツールを作ってみたマルチリージョン?マルチアカウント対応の柔软な构筑ツールを作ってみた
マルチリージョン?マルチアカウント対応の柔软な构筑ツールを作ってみた
桂一 中山
?
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
20180221 AWS Black Belt Online Seminar AWS Lambda@Edge
Amazon Web Services Japan
?
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
20180619 AWS Black Belt Online Seminar データレイク入門: AWSで様々な規模のデータレイクを分析する効率的な方法
Amazon Web Services Japan
?
The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発The Twelve-Factor Appで考えるAWSのサービス開発
The Twelve-Factor Appで考えるAWSのサービス開発
Amazon Web Services Japan
?
Serverless backendformobilegame and_aws-appsync_gamingtechnight-2
Serverless backendformobilegame and_aws-appsync_gamingtechnight-2Serverless backendformobilegame and_aws-appsync_gamingtechnight-2
Serverless backendformobilegame and_aws-appsync_gamingtechnight-2
Amazon Web Services Japan
?
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツールAWS における Microservices Architecture と DevOps を推進する組織と人とツール
AWS における Microservices Architecture と DevOps を推進する組織と人とツール
Amazon Web Services Japan
?
クラウドネイティブ化する未来
クラウドネイティブ化する未来クラウドネイティブ化する未来
クラウドネイティブ化する未来
Keisuke Nishitani
?
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update20190122 AWS Black Belt Online Seminar Amazon Redshift Update
20190122 AWS Black Belt Online Seminar Amazon Redshift Update
Amazon Web Services Japan
?
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
ATC301 AWS re:Invent 2017/11/27 - 1 Million Bids in 100ms - Using AWS to Powe...
Amazon Web Services Japan
?
浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン浸透するサーバーレス 実際に見るユースケースと実装パターン
浸透するサーバーレス 実際に見るユースケースと実装パターン
Amazon Web Services Japan
?
Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018Japan Wrap Up re:Invent2018
Japan Wrap Up re:Invent2018
Kameda Harunobu
?
ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説ASP.NET シングル ページ アプリケーション (SPA) 詳説
ASP.NET シングル ページ アプリケーション (SPA) 詳説
Akira Inoue
?
re:Invent 2018 ML サービスアップデート
re:Invent 2018 ML サービスアップデートre:Invent 2018 ML サービスアップデート
re:Invent 2018 ML サービスアップデート
Amazon Web Services Japan
?
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクスAmazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Game Tech Night #22 AWSで実現するデータレイクとアナリティクス
Amazon Web Services Japan
?
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
20201118 AWS Black Belt Online Seminar 形で考えるサーバーレス設計 サーバーレスユースケースパターン解説
Amazon Web Services Japan
?

More from Amazon Web Services Japan (20)

202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
Amazon Web Services Japan
?
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
Amazon Web Services Japan
?
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
Amazon Web Services Japan
?
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
Amazon Web Services Japan
?
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
Amazon Web Services Japan
?
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Web Services Japan
?
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
Amazon Web Services Japan
?
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon Web Services Japan
?
机密データと厂补补厂は共存しうるのか!?セキュリティー重视のユーザー层を取り込む為のネットワーク通信のアプローチ
机密データと厂补补厂は共存しうるのか!?セキュリティー重视のユーザー层を取り込む為のネットワーク通信のアプローチ机密データと厂补补厂は共存しうるのか!?セキュリティー重视のユーザー层を取り込む為のネットワーク通信のアプローチ
机密データと厂补补厂は共存しうるのか!?セキュリティー重视のユーザー层を取り込む為のネットワーク通信のアプローチ
Amazon Web Services Japan
?
パッケージソフトウェアを简単に厂补补厂化!?既存の资产を使った厂补补厂化手法のご绍介
パッケージソフトウェアを简単に厂补补厂化!?既存の资产を使った厂补补厂化手法のご绍介パッケージソフトウェアを简単に厂补补厂化!?既存の资产を使った厂补补厂化手法のご绍介
パッケージソフトウェアを简単に厂补补厂化!?既存の资产を使った厂补补厂化手法のご绍介
Amazon Web Services Japan
?
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Web Services Japan
?
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Web Services Japan
?
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発??
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発??202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発??
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発??
Amazon Web Services Japan
?
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
Amazon Web Services Japan
?
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
Amazon Web Services Japan
?
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
Amazon Web Services Japan
?
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
Amazon Web Services Japan
?
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
Amazon Web Services Japan
?
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
Amazon Web Services Japan
?
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
?
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
202205 AWS Black Belt Online Seminar Amazon FSx for OpenZFS
Amazon Web Services Japan
?
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender202204 AWS Black Belt Online Seminar AWS IoT Device Defender
202204 AWS Black Belt Online Seminar AWS IoT Device Defender
Amazon Web Services Japan
?
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
202204 AWS Black Belt Online Seminar Amazon Connect を活用したオンコール対応の実現
Amazon Web Services Japan
?
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
202204 AWS Black Belt Online Seminar Amazon Connect Salesforce連携(第1回 CTI Adap...
Amazon Web Services Japan
?
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデートAmazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Game Tech Night #25 ゲーム業界向け機械学習最新状況アップデート
Amazon Web Services Japan
?
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
202203 AWS Black Belt Online Seminar Amazon Connect Tasks.pdf
Amazon Web Services Japan
?
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDDAmazon QuickSight の組み込み方法をちょっぴりDD
Amazon QuickSight の組み込み方法をちょっぴりDD
Amazon Web Services Japan
?
机密データと厂补补厂は共存しうるのか!?セキュリティー重视のユーザー层を取り込む為のネットワーク通信のアプローチ
机密データと厂补补厂は共存しうるのか!?セキュリティー重视のユーザー层を取り込む為のネットワーク通信のアプローチ机密データと厂补补厂は共存しうるのか!?セキュリティー重视のユーザー层を取り込む為のネットワーク通信のアプローチ
机密データと厂补补厂は共存しうるのか!?セキュリティー重视のユーザー层を取り込む為のネットワーク通信のアプローチ
Amazon Web Services Japan
?
パッケージソフトウェアを简単に厂补补厂化!?既存の资产を使った厂补补厂化手法のご绍介
パッケージソフトウェアを简単に厂补补厂化!?既存の资产を使った厂补补厂化手法のご绍介パッケージソフトウェアを简単に厂补补厂化!?既存の资产を使った厂补补厂化手法のご绍介
パッケージソフトウェアを简単に厂补补厂化!?既存の资产を使った厂补补厂化手法のご绍介
Amazon Web Services Japan
?
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
202202 AWS Black Belt Online Seminar Amazon Connect Customer Profiles
Amazon Web Services Japan
?
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するためにAmazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Game Tech Night #24 KPIダッシュボードを最速で用意するために
Amazon Web Services Japan
?
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発??
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発??202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発??
202202 AWS Black Belt Online Seminar AWS SaaS Boost で始めるSaaS開発??
Amazon Web Services Japan
?
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
Amazon Web Services Japan
?
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
202111 AWS Black Belt Online Seminar AWSで構築するSmart Mirrorのご紹介
Amazon Web Services Japan
?
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
202201 AWS Black Belt Online Seminar Apache Spark Performnace Tuning for AWS ...
Amazon Web Services Japan
?
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
202112 AWS Black Belt Online Seminar 店内の「今」をお届けする小売業向けリアルタイム配信基盤のレシピ
Amazon Web Services Japan
?
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations20211209 Ops-JAWS Re invent2021re-cap-cloud operations
20211209 Ops-JAWS Re invent2021re-cap-cloud operations
Amazon Web Services Japan
?
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
20211203 AWS Black Belt Online Seminar AWS re:Invent 2021アップデート速報
Amazon Web Services Japan
?
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
Amazon Web Services Japan
?

Recently uploaded (6)

松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
Matsushita Laboratory
?
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージカスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
info819904
?
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
翔栄 杉田
?
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
sugiuralab
?
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
馮 富久
?
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
info819904
?
松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
松下光范「街歩き型ストーリーリーダーの実施」,もうひとつの十叁未来会议(有识者编)
Matsushita Laboratory
?
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージカスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
カスタム厂尝惭「贬补尘蝉迟别谤」冲軽量でセキュアな専用言语モデル冲础滨エージェント冲チャットボット冲マッチングアプリ构筑のコアパッケージ
info819904
?
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
2019飞冲东京大学大学院茂木研究室冲学生研究员杉田翔栄冲搁罢贰最终発表会スライト?.辫诲蹿
翔栄 杉田
?
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
自由に移动する复数の?々に异なる映像を提?するテ?ィスフ?レイシステムについての基础検讨
sugiuralab
?
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
惭测厂蚕尝30周年&ユーザ会25周年记念イベント冯発表资料(2025年3月25日开催)
馮 富久
?
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
量子リザバソフトウェア冲时系列データ(农业?核融合?需要予测)効果検証冲导入による成果
info819904
?

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.