Azure基本

Azure App ServiceとAzure Functionsの両方をSTSで起動してみた

これまでこのブログで、Azure Functionsの起動を「mvn azure-functions:run」コマンドで行ってきたが、App Serviceと同様に、Azure FunctionsもSTS(Spring Tool Suite)で起動することもできる。

今回は、Azure App ServiceとAzure Functionsの両方をSTSで起動してみたので、その手順を共有する。

前提条件

下記記事の実装が完了していること。

サンプルプログラムの実行結果_1
Azure Blob Storageのコンテナ内にフォルダを作ってファイルアップロード/ダウンロードをしてみたこれまでこのブログで、Azure Blob Storageのコンテナ内に、直接ファイルをアップロード/ダウンロードするプログラムを作成し...

作成したサンプルプログラム(App Service側)の内容

作成したサンプルプログラム(App Service側)の構成は以下の通り。
サンプルプログラムの構成(AppService側)
なお、上記の赤枠は、前提条件のプログラムから変更したプログラムである。

application.propertiesの内容は以下の通りで、demoAzureFunc.urlBaseの値を「http://localhost:8085/」と変更している。なお、今回は、Azure FunctionsをSTSで起動した場合に、ポート番号:8085で起動するようにするため、このような設定にしている。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/azure/tree/master/azure-app-service-functions-sts



「DesignEvo」は多くのテンプレートからロゴを簡単に作成できるツールだった多くのテンプレートが用意されていてロゴを簡単に作成できるツールの一つに、「DesignEvo」があります。今回は、「DesignEvo」...

作成したサンプルプログラム(Azure Functions側)の内容

作成したサンプルプログラム(Azure Functions側)の構成は以下の通り。
サンプルプログラムの構成(AzureFunctions側)
なお、上記の赤枠は、前提条件のプログラムから変更したプログラムである。また、サンプルプログラム(共通クラス)については修正していない。

application.propertiesの内容は以下の通りで、Azure FunctionsをSTSで起動した場合に、ポート番号:8085で起動できるようにしている。

その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/azure/tree/master/azure-app-service-functions-sts



作成したサンプルプログラムの実行結果

作成したサンプルプログラムをローカル環境で実行した結果は、以下の通り。

1) Azure Functionsのメインクラス「DemoAzureFunction.java」を選択し右クリックし、「実行」メニューから「Spring Boot アプリケーション」を選択する。
サンプルプログラムの実行結果_1

2) 以下のように、コンソール上でAzure Functionsが、ポート番号:8085で起動したことが確認できる。
サンプルプログラムの実行結果_2

3) Azure App Serviceのメインクラス「DemoAzureAppApplication.java」を選択し右クリックし、「実行」メニューから「Spring Boot アプリケーション」を選択する。
サンプルプログラムの実行結果_3

4) 以下のように、コンソール上でAzure App Serviceが、ポート番号:8084で起動したことが確認できる。
サンプルプログラムの実行結果_4

5) コンソールの切り替えは、以下赤枠の「選択されたコンソールの表示」メニューにより行える。
サンプルプログラムの実行結果_5

6) 「選択されたコンソールの表示」メニューで「demoAzureFunc」を選択すると、以下のように、コンソールの表示が切り替わることが確認できる。
サンプルプログラムの実行結果_6_1

サンプルプログラムの実行結果_6_2

7) 「http:// (ホスト名):(App Serviceのポート番号)」とアクセスすると、以下の初期表示画面が表示されることが確認できる。
サンプルプログラムの実行結果_7

8) その他のファイルアップロード・ファイルダウンロードの動作は、以下の記事の「作成したサンプルプログラムの実行結果」と同じになる。

サンプルプログラムの実行結果_1
Azure Blob Storageのコンテナ内にフォルダを作ってファイルアップロード/ダウンロードをしてみたこれまでこのブログで、Azure Blob Storageのコンテナ内に、直接ファイルをアップロード/ダウンロードするプログラムを作成し...

9) 起動したアプリケーションの終了は、Azure Functions、App Serviceの両方について実施する。
サンプルプログラムの実行結果_9_1

サンプルプログラムの実行結果_9_2 サンプルプログラムの実行結果_9_3

要点まとめ

  • Azure App ServiceとAzure Functionsで別々のポート番号を指定することで、Azure App ServiceとAzure Functionsの両方をSTSで起動することができる。