appsettings.json在部署为Azure功能应用程序容器时读取正确,但在简单部署为Azure函数应用程序时读取



我有一个功能应用程序,它在本地成功运行,并以";Azure Function App Container";,但当我试图将其部署为简单的";Azure Function App";,在发布之后,它无法读取我放在appsettings.json文件中的字段(我放了s3密钥访问和密钥等(,显示的错误是";没有配置RegionEndpoint或ServiceURL";,它应该取自appsettings.json文件。这就是在我的启动类中发生的事情:

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功能应用程序部署不会读取appsettings.json。相反,将这些配置值放在Azure Function的应用程序设置中。

这可以通过登录Azure门户,转到你的Azure功能,然后:来完成

  1. 点击";配置";在Azure Function刀片上
  2. 在标题中选择"应用程序设置">
  3. 在下表中输入您的设置

最新更新