appsettings.json 部署为 Azure Function App Container 时读取正确,但部署为 Azure Function App 时读取不正确
appsettings.json read properly when deployed as Azure Function App Container, but not when deployed as simply Azure Function App
我有一个函数应用程序,它在本地成功 运行 并且成功地 运行 作为“Azure 函数应用程序容器”,
但是当我试图将它部署为简单的“Azure Function App”时,发布后它无法读取我放入 appsettings.json 文件中的字段(我将 s3 密钥访问和秘密密钥放在那里东西),显示的错误是“没有配置 RegionEndpoint 或 ServiceURL”,应该从 appsettings.json 文件中获取。
这就是我的初创公司 class:
中发生的事情
public override void Configure(IFunctionsHostBuilder builder)
{
var config = new ConfigurationBuilder()
.SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("appsettings.json", false)
.AddUserSecrets(Assembly.GetExecutingAssembly(), false)
.AddEnvironmentVariables()
.Build();
builder.Services.AddLogging();
builder.Services.AddSingleton<IConfiguration>(config);
builder.Services.AddSingleton(svc =>
{
var client = new AzureLogAnalyticsClient(
config[LogAnalyticsWorkspaceID],
config[LogAnalyticsKey]);
client.TimeStampField = config["LogAnalyticsTimestampField"];
return client;
});
}
默认情况下,Azure Function App 部署不会读取 appsettings.json。相反,将这些配置值放在 Azure 函数的应用程序设置中。
这可以通过登录 Azure 门户,转到您的 Azure 函数,然后:
- 单击 Azure 函数上的“配置”blade。
- 在 header 中选择应用程序设置。
- 在下面的 table 中输入您的设置。
我有一个函数应用程序,它在本地成功 运行 并且成功地 运行 作为“Azure 函数应用程序容器”, 但是当我试图将它部署为简单的“Azure Function App”时,发布后它无法读取我放入 appsettings.json 文件中的字段(我将 s3 密钥访问和秘密密钥放在那里东西),显示的错误是“没有配置 RegionEndpoint 或 ServiceURL”,应该从 appsettings.json 文件中获取。 这就是我的初创公司 class:
中发生的事情public override void Configure(IFunctionsHostBuilder builder)
{
var config = new ConfigurationBuilder()
.SetBasePath(Environment.CurrentDirectory)
.AddJsonFile("appsettings.json", false)
.AddUserSecrets(Assembly.GetExecutingAssembly(), false)
.AddEnvironmentVariables()
.Build();
builder.Services.AddLogging();
builder.Services.AddSingleton<IConfiguration>(config);
builder.Services.AddSingleton(svc =>
{
var client = new AzureLogAnalyticsClient(
config[LogAnalyticsWorkspaceID],
config[LogAnalyticsKey]);
client.TimeStampField = config["LogAnalyticsTimestampField"];
return client;
});
}
默认情况下,Azure Function App 部署不会读取 appsettings.json。相反,将这些配置值放在 Azure 函数的应用程序设置中。
这可以通过登录 Azure 门户,转到您的 Azure 函数,然后:
- 单击 Azure 函数上的“配置”blade。
- 在 header 中选择应用程序设置。
- 在下面的 table 中输入您的设置。