Функции — основная единица вычислений для кода, который запускается по событиям. Каждая функция — изолированный обработчик, который получает 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-соединения из функции. Это единственный переключатель: включите его — и контейнеры функции получат сеть при следующем вызове. По умолчанию выключено. |
| Системные пакеты | — | Необязательно. Системные пакеты образа функции перечисляются в inquir.yaml рядом с кодом: build.system.presets (ffmpeg, imagemagick, libvips, poppler, tesseract, ghostscript, fonts) и build.system.packages (имена пакетов Debian). Браузер без интерфейса для Puppeteer или Playwright тоже задаётся пакетами: packages: [chromium, fonts-liberation, fonts-noto-color-emoji], затем запускайте /usr/bin/chromium с --no-sandbox. Для Node.js и Python; Go появится позже. Редактор подсказывает и проверяет этот файл. |
Тёплые контейнеры#
Нажмите Развернуть, чтобы заранее прогреть контейнеры функции. В тёплом контейнере уже работает HTTP-сервер, поэтому последующие вызовы используют запущенный процесс и пропускают работу холодного старта — создание контейнера, запуск среды выполнения и загрузку обработчика.
Контейнеры сверх минимума на функцию утилизируются после 5 минут простоя, а последний оставшийся контейнер останавливается после 10 минут простоя. Оба порога настраиваются переменными HOT_LAMBDA_TTL_MS и HOT_LAMBDA_MAX_IDLE_TTL_MS.
Кнопке «Развернуть» не нужна настройка сервера: она доступна в любой установке.
Тестовая панель#
Правая панель редактора содержит вкладки для запуска и настройки функции:
- Запуск — синхронный вызов, в котором ваш JSON передаётся как
event. Включите Поток, чтобы получать поток Server-Sent Events в поддерживаемых средах выполнения. - Настройки — обработчик, таймаут, доступ в сеть и переменные окружения.
- Трассировки — недавние запуски этой функции (те же трассировки, что и в разделе «Запуски»).
- AI — помощник прямо в редакторе; доступен, если включён в вашей установке.