c# - appsettings.json 在部署为 Azure Function App 容器时可以正确读取,但在部署为简单的 Azure Function App 时则无法正确读取

标签 c# azure visual-studio azure-functions serverless

我有一个函数应用程序,它在本地成功运行并作为“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 来完成,然后:

  1. 单击 Azure Function 边栏选项卡上的“配置”。
  2. 在标题中选择“应用程序设置”。
  3. 在下表中输入您的设置。

关于c# - appsettings.json 在部署为 Azure Function App 容器时可以正确读取,但在部署为简单的 Azure Function App 时则无法正确读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71807221/

相关文章:

c# 包装模型对象,其中包含用于 MVVM 绑定(bind)的列表

visual-studio - Crystal Reports/IIS - 运行时错误

visual-studio - 使用 cmake 生成可再发行的 Visual Studio 项目

c# - 匹配字符串中的变量

c# - using var 总是被执行吗?

Azure数据工厂: How to rename blob csv or text file in blob storage during copy or import?

azure - 查找 Azure IoT Central 实例的基础 IoTHub 主机名

azure - Azure Front Door Premium 中的 URL 重写

c# - visual studio 中的命名空间在哪里

c# - 如果我在毫秒内调用太多,为什么 Socket over Tcp 不发送?