我有一个函数应用程序,它在本地成功运行并作为“Azure Function App Container”成功运行, 但是当我尝试将其部署为简单的“Azure Function App”时,发布后它无法读取我放入 appsettings.json 文件中的字段(我在那里放置了 s3 key 访问和 key 等) ,显示的错误是“未配置 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 Function 的应用程序设置中。
这可以通过登录 Azure 门户、转到您的 Azure Function 来完成,然后:
- 单击 Azure Function 边栏选项卡上的“配置”。
- 在标题中选择“应用程序设置”。
- 在下表中输入您的设置。
关于c# - appsettings.json 在部署为 Azure Function App 容器时可以正确读取,但在部署为简单的 Azure Function App 时则无法正确读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71807221/