[アップデート] AWS Application Composer で Undo/Redo 操作、キャンバスエクスポート機能が追加され、ローカル同期の手順が変更になりました

2023.08.06

いわさです。

先日 Application Composer に関する次のアップデートがアナウンスされていました。

いくつかの機能アップデートがまとめてアナウンスされた形ですが、次のようにいくつか気になった点がありました。

実動作や更新されたドキュメントを確認したところ理解出来たので、この記事でまとめて紹介したいと思います。

Redo/Undo はそのまま

Redo/Undo はそのままなのですが、「元に戻す」「やり直す」を Application Composer のキャンバス上で操作出来るようになりました。
以下のアイコンが追加されています。

次のように直近の更新操作を取り消したり、その後に改めて更新し直したりが出来ます。

今まで出来なかったっけ?という感じが少ししますが、SAM の編集に使っていて試行錯誤の際に少し不便だなと感じることがたまにあったので、出来なかったのでしょう。

キャンバス内容を PNG ファイルとしてエクスポート

エクスポート機能は、キャンバス画像の出力機能を指しています。
IaC としてのエクスポートではなくて画像としてのエクスポートですね。

そもそも Application Composer では編集内容が全て SAM テンプレートでエクスポートされるので、Application Composer をエクスポートするというのを聞いて少し混乱しましたが、画像出力のことでしたね。

右上のメニューから「キャンバスをエクスポート」を実行するとすぐにダウンロードが開始されます。出力オプションなどは無いようですね。

以下が出力された画像ファイルです。
PNG 形式で、アーキテクチャーコンポーネント以外の UI は出力されていません。

次のドキュメントでは「デフォルトでは PNG」という記載がありますが、私が確認した限りでは PNG 以外での出力方法は確認出来ませんでした。

ローカル同期させる手順が変わっていた

さて、最後がローカル同期についてです。
これが一番よくわからないアップデートでした。

というのも Application Composer は登場した当初から「ローカル同期」という機能があって、以前は次のように Application Composer プロジェクトを作成したタイミングでローカルディレクトリを指定することで、キャンバスで変更した内容がローカルディレクトリの SAM テンプレート上へ同期的に反映されるという仕組みになっています。

プロジェクト作成時にローカル同期は有効化されない

今回確認してみたところ、プロジェクト作成時のフローがちょっと変わったことに気がつきました。
以前まではプロジェクト作成時に先程のようなダイアログが表示されていたのですが、現在は何も表示されずに空のキャンバスが表示されます。

そして、現在はプロジェクト初期作成時はローカル同期が有効化されていない状態で開始されるようになっています。明示的な有効化が必要です。

メニューからアクティブ化が必要

アクティブ化の方法ですが、これもメニューから操作することが出来ます。
新しく追加された「ローカル同期をアクティブ化」を選択します。

次のようにローカル同期するディレクトリを選択するダイアログが表示されますので、選択してアクティブ化を行います。

アクティブ化されると次のようにメニューから確認することが出来ます。

また、キャンバス上部にも「自動保存」のステータスが表示されていることが確認出来ます。
ローカル同期を有効化した後に、空のキャンバスへ API Gateway コンポーネントを適当に配置してみましょう。

指定したローカルディレクトリにキャンバスの変更内容が反映された SAM テンプレートがすぐに出力されました。
ローカル同期はキャンバスからもローカルからも双方向で同期出来る機能です。ローカルでテンプレートを直接編集してみましょう。

エディターで保存操作を行ったタイミングでキャンバスへローカルで変更した内容が反映されていました。
ローカル同期のアクティブ化方法は変わりましたが、ローカル同期という機能自体の操作感などは特に変更点はないようですね。

さいごに

本日は AWS Application Composer で Undo/Redo 操作、キャンバスエクスポート機能が追加され、ローカル同期の手順など変更点を確認してみました。

大きな変更はないですが、少しキャンバス上での編集操作が便利になっています。
また、プロジェクト作成後のフローが変更になっているようなので、Application Composer をたまに使う方は変更がローカル同期方法周りの変更があったことなどを覚えておいてください。