как вложить приложение-функцию Azure (как вызвать другое приложение-функцию)

Итак, у меня есть приложение-функция Azure с триггером таймера. Он ходит ежедневно утром в 4 часа ночи. Все, что он делает, это просто выполняет хранимую процедуру SQL из хранилища данных Azure.

Проблема в том, что для выполнения хранимой процедуры требуется почти 20-25 минут. Хранимая процедура имеет несколько задач, включая вызов нескольких хранимых процедур в ней для перемещения данных из озера данных Azure в хранилище данных SQL. когда хранимая процедура занимает более 20 минут, выполнение приложения-функции не регистрируется.

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

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

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

Итак, могу ли я создать новое приложение-функцию с некоторым триггером, который может быть запущен после завершения родительского приложения-функции или хранимой процедуры в нем?

Пожалуйста посоветуй.


person gopi nath    schedule 04.02.2019    source источник
comment
Боковое примечание - если вам не хватает журналов в Application Insights, убедитесь, что вы отключили выборку: docs.microsoft.com/en-us/azure/azure-functions/   -  person brettsam    schedule 05.02.2019


Ответы (2)


Я думаю, что решение, которое вы ищете, - это функции Durable Azure.

Шаблон цепочки функций Azure  Fan out Fan In https://docs.microsoft.com/en-us/azure/azure-functions/durable/Durable-functions-overview

person Anass Kartit    schedule 05.02.2019

Вне всяких сомнений, есть два быстрых варианта:

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

  2. Имейте одну функцию для запуска одного SP. Вкратце: запускайте функцию 1 с таймером, запускайте первую хранимую процедуру и помещайте сообщение в очередь, как только SP будет выполнен. Сообщение в очереди запускает следующую функцию для выполнения следующего SP. До тех пор, пока не будут выполнены все ваши SP.

person rickvdbosch    schedule 04.02.2019
comment
Я бы добавил еще две службы, которые вы могли бы изучить для такого рода задач: надежные функции и логические приложения. Долговечные функции созданы именно для управления функциями. Приложения логики предназначены для подключения к внешним источникам данных и перемещения данных в Azure. - person LiMuBei; 05.02.2019