Вызов частных функций из общедоступных функций Azure?

#azure #azure-functions #serverless

#azure #azure-функции #бессерверный

Вопрос:

Я реализую серверную часть своего приложения в azure functions. Обычно я создаю множество небольших частных функций (например, анализ данных), чтобы поддерживать чистоту кода и улучшать удобство использования и читаемость, но работа с функциями Azure заставляет меня задуматься, каковы наилучшие методы в текущем сценарии.

Должен ли я создавать частные функции меньшего размера и требуют ли они дополнительных затрат при вызове из моих основных функций запуска http или я должен поместить весь код в функцию запуска http? Последнее кажется очень неинтуитивным подходом.

Ответ №1:

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

Смотрите подробную информацию о ценах

План потребления функций Azure оплачивается на основе посекундного потребления ресурсов и выполнения. Стоимость плана потребления включает ежемесячное бесплатное предоставление 1 миллиона запросов и 400 000 ГБ-с потребления ресурсов в месяц за подписку по тарифам с оплатой по мере использования для всех функциональных приложений в этой подписке.

и

Счета за функции выставляются на основе наблюдаемого потребления ресурсов, измеряемого в гигабайтных секундах (ГБ-с). Наблюдаемое потребление ресурсов рассчитывается путем умножения среднего объема памяти в гигабайтах на время в миллисекундах, необходимое для выполнения функции. Память, используемая функцией, измеряется путем округления до ближайших 128 МБ, до максимального объема памяти 1536 МБ, при этом время выполнения вычисляется путем округления до ближайшего 1 мс. Минимальное время выполнения и объем памяти для выполнения одной функции составляют 100 МС и 128 Мб соответственно. Стоимость функций включает ежемесячное бесплатное предоставление 400 000 ГБ-с.