gpt4 book ai didi

azure - 无法在独立的 Azure 函数中设置配置 - .NET 7

转载 作者:行者123 更新时间:2023-12-03 03:29:46 28 4
gpt4 key购买 nike

我正在将我的功能从 .NET Core 3.1 升级到 .NET 7isolated

我的函数应用程序继承自一个基类,该基类执行与所有函数应用程序相关的所有设置。这非常有效

但是,在 .NET 7isolated 中,似乎不支持/不推荐函数启动?

我可以创建一个函数初始化类,然后我可以调用它来设置我的服务,这很好

var host = new HostBuilder()
.ConfigureFunctionsWorkerDefaults((IFunctionsWorkerApplicationBuilder builder) =>
{

})
.ConfigureServices((context, s) =>
{
var initializer = new FunctionAppInitializer(s);
initializer.Run();
})
.Build();

host.Run();

但是,我在配置方面遇到问题,因为此功能不可用。

如何运行下面的方法?

 public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder)
{
var kvEndpoint =
Environment.GetEnvironmentVariable("ASPNETCORE_HOSTINGSTARTUP__KEYVAULT__CONFIGURATIONVAULT");
var environmentName =
Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
builder.ConfigurationBuilder
.AddAzureKeyVault(new Uri(kvEndpoint!), new DefaultAzureCredential())
.SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("local.settings.json", optional: true)
.AddJsonFile($"local.settings.{environmentName}.json", optional: true)
.AddEnvironmentVariables()
.Build();
}

这是重写 FunctionStartup.ConfigureAppConfiguration,它使我能够访问构建器。

使用新方法,虽然我可以访问ConfigureFunctionsWorkerDefaults内的构建器,但构建器对象没有ConfigurationBuilder

保罗

最佳答案

您可以使用ConfigureHostConfiguration方法

var host = new HostBuilder()
.ConfigureHostConfiguration(configHost =>
{
configHost.AddEnvironmentVariables(prefix: "DOTNET_");
configHost.AddCommandLine(args);
configHost.AddJsonFile("local.settings.json", optional: true, reloadOnChange: true);
})

关于azure - 无法在独立的 Azure 函数中设置配置 - .NET 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74967995/

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