Amplify Admin UI超入門|ミツエーリンクスTSD
by
ミツエーリンクスTSD
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
Amplify Admin UI超入門 株式会社ミツエーリンクスTSD 株式会社ミツエーリンクスTSD
Slide 2
Slide 2 text
Jamstackアーキテクチャでは、Webサイトの関係者それぞ れに適切なコンテンツの使い方を提供できる https://www.gatsbyjs.com/blog/2018-10-04-journey- to-the-content-mesh
Slide 3
Slide 3 text
管理画面を用意するのが大変 できれば自前で開発したくない...。
Slide 4
Slide 4 text
つらい と思ったそこのあなた
Slide 5
Slide 5 text
AWS Amplifyでは
Slide 6
Slide 6 text
管理画面を瞬殺で つくれます!!
Slide 7
Slide 7 text
AWS Amplify Admim UI
Slide 8
Slide 8 text
Amplify Admin UIとは (※以下Admin UI) re:Invent 2020でリリースされた管理画面サービス CLIを使わなければできなかったAmplifyを使ったバック エンドリソースの作成が、かんたんにできるようになっ た
Slide 9
Slide 9 text
Admin UIの基本機能 (2021年10月時点) データモデリング コンテンツ管理 アプリケーションのユーザー・グループ管理
Slide 10
Slide 10 text
データモデリング データモデルを視覚的に定義可能。モデル間のリレーショ ンの設定や、モデルに対して認証ルールを設定できる
Slide 11
Slide 11 text
コンテンツ管理 データを視覚的に追加できる。入力用UIは、定義したデー タ型に適したものが提供される。テキストはMarkdownに 対応。プレビューも可能。
Slide 12
Slide 12 text
ユーザー・グループ管理 コンテンツデータをアプリ上で操作できるユーザーやユー ザーグループを管理できる。
Slide 13
Slide 13 text
Admin UIへのアクセス管理 AWSマネジメントコンソールの「Admin UI management」>「Access Control」からユーザーを追 加。権限はフルアクセスとデータ管理のみの2種。
Slide 14
Slide 14 text
カスタムドメイン 管理画面のドメインをカスタムドメインに変更できる。バ ックエンド環境単位で設定が可能。
Slide 15
Slide 15 text
オウンドメディアを作ってみる! おおまかな流れ: 1. セットアップ 2. Admin UIを有効化する 3. データモデリング 4. コンテンツを追加する 5. アプリケーションに組み込む
Slide 16
Slide 16 text
1. セットアップ 作成したアプリケーションにAmplifyを紐付け、バックエ ンド環境をインストールする。 今回はReactアプリケーションの構築を想定。 # Amplify CLIのインストール npm install -g @aws-amplify/cli # AWSアカウントの紐付け amplify configure # Amplifyバックエンド環境を初期化 amplify init
Slide 17
Slide 17 text
2. Admin UIを有効化する AWSマネジメントコンソールの「Admin UI management」>「Enable admin UI (All environments)」からAdmin UIを有効化
Slide 18
Slide 18 text
3. データモデリング Admin UIの「Data」の「Add model」を選択
Slide 19
Slide 19 text
モデルを登録 追加したら「Save and Deploy」をクリック
Slide 20
Slide 20 text
4. コンテンツを追加 「Create article」からコンテンツを追加
Slide 21
Slide 21 text
コンテンツを編集 編集が終わったら「Save Article」をクリック
Slide 22
Slide 22 text
5. アプリケーションに組み込む ローカル環境に、バックエンド環境の更新を同期 # Amplify Pull amplify pull --appId --envName feature
Slide 23
Slide 23 text
Amplifyの読み込み // app.tsx import Amplify from '@aws-amplify/core'; import awsConfigure from '../src/aws-exports'; Amplify.configure({ ...awsConfigure, });
Slide 24
Slide 24 text
DataStoreでデータを参照 AmplifyのDataStoreでデータを参照する。 import {syncExpression, Predicates, SortDirection} from '@aws- amplify/datastore'; import {Article} from '../../src/models';
Slide 25
Slide 25 text
フィルタの設定 データを読み込む前に記述する。 // 省略 DataStore.configure({ // データストアの設定。条件でフィルタをしたいときなどに便利 syncExpressions: [ syncExpression(Article, (post) => post?.archived('eq', false)), ] });
Slide 26
Slide 26 text
データの取得 引数にオプションを設定することも可能。 // データ一覧の取得 const posts = await DataStore.query(Article, Predicates.ALL, { page: 0, limit: 5, sort: (s) => s.releaseDate(SortDirection.DESCENDING), });
Slide 27
Slide 27 text
Admin UIのコンソールから参考コードが参照可
Slide 28
Slide 28 text
認証ルールの設定方法 認証ルールはAdmin UI上の「Data modeling」>Modelを 選択すると、右側に表示される
Slide 29
Slide 29 text
記事に誰でもアクセス する権限を設定する 「Authenticated and unauthenticated scopes」では、認 証されていないユーザーへのアクセ スを制限可能 たとえばCRUDのうちReadだけ有効 化することで、閲覧者に対して記事 の作成や削除の権限を与えないよう なルールを設定できる
Slide 30
Slide 30 text
ほかにも 自分の投稿に対して、他のユーザーが操作できないよう に、操作の制限をかける ユーザーグループに対して権限のルールを設定する など、アプリケーションに対して柔軟な認証ルールを Adumin UIから設定可能
Slide 31
Slide 31 text
Admin UIを使うときの注意 「Contents」がずっとローディング状態で止まったまま になる → データベースをデプロイしなおせば治るときが ある 機能ブランチでバックエンドを共有しているときは、 「 amplify pull 」を忘れずに → うっかりバックエンド の設定を上書きしないように!
Slide 32
Slide 32 text
今後の機能追加に期待… ご清聴ありがとうございました!