Azure functions local.settings.json represented in appsettings.json for a ServiceBusTrigger(Azure 函数 local.settings.json 在 appsettings.json 中表示 ServiceBusTrigger)
问题描述
我目前有一个使用 ServiceBusTrigger 绑定的天蓝色函数
 [ServiceBusTrigger("%TopicName%", "%SubscripionName%", Connection = "MyConnection")]字符串 catclogueEventMsgs、ILogger 日志、ExecutionContext 上下文)使用这个 local.settings.json 文件
 "值": {…我的连接":端点=sb://testxxxxxxxxxxxxxxxxxx订阅名称":测试订阅名称""主题名称": "测试主题名称",}如何在 appsettings.json 文件中表示这一点.会像下面这样吗?
 "值": {我的连接":端点=sb://testxxxxxxxxxxxxxxxxxx订阅名称":测试订阅名称""主题名称": "测试主题名称",}我可以使用例如MySubs"对象来代替使用Values"对象吗?
 "MySubs": {我的连接":端点=sb://testxxxxxxxxxxxxxxxxxx订阅名称":测试订阅名称""主题名称": "测试主题名称",}如果可以使用上述设置,我如何在 ServiceBusTrigger 绑定中表示?我会改成这个吗?
 [ServiceBusTrigger("%MySubs.TopicName%", "%MySubs.SubscripionName%", Connection = "MySubs.MyConnection")]字符串 catclogueEventMsgs、ILogger 日志、ExecutionContext 上下文)您确实可以读取 Values 数组之外的设置,如下所示:
WeatherApiConfig.cs
公共类 WeatherApiConfig{公共字符串 WeatherApiUrl { 获取;放;}公共字符串 WeatherApiKey { 获取;放;}}<块引用>
Azure Functions V2 的新功能,
I currently have an azure function using the ServiceBusTrigger binding
 [ServiceBusTrigger("%TopicName%", "%SubscripionName%", Connection = "MyConnection")]
         string  catclogueEventMsgs, ILogger log, ExecutionContext context)
which uses this local.settings.json file
   "Values": {
             …
    "MyConnection": "Endpoint=sb://testxxxxxxxxxxxxxxxxxx
    "SubscriptionName": "testsubscriptionName"
    "TopicName": "testtopicName",
  }
How do I represent this in the appsettings.json file. Will it be like the below?
   "Values": {
    "MyConnection": "Endpoint=sb://testxxxxxxxxxxxxxxxxxx
    "SubscriptionName": "testsubscriptionName"
    "TopicName": "testtopicName",
  }
Instead of using a "Values" object can I use eg "MySubs" object like the below?
   "MySubs": {
    "MyConnection": "Endpoint=sb://testxxxxxxxxxxxxxxxxxx
    "SubscriptionName": "testsubscriptionName"
    "TopicName": "testtopicName",
  }
If its possible to use the above settings, how do I represent this in the ServiceBusTrigger binding? would i change it to this?
 [ServiceBusTrigger("%MySubs.TopicName%", "%MySubs.SubscripionName%", Connection = "MySubs.MyConnection")]
         string  catclogueEventMsgs, ILogger log, ExecutionContext context)
You CAN indeed read settings outside the Values array as follows:
WeatherApiConfig.cs
public class WeatherApiConfig
{
    public string WeatherApiUrl { get; set; }
    public string WeatherApiKey { get; set; }
}
New for Azure Functions V2, we have an appropriate way to handle DI as shown below:
Startup.cs
[assembly: FunctionsStartup(typeof(BlazingDemo.Api.Startup))]
namespace BlazingDemo.Api
{
    public class Startup : FunctionsStartup
    {
        public override void Configure(IFunctionsHostBuilder builder)
        {
            var config = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("local.settings.json", optional: true, reloadOnChange: true)
                .AddEnvironmentVariables()
                .Build();
            var apiConfig = new WeatherApiConfig();
            config.Bind(nameof(WeatherApiConfig), apiConfig);
            builder.Services.AddSingleton(apiConfig);
            builder.Services.AddHttpClient();
        }
    }
}
Local.settings.json
{  
  "IsEncrypted": false,
  "Values": {
    "AzureWebJobsStorage": "UseDevelopmentStorage=true",
    "FUNCTIONS_WORKER_RUNTIME": "dotnet"
  },
  "WeatherApiConfig": {
    "WeatherApiUrl": "http://api.openweathermap.org/data/2.5/weather",
    "WeatherApiKey": "**removed**"
  }
}
Note: The key for me was to add
.SetBasePath(Directory.GetCurrentDirectory())inStartup.cssince it couldn't find the file without it.
In production I use the function app's Application Settings section to configure these two properties as follows:
这篇关于Azure 函数 local.settings.json 在 appsettings.json 中表示 ServiceBusTrigger的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Azure 函数 local.settings.json 在 appsettings.json 中表示 ServiceBusTrigger
				
        
 
            
        - Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01
 - MoreLinq maxBy vs LINQ max + where 2022-01-01
 - C# 中多线程网络服务器的模式 2022-01-01
 - WebMatrix WebSecurity PasswordSalt 2022-01-01
 - 如何用自己压缩一个 IEnumerable 2022-01-01
 - 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
 - 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01
 - 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01
 - 输入按键事件处理程序 2022-01-01
 - C#MongoDB使用Builders查找派生对象 2022-09-04
 
						
						
						
						
						
				
				
				
				