azure - Net 6.0 从 appsettings 而不是 local.settings.json 设置 ServiceBusTrigger QueueName 和 Connection

标签 azure azure-functions azure-servicebus-queues azure-functions-isolated

我有一个 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/

相关文章:

azure-functions - .NET 5 - 框架 'Microsoft.NETCore.App' ,版本 '3.1.0' 未找到

c# - 尝试了解 Azure 服务总线 session

azure - 使用分区键从 Azure 服务总线队列检索消息

azure - 如何使用 ARM 或 Azure CLI 将现有虚拟网络连接到开发测试实验室?

azure - 如何在不使用 Azure API Gateway 的情况下在 Azure 函数应用程序 Http 触发器中控制消费者在给定时间段内对 API 的使用(节流)

c# - 不使用 KeyVault 的 Azure 表存储客户端加密

c# - 可执行文件可以作为 blob 触发的 Azure 函数的一部分运行吗?

c# - Azure Function 部署后不工作

python - 导入错误: cannot import name 'ServiceBusClient' from 'azure.servicebus'

xml - 找不到 Windows Azure xml 注释文件