无法将 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);
});
我的 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);
});