gpt4 book ai didi

.net - Azure QueueTriggered Function 应用程序与 keyvault 的点网隔离输入绑定(bind)

转载 作者:行者123 更新时间:2023-12-02 07:32:54 25 4
gpt4 key购买 nike

我正在尝试将我的函数应用程序连接到 keyvault 并获取队列名称和连接 secret 。这与使用 FunctionStartup 中的 ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder) 方法的 .netcore3.1 应用程序配合得很好。

升级到 .net5 dotnet-isolated 后,绑定(bind)不起作用。我在 Program.cs 中配置了 azurekeyvault,但它仍然没有从 keyvault 中选择。

队列函数

 public static void Run([QueueTrigger("%QueueName%", Connection = "QueueConnection")] string message, string id)

Startup.cs (.netcore3.1)- 工作

  public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
var azureKeyVaultURL = Environment.GetEnvironmentVariable("AzureKeyVaultURL");
var azureKeyVaultADAppID = Environment.GetEnvironmentVariable("AzureKeyVaultMIAppID");


builder.ConfigurationBuilder
.SetBasePath(Environment.CurrentDirectory)
.AddAzureKeyVault(new Uri(azureKeyVaultURL), new ManagedIdentityCredential(azureKeyVaultADAppID))
.AddEnvironmentVariables()
.Build();
}

Program.cs (.net5)- 不工作

var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults()
.ConfigureAppConfiguration(config =>{
var azureKeyVaultURL = Environment.GetEnvironmentVariable("AzureKeyVaultURL");
var azureKeyVaultADAppID = Environment.GetEnvironmentVariable("AzureKeyVaultMIAppID");

config
.SetBasePath(Environment.CurrentDirectory)
.AddAzureKeyVault(new Uri(azureKeyVaultURL), new ManagedIdentityCredential(azureKeyVaultADAppID))
.AddEnvironmentVariables()
.Build();
})

最佳答案

您需要使用ConfigureAppConfiguration方法的另一个重载:

var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults()
.ConfigureAppConfiguration((hostBuilder, config) =>
{
if (hostBuilder.HostingEnvironment.IsProduction())
{
var builtConfig = config.Build();
var secretClient = new SecretClient(new Uri($"https://{builtConfig["KeyVaultName"]}.vault.azure.net/"), new DefaultAzureCredential());
config.AddAzureKeyVault(secretClient, new KeyVaultSecretManager());
}
})
.Build();

关于.net - Azure QueueTriggered Function 应用程序与 keyvault 的点网隔离输入绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67224860/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com