Каталожные слои упаковывают shared dependencies для повторного использования: выбирайте записи Node, Python или Go, порядок merge и держите бандл меньше, чем при vendoring всего в каждую загрузку.
Слои — это заранее собранные наборы зависимостей (по идее близко к AWS Lambda layers), чтобы не упаковывать все библиотеки в каждый архив функции. Каталоги разделены по стеку: Node.js, Python и Go; для функции показываются только слои, совместимые с её рантаймом.
Откройте тестовую панель функции, вкладка Настройки, раздел Слои. Используйте поиск по имени или описанию, отметьте нужные слои и сохраните функцию, чтобы подключения сохранились. В списке отображаются только слои из каталога.
Как слои подключаются по рантаймам
- Node.js — слои добавляют npm-пакеты. Подключайте через CommonJS
require()(или ESMimport, если проект настроен на модули). - Python — слои добавляют пакеты PyPI под рантайм Python 3.12. Импортируйте их в обработчике как обычно.
- Go — слои содержат заранее скачанные модули для Go 1.22. Импортируйте их из кода без копирования всего дерева зависимостей в репозиторий функции.
Что обычно есть в каталоге
Точный набор имён зависит от того, что установлено в вашей среде. Частые группы:
- HTTP и API — клиенты для REST и сторонних HTTP-сервисов.
- Базы и данные — драйверы и обвязка для SQL, документо-ориентированных хранилищ и кэшей.
- AI и автоматизация — SDK моделей, агентные фреймворки и сопутствующие инструменты, если они поставлены.
- Облако и сообщения — клиенты облачных провайдеров, BaaS, почта/SMS, боты, очереди, стриминг.
- Утилиты — аутентификация, валидация, файлы, таблицы, логирование, скрапинг и другое. Быстрее всего искать по имени пакета.
Несколько слоёв сразу
Слои объединяются в том порядке, в котором вы их подключили. Если два слоя дают один и тот же пакет или путь модуля, обычно выигрывает тот, что подключён раньше — по возможности избегайте пересекающихся слоёв.