在2次成功升级到dotnet 6的Azure功能应用程序之后,当在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中的ARM模板进行部署,除了弹出dotnet、functions和NuGets的版本并修复一些代码警告之外,没有其他更改。
看看.net源代码的失败
Uri keyVaultUri = string.IsNullOrEmpty(vaultUri) ? throw new ArgumentException(nameof(vaultUri)) : new Uri(vaultUri);发布于 2021-12-30 09:54:41
简单地浏览一下微软的Microsoft.Azure.WebJobs.Script.WebHost.DefaultSecretManagerProvider源代码,我们可以发现它正在创建一个新的KeyVaultSecretsRepository实例,并将环境名称public const string AzureWebJobsSecretStorageKeyVaultUri = "AzureWebJobsSecretStorageKeyVaultUri";下的valtUri传递给它
您可以将“AzureWebJobsSecretStorageKeyVaultUri”配置键与您的Vault URI添加到您的应用程序配置中,这将使其工作。
发布于 2022-02-21 16:55:47
您可能已经将应用程序设置为"AzureWebJobsSecretStorageType“设置为”密钥库“?(将功能键存储在密钥库而不是存储库)
看起来(sinds .net6),您现在必须用密钥库url来添加应用程序设置"AzureWebJobsSecretStorageKeyVaultUri“,而不是用密钥库的名称添加"AzureWebJobsSecretStorageKeyVaultName”。
您可以删除"AzureWebJobsSecretStorageKeyVaultName“设置..。
https://stackoverflow.com/questions/70529485
复制相似问题