我有一个 ServiceBusTrigger
公共(public)异步任务运行( [ServiceBusTrigger("%QueueName%", Connection = "ServiceBus")]
我可以在“值”部分的 local.settings.json 中设置 QueueName 和 Connection
`"Values": {
"QueueName": "SbQueueName",
"ServiceBus": "Endpoint=sb:...."
},`
如何从单独的自定义 appsettings 配置中设置 QueueName 和 Connection 能够使用自定义设置部分命名
"CustomSectionName": {
"QueueName": "SbQueueName",
"ServiceBus": "Endpoint=sb:...."
}
最佳答案
要从 appsettings.json 中的自定义命名部分检索值,您需要实现一种机制来访问此部分,并通过 runtime binding 将其传递到您的 Azure 函数。 .
将它们设置在 appsettings 文件的根目录中并给它们一个自定义名称可能会更容易、更直接,如下所示: 代码:
public async Task Run( [ServiceBusTrigger("%CustomQueueName%", Connection = "CustomServiceBus")]
appsettings.json:
{
"CustomQueueName": "SbQueueName",
"CustomServiceBus": "Endpoint=sb:...."
}
至于使用自定义 appsettings 配置文件,请在 Startup.cs 中使用以下行:
public override void Configure(IFunctionsHostBuilder builder)
{
var services = builder.Services;
var context = builder.GetContext();
var config = new ConfigurationBuilder()
.AddJsonFile(Path.Combine(context.ApplicationRootPath, "appsettings.json"), false)
// Custom appsettings
.AddJsonFile(Path.Combine(context.ApplicationRootPath, "appsettings.Custom.json"), false) // Or whatever name you'd like
.AddEnvironmentVariables();
...
}
关于azure - Net 6.0 从 appsettings 而不是 local.settings.json 设置 ServiceBusTrigger QueueName 和 Connection,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76290006/