SlideShare a Scribd company logo
1 of 60
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Professional Services Tsukagoshi Keisuke
2017/12/7
ユースケースから見た実装カタログ
〜AWS逆引きリファレンス〜
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
塚越 啓介(Keisuke Tsukagoshi)
AWS Professional Services DevOps Consultant
経歴
Web企業にて海外向けサービスの立ち上げやミッションクリティカルな
システムの開発をリード。
アジャイル系イベントでの講演、iOS関係の寄稿などの活動を経て
2016年より現職
得意分野
• アプリケーションの開発最適化 (FRP / RX / e.t.c)
• アジャイルなど開発プロセス (Scrum / LeSS / SAFe / DDD / e.t.c)
• コーチング/ファシリテーション
• DevOps
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
対象とするお客様
AWSを利用してアプリケーションを作りたい
• 実際にどんな設定をしたらよいかわからない
• 実際にどんなコードをかいたらよいかわからない
よくあるユースケースから具体的な実装パターンを紹介
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
紹介するユースケース
• ユーザー動向を分析したい
• ユーザーを認証させたい
• 認認証付きのWeb APIを使いたい
SDK を使ってこれらの処理を実装する
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ユーザ動向を分析したい
Amazon
Pinpoint運営者 ユーザ
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ユーザ認証をさせたい
認証付きAPIを叩きたい
ユーザ
cognito
Amazon API
Gateway
token
認証
Amazon
EC2
AWS
Lambda
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
SDKではなくAmplifyとMobile CLIを紹介
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amplifyの紹介
フロントエンドおよびモバイル開発者向けの
オープンソースのJavaScriptライブラリ
React.js / ReactNative に対応
よく利用されるタスクをアプリケーションに簡単に組み込める
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amplifyでできること
Auth
Analytics
API
Storage
Caching
e.t.c
https://aws.github.io/aws-amplify/packages/aws-amplify-react-
native/docs/index.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amplifyを使った開発の手順
AWSリソースの
設定
IAMの設定
Client SDK
の設定
Amplify
コーディング
MobileHub + Mobile CLIで設定可能
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
本日紹介するユースケース
• ユーザー動向を分析したい
• ユーザーを認証させたい
• 認認証付きのWeb APIを使いたい
SDK Amplify を使ってこれらの処理を実装する
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amplifyを使い始める
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSリソースとIAMを設定する
AWSリソースの
設定
IAMの設定
Client SDK
の設定
Amplify
コーディング
MobileHub + Mobile CLIで設定可能
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AmplifyのProvisioningにMobile Hubを利用
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Mobile-Hubでprojectを作成
• Create
• Project Nameを入力
• Regionの指定
• App platformをWebに設定
• 完了
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Mobile Hubで自動で行われたこと
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Mobile HubでProvisioningで何が起こっているか
• Cognito Idpoolの作成
• 未認証IAMロールの作成
• Pinpointのプロジェクト作成
• S3bucketの作成
• CloudFrontの設定
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AmplifyのClientを設定
AWSリソースの
設定
IAMの設定
Client SDK
の設定
Amplify
コーディング
MobileHub + Mobile CLIで設定可能
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amplifyのclientをinstall
$ npm install --save aws-amplify
$ npm install --save aws-amplify-react
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
App.jsにconfigure処理を追加
import Amplify from 'aws-amplify'
import aws_exports from './aws-exports’
Amplify.configure(aws_exports);
これでAmplifyを使う準備は完了
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Clientの設定を自分で書くことも可能
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
mobile-cliを使って生成することも可能
$ npm install -g awsmobile-cli
$ awsmobile init de***2c*-***-46f4-***-44e**fbf
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amplifyを使ってコーディング
AWSリソースの
設定
IAMの設定
Client SDK
の設定
Amplify
コーディング
MobileHub + Mobile CLIで設定可能
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Amplifyを使ってコーディング
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
ユーザー動向を分析したい
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
PinpointでAnalytics
• Eventを記録
• AttributeをつけてEventを記録
• メトリクスをつけてEentを記録
• などなど
■reference
https://aws.github.io/aws-amplify/packages/aws-amplify-react-
native/docs/AnalyticsClass.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Analyticsの手順
Pinpointの設定 IAMの設定
aws-
exports.js
の更新
Analyticsの
コーディング
MobileHub で設定済
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWSリソースの設定
Mobile HubのProvisioningで
Analyticsは設定済
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AnalyticsのメソッドでEventを記録
import { Analytics } from 'aws-amplify';
…
//Eventの記録
Analytics.record(’todoAppVisit');
//Attribute付きEventの記録
Analytics.record(’todoAppVisit', { age: ''});
//メトリクス付きのEvent記録
Analytics.record('albumVisit', {}, { minutesListened: 30 });
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
PinpointのAnalyticsに反映
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
認証させたい
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cognito User PoolでAuth
• APIでAuth
• withAuthenticator HOC
• React componentでauth
• 独自UIの作成
• e.t.c
https://aws.github.io/aws-amplify/packages/aws-amplify-react-
native/docs/AuthClass.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
認証の手順
UserPoolの設定 IAMの設定
aws-
exports.js
の更新
Authのコー
ディング
MobileHub & mobile-cliで自動で実施
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Mobile Hubから User Sign-inを選択
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
UserPoolを選択
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
aws-exports.jsを更新
$ awsmobile pull
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
user_poolsの設定が自動で生成
aws_sign_in_enabled : 'enable',
aws_user_pools : 'enable',
aws_user_pools_id : 'us-east-1_Ru****iFm',
aws_user_pools_mfa_type : 'OFF',
aws_user_pools_web_client_id : '1mk0****sci9emo8li****u5c',
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Sign In
import { Auth } from 'aws-amplify';
Auth.signIn(username, password)
.then(user => console.log(user))
.catch(err => console.log(err));
Auth.confirmSignIn(user, code)
.then(data => console.log(data))
.catch(err => console.log(err));
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Sign Up
import { Auth } from 'aws-amplify';
Auth.signUp(username, password, email, phone)
.then(data => console.log(data))
.catch(err => console.log(err));
Auth.confirmSignUp(username, code)
.then(data => console.log(data))
.catch(err => console.log(err));
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Sign Out
import { Auth } from 'aws-amplify';
Auth.signOut()
.then(data => console.log(data))
.catch(err => console.log(err));
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Forgot Password
import { Auth } from 'aws-amplify';
Auth.forgotPassword(username)
.then(data => console.log(data))
.catch(err => console.log(err));
Auth.forgotPasswordSubmit(username, code, new_password)
.then(data => console.log(data))
.catch(err => console.log(err));
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Authenticator React Component
import { Authenticator } from 'aws-amplify-react';
class App extends Component {
render() {
if (this.props.authState !== 'signedIn') { return null; }
・・・
}
}
class AppWithAuth extends Component {
render(){
return (
<div>
<Authenticator>
<App />
</Authenticator>
</div>
);
}
}
export default AppWithAuth;
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Authenticator React Component
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Authenticator React ComponentにThemeを設定
$ npm install --save a-theme-react
ただのCSSセットなので、Themeを作ることも簡単にできる
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Authenticator React ComponentにThemeを設定
import { Authenticator } from 'aws-amplify-react';
import { Bootstrap } from 'a-theme-react';
class AppWithAuth extends Component {
render(){
return (
<div>
<Authenticator theme={Bootstrap}>
<App />
</Authenticator>
</div>
);
}
}
export default AppWithAuth;
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
認証コンポーネントのカスタマイズ
https://github.com/aws/aws-
amplify/blob/master/media/authentication_guide.md#ui-theme
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
認証付きのWeb APIを叩きたい
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
API
• GET
• POST
• PUT
• DELETE
• HEAD
認証後にSigV4でAPIを簡単に叩く
https://aws.github.io/aws-amplify/packages/aws-amplify-react-
native/docs/API.html
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
APIを作る&叩く手順
API Gatewayの設
定
IAMの設定
aws-
exports.js
の更新
Analyticsの
コーディング
MobileHub & mobile-cliで自動で実施
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
AWS_IAM認証有のAPIを作成
CORSの設定も
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cloud Logicを追加
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
今作成したMock APIをimport
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
今作成したMock APIをimport
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
aws-exports.jsを更新
$ awsmobile pull
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Cloud_logicの設定が自動で生成
aws_cloud_logic : 'enable',
aws_cloud_logic_custom : '[{
"id":"mplolrkgmj",
"name":"todo",
"description":"",
"endpoint":"https://mpl***.execute-api.us-east-1.amazonaws.com/Dev",
"region":"us-east-1",
"paths":["/todo"]
}]',
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
APIを叩く
import {API } from 'aws-amplify';
let apiName = 'todo';
let path = '/todo';
API.get(apiName, path).then(response => {
console.log(response);
}).catch( err => {
console.log(err);
});
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
認証済のレスポンス
未認証時のレスポンス
認証時のレスポンス
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Demo
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
まとめ
今回、3つのユースケースの実装方法を紹介した
• Analyticsにデータを送信
• ユーザー認証 DEMO
• 認証APIを叩く
Amplify + Mobile CLIによってAWSを使った開発を簡単にはじ
められるようになりました
© 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved.
Happy coding with Amplify!

More Related Content

What's hot

20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)Amazon Web Services Japan
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-RayAmazon Web Services Japan
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural PatternsAdrian Hornsby
 
AWS で構築するコンピュータビジョンアプリケーション
AWS で構築するコンピュータビジョンアプリケーションAWS で構築するコンピュータビジョンアプリケーション
AWS で構築するコンピュータビジョンアプリケーションAmazon Web Services Japan
 
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...Amazon Web Services
 
20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS BatchAmazon Web Services Japan
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems ManagerAmazon Web Services Japan
 
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...Amazon Web Services Korea
 
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 FunctionsAmazon Web Services Japan
 
Scale permissions management in AWS with attribute-based access control - SDD...
Scale permissions management in AWS with attribute-based access control - SDD...Scale permissions management in AWS with attribute-based access control - SDD...
Scale permissions management in AWS with attribute-based access control - SDD...Amazon Web Services
 
Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...
Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...
Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...Amazon Web Services
 
Tracking and Optimizing Ad Monetization for Your Mobile App - MBL307 - re:Inv...
Tracking and Optimizing Ad Monetization for Your Mobile App - MBL307 - re:Inv...Tracking and Optimizing Ad Monetization for Your Mobile App - MBL307 - re:Inv...
Tracking and Optimizing Ad Monetization for Your Mobile App - MBL307 - re:Inv...Amazon Web Services
 
Introduction to Mobile Development with AWS
Introduction to Mobile Development with AWSIntroduction to Mobile Development with AWS
Introduction to Mobile Development with AWSAmazon Web Services
 
The 1% Identity and Governance Patterns from the Most Advanced AWS Customers ...
The 1% Identity and Governance Patterns from the Most Advanced AWS Customers ...The 1% Identity and Governance Patterns from the Most Advanced AWS Customers ...
The 1% Identity and Governance Patterns from the Most Advanced AWS Customers ...Amazon Web Services
 
AWS 無伺服器開發工作坊_Matt.pdf
AWS 無伺服器開發工作坊_Matt.pdfAWS 無伺服器開發工作坊_Matt.pdf
AWS 無伺服器開發工作坊_Matt.pdfAmazon Web Services
 
Simplify your Web & Mobile applications with cloud-based serverless backends
Simplify your Web & Mobile applicationswith cloud-based serverless backendsSimplify your Web & Mobile applicationswith cloud-based serverless backends
Simplify your Web & Mobile applications with cloud-based serverless backendsSébastien ☁ Stormacq
 
Wild-Rydes-Workshop-Image-Processing
Wild-Rydes-Workshop-Image-ProcessingWild-Rydes-Workshop-Image-Processing
Wild-Rydes-Workshop-Image-ProcessingAmazon Web Services
 
AWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructureAWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructureCobus Bernard
 
20190703 AWS Black Belt Online Seminar Amazon MQ
20190703 AWS Black Belt Online Seminar Amazon MQ20190703 AWS Black Belt Online Seminar Amazon MQ
20190703 AWS Black Belt Online Seminar Amazon MQAmazon Web Services Japan
 

What's hot (20)

20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
20190521 AWS Black Belt Online Seminar Amazon Simple Email Service (Amazon SES)
 
20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray20200526 AWS Black Belt Online Seminar AWS X-Ray
20200526 AWS Black Belt Online Seminar AWS X-Ray
 
Serverless Architectural Patterns
Serverless Architectural PatternsServerless Architectural Patterns
Serverless Architectural Patterns
 
AWS で構築するコンピュータビジョンアプリケーション
AWS で構築するコンピュータビジョンアプリケーションAWS で構築するコンピュータビジョンアプリケーション
AWS で構築するコンピュータビジョンアプリケーション
 
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
 
20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch20190911 AWS Black Belt Online Seminar AWS Batch
20190911 AWS Black Belt Online Seminar AWS Batch
 
20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager20200212 AWS Black Belt Online Seminar AWS Systems Manager
20200212 AWS Black Belt Online Seminar AWS Systems Manager
 
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...
[AWS Innovate 온라인 컨퍼런스] 간단한 Python 코드만으로 높은 성능의 기계 학습 모델 만들기 - 김무현, AWS Sr.데이...
 
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
 
Scale permissions management in AWS with attribute-based access control - SDD...
Scale permissions management in AWS with attribute-based access control - SDD...Scale permissions management in AWS with attribute-based access control - SDD...
Scale permissions management in AWS with attribute-based access control - SDD...
 
Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...
Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...
Building Business Workflows with AWS Step Functions: re:Invent 2018 Recap at ...
 
Tracking and Optimizing Ad Monetization for Your Mobile App - MBL307 - re:Inv...
Tracking and Optimizing Ad Monetization for Your Mobile App - MBL307 - re:Inv...Tracking and Optimizing Ad Monetization for Your Mobile App - MBL307 - re:Inv...
Tracking and Optimizing Ad Monetization for Your Mobile App - MBL307 - re:Inv...
 
Introduction to Mobile Development with AWS
Introduction to Mobile Development with AWSIntroduction to Mobile Development with AWS
Introduction to Mobile Development with AWS
 
The 1% Identity and Governance Patterns from the Most Advanced AWS Customers ...
The 1% Identity and Governance Patterns from the Most Advanced AWS Customers ...The 1% Identity and Governance Patterns from the Most Advanced AWS Customers ...
The 1% Identity and Governance Patterns from the Most Advanced AWS Customers ...
 
AWS 無伺服器開發工作坊_Matt.pdf
AWS 無伺服器開發工作坊_Matt.pdfAWS 無伺服器開發工作坊_Matt.pdf
AWS 無伺服器開發工作坊_Matt.pdf
 
Simplify your Web & Mobile applications with cloud-based serverless backends
Simplify your Web & Mobile applicationswith cloud-based serverless backendsSimplify your Web & Mobile applicationswith cloud-based serverless backends
Simplify your Web & Mobile applications with cloud-based serverless backends
 
Simplify front end apps.pdf
Simplify front end apps.pdfSimplify front end apps.pdf
Simplify front end apps.pdf
 
Wild-Rydes-Workshop-Image-Processing
Wild-Rydes-Workshop-Image-ProcessingWild-Rydes-Workshop-Image-Processing
Wild-Rydes-Workshop-Image-Processing
 
AWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructureAWS SSA Webinar 4 - Building out your multi-account infrastructure
AWS SSA Webinar 4 - Building out your multi-account infrastructure
 
20190703 AWS Black Belt Online Seminar Amazon MQ
20190703 AWS Black Belt Online Seminar Amazon MQ20190703 AWS Black Belt Online Seminar Amazon MQ
20190703 AWS Black Belt Online Seminar Amazon MQ
 

Similar to ユースケースからみた実装カタログ Developer meetup 20171207 amplify

Authentication and Identity with Amazon Cognito & Analytics with Amazon Pinpoint
Authentication and Identity with Amazon Cognito & Analytics with Amazon PinpointAuthentication and Identity with Amazon Cognito & Analytics with Amazon Pinpoint
Authentication and Identity with Amazon Cognito & Analytics with Amazon PinpointAmazon Web Services
 
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...Amazon Web Services
 
DEV203_Launch Applications the Amazon Way
DEV203_Launch Applications the Amazon WayDEV203_Launch Applications the Amazon Way
DEV203_Launch Applications the Amazon WayAmazon Web Services
 
ARC325_Managing Multiple AWS Accounts at Scale
ARC325_Managing Multiple AWS Accounts at ScaleARC325_Managing Multiple AWS Accounts at Scale
ARC325_Managing Multiple AWS Accounts at ScaleAmazon Web Services
 
How Chick-fil-A Embraces DevSecOps on AWS - SID306 - re:Invent 2017
How Chick-fil-A Embraces DevSecOps on AWS - SID306 - re:Invent 2017How Chick-fil-A Embraces DevSecOps on AWS - SID306 - re:Invent 2017
How Chick-fil-A Embraces DevSecOps on AWS - SID306 - re:Invent 2017Amazon Web Services
 
NEW LAUNCH! Gain Operational Insights and Take Action on AWS Resources with A...
NEW LAUNCH! Gain Operational Insights and Take Action on AWS Resources with A...NEW LAUNCH! Gain Operational Insights and Take Action on AWS Resources with A...
NEW LAUNCH! Gain Operational Insights and Take Action on AWS Resources with A...Amazon Web Services
 
AWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECSAWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECSShimon Tolts
 
Creating-projects with-AWS-Mobile-Hub.pptx
Creating-projects with-AWS-Mobile-Hub.pptxCreating-projects with-AWS-Mobile-Hub.pptx
Creating-projects with-AWS-Mobile-Hub.pptxAmazon Web Services
 
DevOps Essentials: An Introductory Workshop on CI/CD Practices
DevOps Essentials: An Introductory Workshop on CI/CD PracticesDevOps Essentials: An Introductory Workshop on CI/CD Practices
DevOps Essentials: An Introductory Workshop on CI/CD PracticesAmazon Web Services
 
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech TalksAWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech TalksAmazon Web Services
 
MBL310_Building Hybrid and Web Apps with AWS Mobile CLI
MBL310_Building Hybrid and Web Apps with AWS Mobile CLIMBL310_Building Hybrid and Web Apps with AWS Mobile CLI
MBL310_Building Hybrid and Web Apps with AWS Mobile CLIAmazon Web Services
 
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesDEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesAmazon Web Services
 
Deep Dive on AWS Migration Hub - AWS Online Tech Talks
Deep Dive on AWS Migration Hub - AWS Online Tech TalksDeep Dive on AWS Migration Hub - AWS Online Tech Talks
Deep Dive on AWS Migration Hub - AWS Online Tech TalksAmazon Web Services
 
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...Amazon Web Services
 
MSC204_Leverage AWS Marketplace to accelerate production ready workloads
MSC204_Leverage AWS Marketplace to accelerate production ready workloadsMSC204_Leverage AWS Marketplace to accelerate production ready workloads
MSC204_Leverage AWS Marketplace to accelerate production ready workloadsAmazon Web Services
 
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...Amazon Web Services
 
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...Amazon Web Services
 
Module 5: AWS Elasticity and Management Tools - AWSome Day Online Conference
Module 5: AWS Elasticity and Management Tools - AWSome Day Online Conference Module 5: AWS Elasticity and Management Tools - AWSome Day Online Conference
Module 5: AWS Elasticity and Management Tools - AWSome Day Online Conference Amazon Web Services
 

Similar to ユースケースからみた実装カタログ Developer meetup 20171207 amplify (20)

React Native Workshop
React Native WorkshopReact Native Workshop
React Native Workshop
 
Authentication and Identity with Amazon Cognito & Analytics with Amazon Pinpoint
Authentication and Identity with Amazon Cognito & Analytics with Amazon PinpointAuthentication and Identity with Amazon Cognito & Analytics with Amazon Pinpoint
Authentication and Identity with Amazon Cognito & Analytics with Amazon Pinpoint
 
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...
Ionic and React Hybrid Web/Native Mobile Applications with Mobile Hub - AWS O...
 
DEV203_Launch Applications the Amazon Way
DEV203_Launch Applications the Amazon WayDEV203_Launch Applications the Amazon Way
DEV203_Launch Applications the Amazon Way
 
ARC325_Managing Multiple AWS Accounts at Scale
ARC325_Managing Multiple AWS Accounts at ScaleARC325_Managing Multiple AWS Accounts at Scale
ARC325_Managing Multiple AWS Accounts at Scale
 
How Chick-fil-A Embraces DevSecOps on AWS - SID306 - re:Invent 2017
How Chick-fil-A Embraces DevSecOps on AWS - SID306 - re:Invent 2017How Chick-fil-A Embraces DevSecOps on AWS - SID306 - re:Invent 2017
How Chick-fil-A Embraces DevSecOps on AWS - SID306 - re:Invent 2017
 
NEW LAUNCH! Gain Operational Insights and Take Action on AWS Resources with A...
NEW LAUNCH! Gain Operational Insights and Take Action on AWS Resources with A...NEW LAUNCH! Gain Operational Insights and Take Action on AWS Resources with A...
NEW LAUNCH! Gain Operational Insights and Take Action on AWS Resources with A...
 
AWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECSAWS User Group 5/12 meetup - ECS
AWS User Group 5/12 meetup - ECS
 
Creating-projects with-AWS-Mobile-Hub.pptx
Creating-projects with-AWS-Mobile-Hub.pptxCreating-projects with-AWS-Mobile-Hub.pptx
Creating-projects with-AWS-Mobile-Hub.pptx
 
DevOps Essentials: An Introductory Workshop on CI/CD Practices
DevOps Essentials: An Introductory Workshop on CI/CD PracticesDevOps Essentials: An Introductory Workshop on CI/CD Practices
DevOps Essentials: An Introductory Workshop on CI/CD Practices
 
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech TalksAWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
AWS X-Ray: Debugging Applications at Scale - AWS Online Tech Talks
 
MBL310_Building Hybrid and Web Apps with AWS Mobile CLI
MBL310_Building Hybrid and Web Apps with AWS Mobile CLIMBL310_Building Hybrid and Web Apps with AWS Mobile CLI
MBL310_Building Hybrid and Web Apps with AWS Mobile CLI
 
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD PracticesDEV326_DevOps Essentials An Introductory Workshop on CICD Practices
DEV326_DevOps Essentials An Introductory Workshop on CICD Practices
 
Deep Dive on AWS Migration Hub - AWS Online Tech Talks
Deep Dive on AWS Migration Hub - AWS Online Tech TalksDeep Dive on AWS Migration Hub - AWS Online Tech Talks
Deep Dive on AWS Migration Hub - AWS Online Tech Talks
 
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...
Leverage AWS Marketplace to Accelerate Production-Ready Workloads - MSC204 - ...
 
MSC204_Leverage AWS Marketplace to accelerate production ready workloads
MSC204_Leverage AWS Marketplace to accelerate production ready workloadsMSC204_Leverage AWS Marketplace to accelerate production ready workloads
MSC204_Leverage AWS Marketplace to accelerate production ready workloads
 
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
Workshop: AWS DevOps Essentials: An Introductory Workshop on CI/CD Best Pract...
 
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
Automate and Scale Configuration Management with AWS OpsWorks - DEV331 - re:I...
 
Getting Started with AWS
Getting Started with AWSGetting Started with AWS
Getting Started with AWS
 
Module 5: AWS Elasticity and Management Tools - AWSome Day Online Conference
Module 5: AWS Elasticity and Management Tools - AWSome Day Online Conference Module 5: AWS Elasticity and Management Tools - AWSome Day Online Conference
Module 5: AWS Elasticity and Management Tools - AWSome Day Online Conference
 

Recently uploaded

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Recently uploaded (20)

What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

ユースケースからみた実装カタログ Developer meetup 20171207 amplify

  • 1. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Professional Services Tsukagoshi Keisuke 2017/12/7 ユースケースから見た実装カタログ 〜AWS逆引きリファレンス〜
  • 2. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 塚越 啓介(Keisuke Tsukagoshi) AWS Professional Services DevOps Consultant 経歴 Web企業にて海外向けサービスの立ち上げやミッションクリティカルな システムの開発をリード。 アジャイル系イベントでの講演、iOS関係の寄稿などの活動を経て 2016年より現職 得意分野 • アプリケーションの開発最適化 (FRP / RX / e.t.c) • アジャイルなど開発プロセス (Scrum / LeSS / SAFe / DDD / e.t.c) • コーチング/ファシリテーション • DevOps
  • 3. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 対象とするお客様 AWSを利用してアプリケーションを作りたい • 実際にどんな設定をしたらよいかわからない • 実際にどんなコードをかいたらよいかわからない よくあるユースケースから具体的な実装パターンを紹介
  • 4. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 紹介するユースケース • ユーザー動向を分析したい • ユーザーを認証させたい • 認認証付きのWeb APIを使いたい SDK を使ってこれらの処理を実装する
  • 5. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ユーザ動向を分析したい Amazon Pinpoint運営者 ユーザ
  • 6. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ユーザ認証をさせたい 認証付きAPIを叩きたい ユーザ cognito Amazon API Gateway token 認証 Amazon EC2 AWS Lambda
  • 7. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. SDKではなくAmplifyとMobile CLIを紹介
  • 8. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amplifyの紹介 フロントエンドおよびモバイル開発者向けの オープンソースのJavaScriptライブラリ React.js / ReactNative に対応 よく利用されるタスクをアプリケーションに簡単に組み込める
  • 9. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amplifyでできること Auth Analytics API Storage Caching e.t.c https://aws.github.io/aws-amplify/packages/aws-amplify-react- native/docs/index.html
  • 10. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amplifyを使った開発の手順 AWSリソースの 設定 IAMの設定 Client SDK の設定 Amplify コーディング MobileHub + Mobile CLIで設定可能
  • 11. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 本日紹介するユースケース • ユーザー動向を分析したい • ユーザーを認証させたい • 認認証付きのWeb APIを使いたい SDK Amplify を使ってこれらの処理を実装する
  • 12. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amplifyを使い始める
  • 13. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSリソースとIAMを設定する AWSリソースの 設定 IAMの設定 Client SDK の設定 Amplify コーディング MobileHub + Mobile CLIで設定可能
  • 14. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AmplifyのProvisioningにMobile Hubを利用
  • 15. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Mobile-Hubでprojectを作成 • Create • Project Nameを入力 • Regionの指定 • App platformをWebに設定 • 完了
  • 16. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Mobile Hubで自動で行われたこと
  • 17. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Mobile HubでProvisioningで何が起こっているか • Cognito Idpoolの作成 • 未認証IAMロールの作成 • Pinpointのプロジェクト作成 • S3bucketの作成 • CloudFrontの設定
  • 18. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AmplifyのClientを設定 AWSリソースの 設定 IAMの設定 Client SDK の設定 Amplify コーディング MobileHub + Mobile CLIで設定可能
  • 19. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amplifyのclientをinstall $ npm install --save aws-amplify $ npm install --save aws-amplify-react
  • 20. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. App.jsにconfigure処理を追加 import Amplify from 'aws-amplify' import aws_exports from './aws-exports’ Amplify.configure(aws_exports); これでAmplifyを使う準備は完了
  • 21. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Clientの設定を自分で書くことも可能
  • 22. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. mobile-cliを使って生成することも可能 $ npm install -g awsmobile-cli $ awsmobile init de***2c*-***-46f4-***-44e**fbf
  • 23. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amplifyを使ってコーディング AWSリソースの 設定 IAMの設定 Client SDK の設定 Amplify コーディング MobileHub + Mobile CLIで設定可能
  • 24. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Amplifyを使ってコーディング
  • 25. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. ユーザー動向を分析したい
  • 26. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. PinpointでAnalytics • Eventを記録 • AttributeをつけてEventを記録 • メトリクスをつけてEentを記録 • などなど ■reference https://aws.github.io/aws-amplify/packages/aws-amplify-react- native/docs/AnalyticsClass.html
  • 27. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Analyticsの手順 Pinpointの設定 IAMの設定 aws- exports.js の更新 Analyticsの コーディング MobileHub で設定済
  • 28. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWSリソースの設定 Mobile HubのProvisioningで Analyticsは設定済
  • 29. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AnalyticsのメソッドでEventを記録 import { Analytics } from 'aws-amplify'; … //Eventの記録 Analytics.record(’todoAppVisit'); //Attribute付きEventの記録 Analytics.record(’todoAppVisit', { age: ''}); //メトリクス付きのEvent記録 Analytics.record('albumVisit', {}, { minutesListened: 30 });
  • 30. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. PinpointのAnalyticsに反映
  • 31. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 認証させたい
  • 32. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cognito User PoolでAuth • APIでAuth • withAuthenticator HOC • React componentでauth • 独自UIの作成 • e.t.c https://aws.github.io/aws-amplify/packages/aws-amplify-react- native/docs/AuthClass.html
  • 33. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 認証の手順 UserPoolの設定 IAMの設定 aws- exports.js の更新 Authのコー ディング MobileHub & mobile-cliで自動で実施
  • 34. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Mobile Hubから User Sign-inを選択
  • 35. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. UserPoolを選択
  • 36. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. aws-exports.jsを更新 $ awsmobile pull
  • 37. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. user_poolsの設定が自動で生成 aws_sign_in_enabled : 'enable', aws_user_pools : 'enable', aws_user_pools_id : 'us-east-1_Ru****iFm', aws_user_pools_mfa_type : 'OFF', aws_user_pools_web_client_id : '1mk0****sci9emo8li****u5c',
  • 38. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Sign In import { Auth } from 'aws-amplify'; Auth.signIn(username, password) .then(user => console.log(user)) .catch(err => console.log(err)); Auth.confirmSignIn(user, code) .then(data => console.log(data)) .catch(err => console.log(err));
  • 39. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Sign Up import { Auth } from 'aws-amplify'; Auth.signUp(username, password, email, phone) .then(data => console.log(data)) .catch(err => console.log(err)); Auth.confirmSignUp(username, code) .then(data => console.log(data)) .catch(err => console.log(err));
  • 40. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Sign Out import { Auth } from 'aws-amplify'; Auth.signOut() .then(data => console.log(data)) .catch(err => console.log(err));
  • 41. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Forgot Password import { Auth } from 'aws-amplify'; Auth.forgotPassword(username) .then(data => console.log(data)) .catch(err => console.log(err)); Auth.forgotPasswordSubmit(username, code, new_password) .then(data => console.log(data)) .catch(err => console.log(err));
  • 42. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Authenticator React Component import { Authenticator } from 'aws-amplify-react'; class App extends Component { render() { if (this.props.authState !== 'signedIn') { return null; } ・・・ } } class AppWithAuth extends Component { render(){ return ( <div> <Authenticator> <App /> </Authenticator> </div> ); } } export default AppWithAuth;
  • 43. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Authenticator React Component
  • 44. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Authenticator React ComponentにThemeを設定 $ npm install --save a-theme-react ただのCSSセットなので、Themeを作ることも簡単にできる
  • 45. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Authenticator React ComponentにThemeを設定 import { Authenticator } from 'aws-amplify-react'; import { Bootstrap } from 'a-theme-react'; class AppWithAuth extends Component { render(){ return ( <div> <Authenticator theme={Bootstrap}> <App /> </Authenticator> </div> ); } } export default AppWithAuth;
  • 46. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 認証コンポーネントのカスタマイズ https://github.com/aws/aws- amplify/blob/master/media/authentication_guide.md#ui-theme
  • 47. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 認証付きのWeb APIを叩きたい
  • 48. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. API • GET • POST • PUT • DELETE • HEAD 認証後にSigV4でAPIを簡単に叩く https://aws.github.io/aws-amplify/packages/aws-amplify-react- native/docs/API.html
  • 49. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. APIを作る&叩く手順 API Gatewayの設 定 IAMの設定 aws- exports.js の更新 Analyticsの コーディング MobileHub & mobile-cliで自動で実施
  • 50. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. AWS_IAM認証有のAPIを作成 CORSの設定も
  • 51. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cloud Logicを追加
  • 52. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 今作成したMock APIをimport
  • 53. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 今作成したMock APIをimport
  • 54. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. aws-exports.jsを更新 $ awsmobile pull
  • 55. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Cloud_logicの設定が自動で生成 aws_cloud_logic : 'enable', aws_cloud_logic_custom : '[{ "id":"mplolrkgmj", "name":"todo", "description":"", "endpoint":"https://mpl***.execute-api.us-east-1.amazonaws.com/Dev", "region":"us-east-1", "paths":["/todo"] }]',
  • 56. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. APIを叩く import {API } from 'aws-amplify'; let apiName = 'todo'; let path = '/todo'; API.get(apiName, path).then(response => { console.log(response); }).catch( err => { console.log(err); });
  • 57. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. 認証済のレスポンス 未認証時のレスポンス 認証時のレスポンス
  • 58. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Demo
  • 59. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. まとめ 今回、3つのユースケースの実装方法を紹介した • Analyticsにデータを送信 • ユーザー認証 DEMO • 認証APIを叩く Amplify + Mobile CLIによってAWSを使った開発を簡単にはじ められるようになりました
  • 60. © 2017, Amazon Web Services, Inc. or its Affiliates. All rights reserved. Happy coding with Amplify!