これまでこのブログで、Azure Functionsの起動を「mvn azure-functions:run」コマンドで行ってきたが、App Serviceと同様に、Azure FunctionsもSTS(Spring Tool Suite)で起動することもできる。
今回は、Azure App ServiceとAzure Functionsの両方をSTSで起動してみたので、その手順を共有する。
前提条件
下記記事の実装が完了していること。
作成したサンプルプログラム(App Service側)の内容
作成したサンプルプログラム(App Service側)の構成は以下の通り。
なお、上記の赤枠は、前提条件のプログラムから変更したプログラムである。
application.propertiesの内容は以下の通りで、demoAzureFunc.urlBaseの値を「http://localhost:8085/」と変更している。なお、今回は、Azure FunctionsをSTSで起動した場合に、ポート番号:8085で起動するようにするため、このような設定にしている。
server.port = 8084 #demoAzureFunc.urlBase = http://localhost:7071/api/ demoAzureFunc.urlBase = http://localhost:8085/ #demoAzureFunc.urlBase = https://azurefuncdemoapp.azurewebsites.net/api/
その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/azure/tree/master/azure-app-service-functions-sts
作成したサンプルプログラム(Azure Functions側)の内容
作成したサンプルプログラム(Azure Functions側)の構成は以下の通り。
なお、上記の赤枠は、前提条件のプログラムから変更したプログラムである。また、サンプルプログラム(共通クラス)については修正していない。
application.propertiesの内容は以下の通りで、Azure FunctionsをSTSで起動した場合に、ポート番号:8085で起動できるようにしている。
# Azure Storageの接続先 azure.storage.accountName=azureblobpurinit azure.storage.accessKey=(Azure Blob Storageのアクセスキー) azure.storage.containerName=blobcontainer # Azure FunctionsのSpring Bootを起動するポート番号を指定 server.port = 8085
その他のソースコード内容は、以下のサイトを参照のこと。
https://github.com/purin-it/azure/tree/master/azure-app-service-functions-sts
作成したサンプルプログラムの実行結果
作成したサンプルプログラムをローカル環境で実行した結果は、以下の通り。
1) Azure Functionsのメインクラス「DemoAzureFunction.java」を選択し右クリックし、「実行」メニューから「Spring Boot アプリケーション」を選択する。
2) 以下のように、コンソール上でAzure Functionsが、ポート番号:8085で起動したことが確認できる。
3) Azure App Serviceのメインクラス「DemoAzureAppApplication.java」を選択し右クリックし、「実行」メニューから「Spring Boot アプリケーション」を選択する。
4) 以下のように、コンソール上でAzure App Serviceが、ポート番号:8084で起動したことが確認できる。
5) コンソールの切り替えは、以下赤枠の「選択されたコンソールの表示」メニューにより行える。
6) 「選択されたコンソールの表示」メニューで「demoAzureFunc」を選択すると、以下のように、コンソールの表示が切り替わることが確認できる。
7) 「http:// (ホスト名):(App Serviceのポート番号)」とアクセスすると、以下の初期表示画面が表示されることが確認できる。
8) その他のファイルアップロード・ファイルダウンロードの動作は、以下の記事の「作成したサンプルプログラムの実行結果」と同じになる。
9) 起動したアプリケーションの終了は、Azure Functions、App Serviceの両方について実施する。
要点まとめ
- Azure App ServiceとAzure Functionsで別々のポート番号を指定することで、Azure App ServiceとAzure Functionsの両方をSTSで起動することができる。