Amplify的基础知识和使用方法备忘录

基本知识

    • Amplifyとは「AWSの様々なサービスをより簡単に扱えるツール」のこと

 

    • Firebaseに似てる

 

    • AmplifyはWebブラウザ用のコンソールと呼ばれる画面上でも一部操作可能だが、基本的にはCLIで操作する

 

    • CLIの各種コマンドを実行すると裏でCloudFormationが動く仕組みになっている

【重要】 CLIコマンド実行中に途中で強制停止するとトラブルの元になり、最悪の場合元に戻せないので注意
Amplifyにはプロジェクトという概念があり、基本的には一つのプロダクトにつき一つのプロジェクトを作成
プロジェクトを作成すると、リポジトリ内にamplifyという名前のフォルダが生成される

命令行安装

    • ローカルでAWSの認証情報を設定する

 

    • 任意のprofile名を付ける

 

    下記コマンドでCLIインストール
npm install -g @aws-amplify/cli

分类 (Category)

    • Amplifyには「category (カテゴリ)」という概念がある

 

    • api、auth、functionなど様々なカテゴリが用意されている

 

    • 例えばapiカテゴリはGraphQL APIやREST APIを作るときに使う

 

    • GraphQL APIは裏でAppSyncが動き、REST APIではAPI GatewayやLambda等が動く

 

    • 他にも、authはCognito、functionはLambda、hostingはRoute53やS3、storageはS3が動く

 

    • CLIで amplify api add を実行すれば apiを追加でき、 amplify api remove で削除できる

 

    functionなら amplify function add 、authなら amplify auth add といったように実行する

放大文件夹

    • amplifyフォルダ内には、amplify関連の各種設定やLambda関数のソースコードファイル、GraphQLスキーマファイル等が配置される

 

    • amplifyフォルダにはGit管理下のファイルと、そうでないファイルがある

/amplify/.config には基本的な設定ファイルが配置される

/amplify/backend にはカテゴリ毎にフォルダが配置され、それぞれに関連ファイルが配置される

/amplify/team-provider-info.json は環境設定を記述するJSONファイル(詳しくは後述)

环境

    • Amplifyには「env (環境)」という概念がある

 

    • これは例えば本番環境、ステージング環境、開発環境といったように環境を分けたい場合に役立つ

 

    • 環境ごとに全く別々のAWSリソースが構築される

 

    • 例えばLambda関数(function)を作り、2つの環境(stgとdev)を作ると、AWSコンソールを見ると同じソースコードのLambda関数が2つ生成されていることが確認できる

 

    • 同様に、DyanmoDBのテーブルやS3のバケット等も全て環境ごとに生成される

 

    • 現在存在する環境一覧をリスト表示するには amplify env list を実行

 

    • 現在選択中の環境には名前の横にマークが付く

 

    • 環境を切り替えるには amplify env checkout stg のように最後に環境名を指定して実行

 

    • 新たに環境を追加するにはCLIで amplify env add を実行

 

    • 環境の削除は amplify env remove で簡単に実行できるが、再度作り直してもIDが変わってしまい、全く同じ環境ではなくなるので注意

 

    • 環境関連コマンドを実行すると /amplify/team-provider-info.json の内容が書き換わる

 

    前述のJSONファイルに環境が存在しなければ、 amplify env checkout {環境名} コマンドを実行できない

增强代码生成

    • GraphQLスキーマを /amplify/backend/api/{API_NAME}/schema.graphql に書く

amplify codegen というコマンドを実行すると、GraphQLスキーマファイルに基づいたJSファイルが生成される
生成先は /src フォルダ(設定で変更可)
生成されたJSファイルをアプリケーション側でimportすることでGraphQL APIを扱うことができる
基本的にcodegen後のファイルはGit管理下にするべきではない(GraphQLスキーマファイルとの不一致を防ぐため)
生成された以外のGraphQLを書きたい場合は、別途ファイルを作成してimportする

广告
将在 10 秒后关闭
bannerAds