Как использовать одни и те же функции Azure с разными параметрами

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

В моем текущем приложении у меня есть 3 задания по расписанию 1) Отправка недавно обновленных частичных данных о продукте (выполняется каждые 15 минут) 2) Отправка данных о заказах и их подтверждение (выполняется каждые 15 минут) 3) Отправка всех данных о продуктах (выполняется каждые 6 часов) )

по этой ссылке я получил представление о функции Durable и решении моей проблемы Вопрос по Stackoverflow, но как я могу сохранить детали API для разных клиентов и как начать обработку каждого из них?

заранее спасибо


person Jigar Sangoi    schedule 28.03.2020    source источник
comment
Это может помочь вам github.com/Azure/azure-functions-java- worker / issues / 26   -  person Mohammad niazmand    schedule 28.03.2020
comment
Почему бы не использовать три тайм-триггера в одном функциональном приложении?   -  person Bowman Zhu    schedule 30.03.2020
comment
В приложении-функции могут быть разные триггеры.   -  person Bowman Zhu    schedule 30.03.2020
comment
да, вы правы насчет трех разных функций или может быть двух, но если вы хотите снова использовать один и тот же код для других клиентов, тогда долговечная функция - единственный вариант, иногда синхронизация может длиться более 10 минут. Я также больше заинтересован в том, чтобы сделать это с помощью архитектуры Fan in / out. Единственная проблема для меня в том, как я могу сохранить все детали клиентского API и как их прочитать?   -  person Jigar Sangoi    schedule 30.03.2020


Ответы (1)


В зависимости от типа требуемых сведений вы можете сохранить их в Конфигурация приложения Azure (для конфигурации), Azure KeyVault (для секретов) или просто в Хранилище BLOB-объектов Azure < / а>.

Кроме того, вы можете использовать суб-оркестраторы, необходимые для уменьшения нагрузки при включении вентилятора. Подробнее об этом здесь.

Поток ваших функций будет примерно таким

  1. [Функция триггера таймера] Запуск "главного оркестратора"
  2. [Main Orchestrator] Вызов функции действия "FetchConfig"
  3. [FetchConfig] Получение и возврат данных из того места, где вы их сохранили
  4. [MainOrchestrator] Разделите детали для каждой сущности (пользователя, клиента, клиента и т. Д. В зависимости от вашего варианта использования) и инициируйте «Дочерние суб-оркестраторы»
  5. [Дочерний суб-оркестратор] Выполняет свои обязанности и при необходимости возвращает данные.
  6. [Main Orchestrator] Обработка и накопление возвращенных данных при необходимости

Еще одна вещь, которую вы могли бы рассмотреть, - это просто иметь простой HTTP-триггер для запуска вашего «главного оркестратора» и разгрузки по расписанию на Logic Apps. Это позволяет добавлять множество расписаний без необходимости каждый раз развертывать приложение-функцию, а также может быть отправлена ​​некоторая полезная нагрузка, чтобы решить, что должен делать оркестратор.

person PramodValavala-MSFT    schedule 02.04.2020