Serverless-функции — основная единица вычислений на платформе. Каждая функция — изолированный обработчик, который получает event и context и возвращает результат — независимо от того, вызываете ли вы её из редактора, фоновых задач или HTTP-маршрутов на шлюзе.
Кнопка Запустить в тестовой панели передаёт ваш JSON напрямую как объект event, без обёртки API Gateway. HTTP-маршруты, напротив, передают событие в стиле API Gateway со строковым body. Обработчики обычно различают оба случая — typeof event.body === 'string' в Node.js и аналоги в других рантаймах, — чтобы работали оба пути вызова.
Как создавать функции
- Через UI — нажмите + Новая функция на странице функций. При необходимости загрузите
.zip-архив с кодом. - Перетаскивание — перетащите файлы или папки в дерево файлов в сайдбаре редактора.
Конфигурация функции
| Параметр | По умолчанию | Описание |
|---|---|---|
| Handler | index.handler | Точка входа в формате файл.экспорт. |
| Runtime | nodejs22 | Node.js 22, Python 3.12 или Go 1.22 |
| Timeout | 5 000 ms | Максимальное время выполнения, после которого платформа останавливает функцию. |
| Memory | 256 MB | Лимит памяти контейнера функции. По умолчанию 256 МБ; минимум — 64 МБ, максимум — 2048 МБ (2 ГБ). |
| Network | — | Включите, чтобы разрешить исходящие HTTP/TCP-соединения из функции. Работает только если на сервере также задано <code>ALLOW_NETWORK_FUNCTIONS=true</code> (по умолчанию выключено); при выключенном серверном флаге сетевой запрос функции принудительно переводится в режим без сети. |
| Слои | — | Необязательный список идентификаторов слоёв каталога, подключённых к функции (см. страницу «Слои»). |
| Вариант образа (Node.js) | lite | <code>lite</code> (по умолчанию) или <code>full</code> — выбирает контейнерный образ Node.js. Используйте <code>full</code>, когда нужен более тяжёлый стек с браузерными возможностями. |
Тёплые контейнеры
Нажмите Развернуть, чтобы заранее прогреть контейнеры функции. Тёплые контейнеры держат внутри работающий HTTP-сервер, поэтому последующие вызовы переиспользуют запущенный процесс и пропускают работу холодного старта — создание контейнера, запуск рантайма и загрузку обработчика.
Контейнеры сверх минимума на функцию утилизируются после 5 минут простоя, а последний оставшийся контейнер останавливается после 10 минут простоя. Оба порога настраиваются переменными HOT_LAMBDA_TTL_MS и HOT_LAMBDA_MAX_IDLE_TTL_MS.
Сервер должен работать с ENABLE_HOT_LAMBDAS=true; иначе кнопка «Развернуть» сообщит, что тёплые контейнеры не включены.
Тестовая панель
Правая панель редактора содержит вкладки для запуска и настройки функции:
- Запуск — синхронный вызов, где ваш JSON передаётся как
event. Включите Поток, чтобы получать поток Server-Sent Events на поддерживаемых рантаймах. - Настройки — обработчик, таймаут, доступ в сеть, вариант образа Node.js, слои и переменные окружения.
- Трассировки — недавние запуски этой функции (та же модель трасс, что и на странице «Выполнения»).
- AI — помощник прямо в редакторе; доступен, если включён в вашей установке.