[アップデート] amplify pull サポートされました!

こんにちはー! 明日は人生初めにアメリカに向かいます!こんな私もアメリカを行く事ができるなんて。。! しかも会社から経費をもらって飛行機やホテル、あと、一番大事な Re:Invent のコンファレンス登録費まで全部会社からもらいます!! そうですね。アウトプットしっかりしないとですね! そういう事で、Re:Invent に行く前に私が過ごしちゃっていたアップデートがあるかを確認してみました。 確認してみたところ、amplifyのアップデート!しかも複数のプロジェクトからバックエンド作業が超楽になる [amplify pull が新しくサポートされました!というお知らせ](https://medium.com/@dabit3/amplify-console-and-cli-now-work-together-five-new-features-6a6ee1d45b1c)が3日前ありました。 AppSync と Amplify が大好きな私がどうやってこのアップデートのお知らせを当日にすぐ確認できなかったかは悔しいですが、とにかく早速試してみました。
2019.11.30

こんにちはー!コンサル部のテウです。

明日は人生初めにアメリカに向かいます!こんな私もアメリカを行く事ができるなんて。。! しかも会社から経費をもらって飛行機やホテル、あと、一番大事な Re:Invent のコンファレンス登録費まで全部会社からもらいます!!

そうですね。アウトプットしっかりしないとですね! そういう事で、Re:Invent に行く前に私が過ごしちゃっていたアップデートがあるかを確認してみました。

確認してみたところ、amplifyのアップデート!しかも複数のプロジェクトからバックエンド作業が超楽になる amplify pull が新しくサポートされました!というお知らせが3日前ありました。

AppSync と Amplify が大好きな私がどうやってこのアップデートのお知らせを当日にすぐ確認できなかったかは悔しいですが、とにかく早速試してみました。

目次

やってみた

Amplify CLI バージョンアップ

下記のコマンドを入力して Amplify CLI をアップデートします。

$ npm install -g @aws-amplify/cli

もし権限の問題が発生した場合は、

$ sudo npm install -g @aws-amplify/cli

を実行すれば解決されます。

Angularプロジェクトの生成

早速新しいAngularプロジェクトを作りました。

$ ng new angular-admin-amplify
$ cd angular-admin-amplify
$ ng serve

最近(というか、最近はAWSにハマっていて、フロント側のアップデートには追いつけていないですが)新しく変わったAngularのランディングページはめちゃ気に入りますw

angular-first-landing-page

Ctrl + C で ng serve を停止して、amplify init を入力します。

$ amplify init

amplify-init

あと、Auth と Api を追加してみます。(二つ目の他のフロントプロジェクトからこのAmplifyのバックエンドを pull してみます。

$ amplify add auth

amplify-add-auth

$ amplify add api

amplify-add-api

Amplify関連コードが追加されるので、関連ライブラリーをインストールします。

$ npm install aws-amplify aws-amplify-angular --save

次は amplify push ですね! (amplify push と amplify publish の違いは、amplify push はバックエンドのリソース設定、publish は バックエンドとフロントエンドを両方含めたデプロイとなります。今回は amplify pull を試したいだけなので、publish は行いませんでした。)

$ amplify push

amplify-push

はい、次は Amplify Console に接続して、プロジェクトを登録します。

$ amplify console

下のような画面が出ます。

amplify-console

angularadminamplify のところをクリックして、Backend environments タブをクリックすると、amplify pull コマンドを確認できます。

amplify-console-2

このコマンドは二つ目のAmplifyプロジェクト、Ionic アプリから実行させていただきます。

Ionic プロジェクトの生成

今回は Ionic プロジェクトを生成します。この Ionic プロジェクトからは先ほどの Angular プロジェクトで設定した amplify のバックエンドを amplify pull にて連携させていただきます。

Angularプロジェクトの root directory の上位 directory で ionic プロジェクトを生成します。

$ ionic start ionic-app-amplify

ionic-start

あと、プロジェクトを実行してみました。

$ cd ionic-app-amplify
$ ionic serve

ionic-serve

amplify pull

はい、amplify pull を実行する前に amplify status を実行すると、下記のようなエラーが、当然出てきます。

$ amplify status

amplify-status-error

次はとうとう amplify pull ですね!先ほど確認した amplify pull コマンドを実行します。

$ amplify pull

amplify-pull

ls コマンドにて確認してみると amplify フォルダーが生成されました!はい、pull ができました。

ls

amplify status にて確認してみても、連携されていますよね。

amplify-status-success

何が嬉しい?

そうですね。前は Amplify プロジェクトを複数のプロジェクトに共有するためには直接にamplifyフォルダーを copy & paste するしかなかったのですが、今回のアップデートで、複数のプロジェクトで同じAmplifyプロジェクトを共有することが楽になりました!

あと、バックエンドのアップデートがあった時も、前はこのアップデート分を github 等の連携を介して更新したのですが、今回の amplify pull コマンドで、これも自動でアップデートされます。

最後に

個人的に AppSync と Amplify のファンであり、今回のアップデートはすごく嬉しいです。あと、今回の記事のアップデートの内容では外していますが、Amplify Console のフロントエンド側の Code Pipeline みたいな機能も追加されていて、まさに Amplify一つで開発が出来る日も近くなった気がします。Re:Invent 現地で発表される機能もあるようなので、本当に楽しみですね!