无法将 Azure 函数的对象添加到 settings.json

Cannot add objects to settings.json for Azure Function

我的 localsettings.json 文件在 Azure 函数中有以下内容

{
  "IsEncrypted": false,
  "Values": {
    "ConnectionString": "...",
    "AzureWebJobsStorage":
      "...",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "event-bus-connection": "..."
  }
}

这个很好用

但是,我现在需要在此处添加更多内容

 "JwtIssuerOptions": {
      "Issuer": "...",
      "Audience": "...",
      "SecretKey": "...",
      "ExpirationInMinutes": 3600
    },

只要我在 Values 中添加这个,函数就不会启动:

local.settings.json 中的 AzureWebJobsStorage 缺少值。

我怎样才能让它工作?

保罗

localseettings.json 不支持用于定义设置的对象表示法。你可以做的是用 : 符号定义一个键,比如 "JwtIssuerOptions:Issuer":....,

{
  "IsEncrypted": false,
  "Values": {
    "ConnectionString": "...",
    "AzureWebJobsStorage":"...",
    "JwtIssuerOptions:Issuer": "...",
    "JwtIssuerOptions:Audience": "...",
    "JwtIssuerOptions:SecretKey": "...",
    "JwtIssuerOptions:ExpirationInMinutes": 3600,
    "FUNCTIONS_WORKER_RUNTIME": "dotnet",
    "event-bus-connection": "..."
  }
}

现在使用 JwtIssuerOptions 字符串文字,您可以绑定到配置以进行选项绑定

builder.Services.AddOptions<JwtAuthorizationOptions>()
    .Configure<IConfiguration>((settings, configuration) =>
    {
       configuration.GetSection("JwtIssuerOptions").Bind(settings);
    });