在 2 次成功將 azure 函式應用本地升級到 dotnet 6 后,升級部署在 Azure 中的 PR 時都失敗并顯示相同的錯誤。
vaultUri ArgumentException
at Microsoft.Azure.WebJobs.Script.WebHost.KeyVaultSecretsRepository..ctor (Microsoft.Azure.WebJobs.Script.WebHost, Version=4.0.0.0, Culture=neutral, PublicKeyToken=null: D:\a\1\s\src\WebJobs.Script.WebHost\Security\KeyManagement\KeyVaultSecretsRepository.cs:38)
.net 版本從核心 3 到 6(非隔離),功能 v3 到 v4。我們在 Azure Devops 中使用 ARM 模板進行部署,除了提升 dotnet、函式和 NuGets 的版本并修復一些代碼警告之外,沒有其他變化。
查看.net 源代碼失敗
Uri keyVaultUri = string.IsNullOrEmpty(vaultUri) ? throw new ArgumentException(nameof(vaultUri)) : new Uri(vaultUri);
uj5u.com熱心網友回復:
簡單地通過微軟的源代碼Microsoft.Azure.WebJobs.Script.WebHost.DefaultSecretManagerProvider我們可以發現它正在創建一個新的實體KeyVaultSecretsRepository并將環境名稱下的 valtUri 傳遞給它public const string AzureWebJobsSecretStorageKeyVaultUri = "AzureWebJobsSecretStorageKeyVaultUri";
您可以將帶有 Vault URI 的“AzureWebJobsSecretStorageKeyVaultUri”配置密鑰添加到您的應用程式配置中,這將使其作業。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/397979.html
標籤:。网 天蓝色 天蓝色函数 azure-keyvault
