Mac とvscodeでAzure Functionsを作りたかった
はじめに
Macとvscode、C#で快適にFunctionsが作れないかを試した時のメモ。
結論
現在のところ、C#でFunctionsを作るなら.csxで作るしかなさそうです。NugetなどのPackage Managerを使って.csでFunctionsを作れなそうです。
MacでFunctionsを作るならJavaScriptが良さそう。 今後のエンハンスに期待します。
Azure Function Toolをインストール
以下のコマンドでhomebrewからツールをインストールできます。
brew tap azure/functions brew install azure-functions-core-tools
Functionsを作成する
コマンドラインから次のコマンドを実行
func init <YOUR PROJECT NAME> func new
あとは、言語やTriggerを聞かれるので選択する。
Packageを追加する
Packageは次のコマンドで追加できました。
nuget install SOMEPACKAGE
.csxに外部ライブラリを追加してを読み込む
ここがかなり苦戦しました。 これ以外の方法があれば教えて欲しいです。
.csxファイルにDLLファイルへの参照を追加します。
#r “SOMEPACKAGE”
ではダメでした。
.csxからDLLへの相対パスをきちんと指定する必要があります。
#r “../SOMEPACKAGE FOLDER/bin/SOMEPACKAGE.dll”
スクリプトだからちゃんと指定しないといけないということなのだろうか?
あまり洗練されてない気がします。
追加したDLを使うためには
using SOMEPACKAGE ;
おまけ:実行してみる
おまけで実行してみる場合は次のコマンドを使う
func host start
終わりに
本当はAzure Function ToolからDeployまでやりたかったですが、残念ながらここで断念(心が折れた)
まだまだVisual Studio で開発した方が快適そうでした。