Azure Functions Core Tools で起動すると何かおかしい

最近Azure Functions Core Toolsの挙動が何かおかしかったので見てみました。症状としては…

  • Windows上でfuncコマンドで起動した後、止めてもポートが使われたままになってる
  • コンソール出力がモノクロ(色がついてない)
  • Visual Studioからのデバッグ実行は問題ない

みたいな感じです。

結論

In-ProcだとIn-Proc用のFunctions Core Toolsが使われて、それが残ってしまう。
なので最初からIn-Proc用のfuncコマンドを使えばよい。(通常 C:\Program Files\Microsoft\Azure Functions Core Tools\in-proc8 フォルダなどにある func.exe)
PowerShellなら Set-Aliasでfunc-inprocとか登録すると楽かも。

続きを読む

シークレットを使わずにテナント間でアクセスする

昨年末ぐらいに Microsoft EntraのFederated Identity Credentials(以下FIC)としてのManaged Identities(以下MID)がPreviewで使えるようになりました。

シークレットや証明書などを使わずにMIDを使ってEntraテナントで保護されたAzureやMicrosoft Graph APIなどのリソースにアクセスすることができます。

今回はこの仕組みを使ってEntraテナント間でMIDを使ってアクセスしたいと思います。

続きを読む

Azure Functions Core Tools で start できない

.NETなAzure Functionsのプロジェクトで func start とかAzure Functions Core Toolsを使った実行をしようとすると以下のようなエラーになる場合があります。

Can’t determine Project to build. Expected 1 .csproj or .fsproj but found 2

なんのこっちゃ…という感じですが。なんだか .csproj などのプロジェクトファイルが悪そうですが、func start実行時のビルドの問題なので obj フォルダーを削除してあげればOKです。

※ func経由で .NET のビルドした時の文字化けはいつ直るんでしょうね。。。

Azure Functions Core Toolsで指定されたファイルが見つからないエラー

Azure Functions Core ToolsでFunctionsを使って実行後、HTTPトリガーを呼び出すと以下のエラーが発生します。

An unhandled host error has occurred.
System.Private.CoreLib: Exception has been thrown by the target of an invocation. Microsoft.AspNetCore.Authentication.JwtBearer: Could not load file or assembly 'System.IdentityModel.Tokens.Jwt, Version=6.35.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. 指定されたファイルが見つかりません。.
続きを読む