Visual Studio Codeを使ってAzure Functionsをデバッグ実行するまで(C#)
目次
azure-functions-core-toolsのインストールコマンド
brew tap azure/functions
brew install azure-functions-core-tools@4
# 既に2.x または 3.x がインストールされているマシンでアップグレードする場合。
brew link --overwrite azure-functions-core-tools@4
プロジェクトを作成する
# 任意の場所でworkingディレクトリを作成しておく
cd /Users/takumi/Documents/azure-functions
mkdir firstSample
# プロジェクトを作成
func init --worker-runtime dotnet
visual studio codeで開くと以下が出てくるのでYes押す
Httpトリガーの関数を作成する
func new --name HttpHelloWorld --language c# --template httptrigger
zsh: no matches found: c#
エラーがでました。ざっくり原因は、zshでは#が
特別な意味を持っているためとのこと。
こちらに書いてました。
回避策として、c#をシングルクォートで囲みます。
func new --name HttpHelloWorld --language 'c#' --template httptrigger
うまくいきました.
動作確認
ソースコードを見ていると、アセンブリー参照がないとエラーが出ていましたが、func start
実行すると依存関係を復元してくれエラーが消えました。
以下にアクセス
http://localhost:7071/api/HttpHelloWorld
ソースを読めばわかりますが、クエリーストリングかbody部にname属性を与えれば違う結果が返ってくるようです。
http://localhost:7071/api/HttpHelloWorld?name=”test”
アセンブリー参照の解決方法
以下のような警告が出ています。
以下実行して参照を追加することができます。
dotnet add package Microsoft.Azure.WebJobs.Extensions.Storage
デバッグする
HttpHelloWorld.csでF5を押すとブレークポイントで止まりました。
念の為launch.jsonを載せておく。
{
"version": "0.2.0",
"configurations": [
{
"name": "Attach to .NET Functions",
"type": "coreclr",
"request": "attach",
"processId": "${command:azureFunctions.pickProcess}"
}
]
}
ディスカッション
コメント一覧
まだ、コメントがありません