diadia

興味があることをやってみる。自分のメモを残しておきます。

Amplifyを使ってみた|なぐり書きメモ

AWS Amplifyドキュメント:

https://docs.aws.amazon.com/amplify/index.html

AWS amplify

AWS Amplify enables developers to develop and deploy cloud-powered mobile and web apps. The Amplify Framework is a comprehensive set of SDKs, libraries, tools, and documentation for client app development. The Amplify Console provides a continuous delivery and hosting service for web applications.

AWS Amplifyはクラウドを使ったモバイルアプリやウェブアプリの開発や、デプロイする開発者に手助けする。

ホスティングサービスがあって簡単にデプロイできる。 しかもCI、CD機能があるのでpushするだけで自動で最新のバージョンをデプロイできるようになる。 Amplify Consoleがそれらの機能を担っている。

githubなどリポジトリの連携が必要。 ものによってはroleが必要。

ホスティングだけを試したいならこの記事がわかりやすかった。

【Amplify入門】ReactもVue.jsも使わないシンプルな静的サイトを構築する | DevelopersIO

今の所のイメージ

ユーザーが触るフロントエンド側のアプリケーション(単純なhtmlのみのサイトまたはjavascriptも構成するサイト、vue, reactなどのjavascriptフレームワークを使用したwebアプリケーション、android,ios,flutterなどのモバイルアプリケーション)のデプロイ機能を担う(Amplify console)。

フロントエンドに対し、バックエンドは柔軟に決めることができそう。 amplifyでバックエンド機能を提供する他(amplify CLI)、開発者がバックエンドを作成しフロントと連携できる。 amplifyでバックエンドを作る場合は、amplify CLIを使い、AWSのリソースを作成し、バックエンド機能を作っていく。amplify CLIを使うと、複雑なAWSのマネージド・サービスをコンソールの質問形式に答えるだけで希望するサービスが使える利便性がある。

構成要素

  • Amplify CLI
  • Amplify Framework
  • Amplify Console

Amplify CLI

ドキュメント:https://docs.amplify.aws/cli/auth/overview

The Amplify Command Line Interface (CLI) is a unified toolchain to create AWS cloud services for your app. Let’s go ahead and install the Amplify CLI.

Amplify CLIのインストール

npm install -g @aws-amplify/cli

Get started - Installation - Amplify Docs

amplify statusコマンドについて このコマンドはカレントディレクトリに依存しているらしく、カレントディレクトリがどこであるかでコマンド結果が変わる。 amplifyディレクトリを含むカレントディレクトリで有効に機能することは確認している。

Amplify CLIを使うにはnpmでインストールする。そして amplify add authをやると認証機能を追加することができる。

Configure the Amplify CLI

amplify configure

ローカルにAmplifyCLIをセットアップするにあたり、AWSアカウントとローカルのAmplifyCLIをつなげる調整をする。

To set up the Amplify CLI on your local machine, you have to configure it to connect to your AWS account.

https://docs.amplify.aws/cli/start/install#configure-the-amplify-cli

amplify のバックエンドを削除する場合にはどのようにすればよいか? Amplify CLIでやるのか、Amplify コンソールを使うのか

ソーシャル認証の実装(amplify CLI

https://docs.amplify.aws/lib/auth/social/q/platform/js

フロントエンドの実装(vuejs)

amplify delete

amplify delete

//結果
? Are you sure you want to continue? This CANNOT be undone. (This would delete all the environments 
of the project from the cloud and wipe out all the local files created by Amplify CLI) Yes
⠋ Deleting resources from the cloud. This may take a few minutes...
Deleting env:dev

amplify deleteコマンドはすべての環境とamplify CLIによって作られたローカルファイルの削除をやってくれるようだ。

smplify variables

Environment variables are key-value pairs that are available at build time. These configurations can be anything, including the following: Database connection details Third-party API keys Different customization parameters Secrets

ビルドするときに使うkey-valueのペアのことを環境変数といい、これはamplify consoleで設定する。

環境変数の設定

環境変数はamplify consoleで設定する https://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/environment-variables.html#setting-env-vars

環境変数の利用

環境変数の利用はamplify consoleで設定する

https://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/environment-variables.html#access-env-vars

ソーシャルサインインの設定方法

googleの認証を通したいときにエラーになてしまったのでいかが必要だとわかった。

https://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/environment-variables.html#creating-a-new-backend-environment-with-authentication-parameters

変数はこちらから選ぶ https://docs.aws.amazon.com/ja_jp/amplify/latest/userguide/environment-variables.html#amplify-console-environment-variables

amplify authの機能でログイン

ログインが成功するとローカルストレージにいろんな項目が保存される事がわかった。

UserAttributes: [{Name: "sub", Value: "d8b66bc8-6fb8-4107-bbe6-bf856484b59b"}, {Name: "email_verified", Value: "true"},…]
0: {Name: "sub", Value: "d8b66bc8-6fb8-4107-bbe6-bf856484b59b"}
1: {Name: "email_verified", Value: "true"}
2: {Name: "phone_number_verified", Value: "false"}
3: {Name: "phone_number", Value: "+81090********"}
4: {Name: "email", Value: "******@gmail.com"}
Username: "d8b66bc8-6fb8-4107-bbe6-bf856484b59b