Какой план выбрать для моей функции Azure: план потребления или план службы приложений?

Мы создали лазерную функцию, запускаемую большими двоичными объектами, для обработки файлов, помещенных в хранилище больших двоичных объектов. Нагрузка на этот большой двоичный объект не будет постоянной. Например, в течение нескольких часов в этот BLOB-объект каждую минуту будут помещаться сотни или даже тысячи файлов. С другой стороны, будут часы, в течение которых мы не найдем ни одного файла. Некоторые файлы будут обработаны всего за несколько секунд, а некоторые могут занять более 10-15 минут.

Итак, мой вопрос: при таком непредсказуемом сценарии какой план будет лучше для нас? План обслуживания приложений или план потребления?


person Yash    schedule 08.01.2019    source источник
comment
В документе говорится: Тайм-аут по умолчанию для функций в плане потребления составляет 5 минут. Значение можно увеличить для приложения-функции максимум до 10 минут, изменив свойство functionTimeout в файле проекта host.json.   -  person CSharpRocks    schedule 08.01.2019
comment
Спасибо PeterBons и CSharpRocks за поддержку. Предположим, я каким-то образом оптимизирую код, который гарантирует, что все файлы будут обработаны в течение 10 минут. В таком случае, какой план мне больше подойдет?   -  person Yash    schedule 08.01.2019


Ответы (1)


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

Как отметил в комментариях @Peter Bons, этот ваш лучший ссылка

Изменить

Согласно вышеуказанному документу,

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

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

person Gouda    schedule 08.01.2019
comment
Спасибо, Гауда. Но кортикальная страница на странице говорит: когда вы используете триггер большого двоичного объекта в плане потребления, может возникнуть задержка до 10 минут при обработке новых больших двоичных объектов. и Чтобы избежать этой задержки при холодном запуске, используйте план службы приложений с включенным Always On. В этом случае в часы высокой нагрузки мой большой двоичный объект будет заполнен файлами через 10 минут. - person Yash; 08.01.2019
comment
@Yash, вы можете заменить триггер BLOB-объекта триггером сетки событий, чтобы избежать этой задержки и продолжать использовать план потребления. - person Gouda; 08.01.2019
comment
@Guda Большое спасибо. Я думаю, это поможет мне. и этот 10-минутный лимит запуска также предназначен для триггера сетки событий. Верный? - person Yash; 08.01.2019
comment
Нет, триггер сетки событий не вызывает задержек. проверьте этот docs.microsoft.com/en- us / azure / azure-functions / - person Gouda; 08.01.2019
comment
Еще кое-что. Когда я пытаюсь создать сетку событий, срабатывает лазурная функция. Это дает мне следующее сообщение: Этот язык является экспериментальным и еще не имеет полной поддержки. Если у вас возникнут проблемы, сообщите об ошибке в нашем репозитории GitHub. - person Yash; 08.01.2019
comment
Я не спрашивал про 10-минутную задержку. Я спросил о максимальном времени обработки 10 минут. Это применимо и к триггеру сетки событий. верный? - person Yash; 08.01.2019
comment
Ага !, ответ - нет, и для времени обработки, но вам придется жить с любыми ошибками, пока сетки событий не будут полностью поддерживаться функциями. это компромиссы :) - person Gouda; 08.01.2019
comment
Позвольте нам продолжить это обсуждение в чате. - person Yash; 08.01.2019