JobHostConfiguration Queues.BatchSize влияет на EventHubTrigger - PullRequest
0 голосов
/ 28 июня 2018

В настоящее время я пытаюсь оптимизировать некоторый унаследованный код пакетной обработки в веб-задании. Меня беспокоит линия config.Queues.BatchSize = 5;. Я не эксперт по Azure, поэтому перед тем, как спросить, я прочитал об этом достаточно много. Мой вывод следующий: config.Queues.BatchSize используется для настройки очередей, как показано здесь , что означает, что это вообще не должно влиять на веб-задание. Вы можете увидеть код инициализации ниже:

static void Main()
    {
        Console.WriteLine("Started...");
        JobHostConfiguration config = new JobHostConfiguration()
        {
            NameResolver = new EventHubNameResolver(),
        };
        var options = EventProcessorOptions.DefaultOptions;

        options.MaxBatchSize = 5;

        var eventHubConfig = new EventHubConfiguration(options);
        string eventHubName = ConfigurationManager.AppSettings["EventHubName"];

        eventHubConfig.AddReceiver(eventHubName, ConfigurationManager.AppSettings["EventHubConnectionString"]);

        config.UseEventHub(eventHubConfig);

        config.Queues.BatchSize = 5;
        JobHost host = new JobHost(config);
        host.RunAndBlock();
    }

Функция, которая действительно вызывается при поступлении новых элементов в EventHub:

public static async Task ProcessData([EventHubTrigger("%EventHubName%")] string eventDataSet, TextWriter log)
    {
        ...
    }

Мое первое наблюдение состоит в том, что первый параметр в вызываемой функции должен иметь тип EventData[], а не string (который я изменил в своем локальном коде). Однако, отслеживая вывод консоли, я изо всех сил пытаюсь понять, действительно ли конфигурация очереди влияет на веб-задание.

Стоит ли ожидать, что config.Queues.BatchSize = 5; изменит способ вызова функции обработки этого веб-задания?

...