gpt4 book ai didi

c# - 在 Azure Function 应用程序设置中使用数组

转载 作者:行者123 更新时间:2023-12-02 07:38:20 33 4
gpt4 key购买 nike

我使用 appsettings.json 配置我的 Azure Function(netcoreapp3.1,在 Windows 计算机上运行)。

appsettings.json 文件中,有一个包含设置的数组:

{
"ArraySettings": [
{
"ArraySettingProperty1": "ArraySetting1Value1",
"ArraySettingProperty2": "ArraySetting1Property2"
},
{
"ArraySettingProperty1": "ArraySetting2Value1",
"ArraySettingProperty2": "ArraySetting2Property2"
}
],
"SingleSetting": "SingleValue"
}

如果我在本地运行Azure Function,它就可以正常工作。但尽管 appsettings.json 文件已部署并且可以通过 Azure Function 找到,但它似乎不适用于 Azure。

Startup.cs中:

private IConfiguration InitializeConfiguration(IFunctionsHostBuilder functionsHostBuilder)
{
ExecutionContextOptions executionContextOptions = functionsHostBuilder
.Services
.BuildServiceProvider()
.GetService<IOptions<ExecutionContextOptions>>()
.Value;

return new ConfigurationBuilder()
.SetBasePath(executionContextOptions.AppDirectory)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables()
.Build();
}

这是我已经尝试过的(没有成功):

  1. 将设置复制到 local.settings.json 文件的 Values 部分

  2. 按以下关键格式将设置添加到 Azure 上的应用程序设置(无论是否注释掉 appsettings.json 配置):

    2.1 ArraySettings:ArraySettingProperty1:0

    2.2 ArraySettings__ArraySettingsProperty1__0

    2.3 值__ArraySettings__ArraySettingsProperty1__0

为什么阵列设置在本地有效,但在 Azure 上无效?我怎样才能让它们在 Azure 上工作?谢谢!

最佳答案

请尝试在应用服务的配置设置中进行如下设置:

Key: ArraySettings__0__ArraySettingProperty1

Value: ArraySetting1Value1

Key: ArraySettings__0__ArraySettingProperty2

Value: ArraySetting1Value2

Key: ArraySettings__1__ArraySettingProperty1

Value: ArraySetting1Value1

Key: ArraySettings__1__ArraySettingProperty2

Value: ArraySetting1Value2

Key: SingleSetting

Value: SingleValue

如果您的应用服务部署在 Windows 上,您可以使用 : 作为分隔符,而不是 __。但是 __ 在 Windows 和 Linux 上都可以工作。

关于c# - 在 Azure Function 应用程序设置中使用数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67735837/

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