Как лучше всего конвертировать консольное приложение в триггер Azure? - PullRequest
0 голосов
/ 28 августа 2018

У меня есть консольное приложение, которое запускает и отслеживает очередь служебной шины Azure. Имеющаяся у меня функция принимает класс Message и обрабатывает его. Приложение регистрирует функцию.

Теперь мне нужно преобразовать его для запуска, когда сообщение попадает в очередь шины сообщений.

Все примеры, которые я вижу, показывают статический класс со статическим методом с некоторыми параметрами, украшенными атрибутами. Показывает, что сообщение отправляется в виде строки.

Но мой метод отправляет класс Message.

Если я хочу использовать то же приложение, что и приложение функции Azure, что мне делать?

1 Ответ

0 голосов
/ 29 августа 2018

Повторное использование логики старого приложения.

Конечно, вы не можете использовать консольное приложение само по себе в качестве приложения функций Azure ... Функции Azure - это собственная среда выполнения и выполнения. Тем не менее, вы, вероятно, можете повторно использовать большую часть логики из своего консольного приложения с удивительно небольшим количеством настроек.

Поскольку вы говорите, что используете класс Message , я предполагаю, что вы используете библиотеки .NET Core ServiceBus. Если это так, вам следует использовать среду выполнения Azure Functions v2. Если вы используете более старую полнофункциональную библиотеку ServiceBus с классом BrokeredMessage , вам следует придерживаться среды выполнения Functions v1.

«Привязки» в функциях Azure довольно гибки и часто знают, как предоставить то, что вам нужно. Вы, вероятно, видите такие примеры:

[FunctionName("NewSbMessageArrivedFunction")]                    
public static void Run(
    [ServiceBusTrigger("someQueue")] string queueMessage, TraceWriter log)
{
    ...
}

Вы можете просто изменить аргумент queueMessage в этом примере с string на Message (или BrokeredMessage в v1), и среда выполнения увидит другую подпись и должна заполните свой объект сообщения для вас!

Для получения дополнительной информации о том, как это работает и какие другие свойства вы можете связать для триггера ServiceBus, ознакомьтесь с документацией по Функции Azure Привязки ServiceBus .

...