Вызов функции azure для вызова процедуры в снежинке для загрузки данных приводит к превышению времени ожидания в плане потребления. Есть ли другой способ добиться этого? - PullRequest
1 голос
/ 21 февраля 2020

Я хочу запустить процедуру в хранилище снежинок для загрузки файла из хранилища BLOB-объектов azure, для этого я реализовал соединитель снежинки в виде функции azure и он работает по плану потребления (Dynami c). Но для плана потребления по умолчанию установлено время ожидания 5 минут, а максимальное время ожидания может составлять 10 минут. Но мои данные размером около 50 ГБ и занимают около 20 минут с кластером снежинок среднего размера. Так есть ли другой способ добиться этого?

1 Ответ

1 голос
/ 21 февраля 2020

Если вы хотите избавиться от этого ограничения, у вас есть несколько решений.

Во-первых, вы можете сконструировать триггер времени, чтобы активировать функцию до истечения времени ожидания. Этот тайм-триггер имеет период c, и его период должен быть меньше времени ожидания вашей функции.

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

В плане потребления без сервера действительный диапазон составляет от 1 секунды до 10 минут, а значение по умолчанию составляет 5 минут.

В плане Premium действительный диапазон составляет от 1 секунды до 60 минут, а значение по умолчанию - 30 минут.

В плане выделенного доступа (службы приложений) общий лимит отсутствует, а значение по умолчанию составляет 30 минут. Значение -1 указывает на неограниченное выполнение, но рекомендуется сохранять фиксированную верхнюю границу.

Связанные документы: https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json#functiontimeout

В-третьих, использовать долговечные функции. В соответствии с планом потребления обычные готовые функции работают до 10 минут. Но если вы используете долговременные функции, такого ограничения нет вообще. Также вводится поддержка выполнения с сохранением состояния, что означает, что последующие вызовы той же функции могут совместно использовать локальные переменные и члены c. Это расширение обычной готовой функциональной модели, и для того, чтобы все функции работали должным образом, требуется дополнительный шаблонный код.

подробнее о надежных функциях: https://docs.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-overview?tabs=csharp

...