⛳
.NET Aspire の Azure OpenAI Service インテグレーションで使用する資格情報を変える
.NET Aspire の Azure OpenAI Service インテグレーションで使用する資格情報は、デフォルトでは DefaultAzureCredential
を使用します。
一般的には、これで困ることはありません。ローカルでも動いてクラウドでも動きます。
しかし、特定の環境でのみ使用する資格情報を変えたい場合もあるかもしれません。私の場合は Visual Studio 2022 の資格情報は使ってほしくないという事情があります。
Visual Studio 2022 でデバッグ実行をすると、Visual Studio 2022 の資格情報が使われてしまいます。これを避けるには AddAzureOpenAIClient
メソッドの configureSettings
引数で構成を変更します。
コードとしては以下のようになります。
builder.AddAzureOpenAIClient("openai",
// 使用するクレデンシャルを設定する
configureSettings: settings => settings.Credential = new DefaultAzureCredential(options: new()
{
// Visual Studio 2022 の資格情報を使わない
ExcludeVisualStudioCredential = true,
}));
これでいい感じになりました。その他にも、以下のようにして開発環境だと Azure CLI で認証して本番は DefaultAzureCredential
にするようにすることもできます。
builder.AddAzureOpenAIClient("openai",
// 使用するクレデンシャルを設定する
configureSettings: settings =>
settings.Credential = builder.Environment.IsDevelopment() ?
// 開発環境では Azure CLI で認証する
new AzureCliCredential() :
// 本番環境では Managed Identity で認証する
new DefaultAzureCredential());
ここら辺はお好みで。
Discussion