なんとかするから、なんとかなる

エンジニア関係のことを書きます

Mac とvscodeでAzure Functionsを作りたかった

はじめに

MacvscodeC#で快適に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を聞かれるので選択する。

今回はC#を選択するとcsxファイルが追加されました。

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 で開発した方が快適そうでした。

参考URL

docs.microsoft.com