Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure WebJobs连接字符串配置(AzureWebJobsDashboard??)_Azure_Azure Webjobs_Azure Webjobssdk - Fatal编程技术网

Azure WebJobs连接字符串配置(AzureWebJobsDashboard??)

Azure WebJobs连接字符串配置(AzureWebJobsDashboard??),azure,azure-webjobs,azure-webjobssdk,Azure,Azure Webjobs,Azure Webjobssdk,我正在尝试使用Azure Webjobs,我了解它的工作方式,但我不明白为什么我需要使用两个连接字符串,一个用于队列以保存消息,但是 为什么还有另一个叫做“AzureWebJobsDashboard”的呢 它的目的是什么 我从哪里得到这个连接字符串 目前,我在同一个解决方案中有一个Web应用程序和一个Webjob,我只是在本地进行实验(不发布任何内容),我在云中得到的一个东西是保存队列的存储帐户 我甚至尝试在两个位置(AzureWebJobsDashboard、AzureWebJobsStora

我正在尝试使用Azure Webjobs,我了解它的工作方式,但我不明白为什么我需要使用两个连接字符串,一个用于队列以保存消息,但是

  • 为什么还有另一个叫做“AzureWebJobsDashboard”的呢

  • 它的目的是什么

  • 我从哪里得到这个连接字符串

  • 目前,我在同一个解决方案中有一个Web应用程序和一个Webjob,我只是在本地进行实验(不发布任何内容),我在云中得到的一个东西是保存队列的存储帐户

    我甚至尝试在两个位置(AzureWebJobsDashboard、AzureWebJobsStorage)放置相同的连接字符串,但其抛出异常: “使用此触发器时无法绑定参数‘log’。”


    谢谢。

    有两个连接字符串,因为WebJobs SDK在存储帐户中写入了一些日志。它使您可以使用一个存储帐户只存储数据(
    azurewebjobstorage
    ),另一个存储帐户存储日志(
    AzureWebJobsDashboard
    )。它们可以是相同的。另外,您需要两个,因为您可以有多个作业主机使用不同的数据帐户,但将日志发送到同一个仪表板


    您得到的错误与连接字符串无关,而是与代码中的某个函数有关。其中一个具有类型不正确的
    log
    参数。你能分享代码吗?

    好的,有人来这里想知道“我从哪里获得连接字符串”的实际答案吗。。。给你

    在新的Azure门户上,您应该有一个存储帐户资源;我的开始是“portalvhds”,后面是一堆字母数字。单击该按钮,以便在右侧看到一个资源仪表板,紧接着是一个设置窗口。查找“常规”下的“键”子菜单--单击该子菜单。整个连接字符串都在那里(实际上有两个,主要的和次要的;我目前不理解区别,但是让我们继续主要的,好吗?)

    将其复制并粘贴到AzureWebJobsDashboard和AzureWebJobsStorage项目的connectionString属性的App.config文件中。这假定在您的环境中,您只有一个存储帐户,因此您希望相同的存储用于数据和日志


    我试过了,至少WebJob运行时没有出现错误。

    @RayHAz-扩展您的上述答案(谢谢)

    我试过这个

    但在.NETCore2.1中,却出现了关于如何找不到连接字符串的异常

    长话短说,我最终得出以下结论,这对我来说很有用:

    appsettings.json,在.Net Core 2.1控制台应用程序中:

    {
      "ConnectionStrings": {
      "AzureWebJobsStorage": "---your Azure storage connection string here---",
      "AzureWebJobsDashboard":"---the same connectionstring---"
      }
    }
    
    。。。还有我的Program.cs文件

    using System;
    using System.IO;
    using Microsoft.Azure.WebJobs;
    using Microsoft.Extensions.Configuration;
    using Microsoft.Extensions.Logging;
    
    namespace YourWebJobConsoleAppProjectNamespaceHere
    {
        public class Program
        {
            public static IConfiguration Configuration;
            static void Main(string[] args)
            {
                var builder = new ConfigurationBuilder()
                    .SetBasePath(Path.Combine(AppContext.BaseDirectory))
                    .AddJsonFile("appsettings.json", true);
                Configuration = builder.Build();
    
                var azureWebJobsStorageConnectionString = Configuration.GetConnectionString("AzureWebJobsStorage");
                var azureWebJobsDashboardConnectionString = Configuration.GetConnectionString("AzureWebJobsDashboard");
    
                var config = new JobHostConfiguration
                {
                    DashboardConnectionString = azureWebJobsDashboardConnectionString,
                    StorageConnectionString = azureWebJobsStorageConnectionString
                };
    
                var loggerFactory = new LoggerFactory();
                config.LoggerFactory = loggerFactory.AddConsole();
    
                var host = new JobHost(config);
                host.RunAndBlock();
            }
        }
    }
    

    谢谢维克托的解释,关于我修正的例外情况…这是一个小的打字错误。但是维克多,我从日志中得到了什么好处?为什么要将它们放在特殊的存储帐户中?有时,您不想用只对仪表板有用的日志污染数据帐户。但是,正如我前面提到的,仪表板和数据帐户可以是同一个存储帐户您可以在没有Azure存储帐户的情况下本地调试Azure webjobs吗?@Manirajs在解决方案资源管理器中->右键单击WebJob项目,然后选择“调试->启动新实例”。让我知道它是否适用于您。我可以通过单击
    设置为启动项目
    并运行来调试webjobs。但是我对连接字符串有问题。我没有存储帐户,也找不到如何为webjobs配置localdb。@ManirajSS连接字符串需要是存储帐户的连接字符串。你不需要数据库,你需要存储帐户。我不知道你是否可以在本地设置存储帐户,搜索它。如果你还需要什么。。我在这里:)