最近勉強中のJavaをAzure Functionsで動かしてみました。
できるだけVS Code拡張機能のMaven for Javaを使っています。
とりあえずサンプルが動くところまで。
Azure FunctionsのJavaは現時点ではまだプレビューですね。
動作環境
- Windows 7
- Visual Studio Code 1.24.1
- 拡張機能:Java Extension Pack 0.3.0
- JDK 1.8
- Apache Maven 3.5.3
- Azure CLI 2.0.32
- .Net Core SDK 2.1
- Node.js 7.2.1
- npm 4.0.5
- Azure Functions Core Tools 2.0.1-beta.35
事前インストール
- Java Developer Kit バージョン 8
- Apache Maven バージョン 3.0 以降
- Azure CLI
- .Net Core SDK 2.1
- Node.js
- Azure Functions Core Tools
Mavenプロジェクト作成
-
VS Codeで「Ctrl + Shift + P」を押しコマンドパレットを表示します。
-
コマンドパレットに[functions]と入力すると、[azure-functions-archetype]が表示されるので選択します。
-
VS Codeのターミナルウィンドウで、以下内容を聞かれるのでそれぞれ入力していきます。
Define value for property 'groupId': [任意のGroupIDを入力する]
Define value for property 'artifactId': [任意のArtifactIDを入力する]
Define value for property 'version' 1.0-SNAPSHOT: : [そのままEnter]
Define value for property 'package' testgrp: : [そのままEnter]
Define value for property 'appName' testid-yyyymmddxxxxxxx: : [任意のアプリケーション名を入力する。これがFunction Appの名称になります]
Define value for property 'appRegion' westus: : [japaneast]
Define value for property 'resourceGroup' java-functions-group: : [任意のリソースグループ名]
確認メッセージが出るのでYを押す
-
先程指定したフォルダをVS Codeで開きます。
ローカル実行
http://localhost:7071/api/HttpTrigger-Java?name=Azure
Functionsデプロイ
-
ではFunctionsにデプロイしてみます。[Ctrl + Shift + P]でコマンドパレットを開き、[Maven: Execute commands]を選択します。
-
ではテストしてみましょう。ブラウザで以下URLで実行してみます。[Your AppName]には、functinos作成時に指定した値を入力してください。
https://[Your AppName].azurewebsites.net/api/HttpTrigger-Java?name=Azure
まとめ
とりあえずサンプルプログラムを動作させてみただけですが、Functions楽しい!
スワップとかCI/CDとか運用どうするのとか気になること山盛りなのでこれから徐々に深掘りしていきたいと思います。