Окружение
Переменные окружения
В таблице приведен список переменных окружения, которые определены в среде выполнения Cloud Functions и доступны для функции. Их нельзя переопределить.
Ключ | Значение |
---|---|
_HANDLER |
Расположение обработчика, указанное для функции. |
AWS_LAMBDA_RUNTIME_API |
Хост и порт API среды выполнения. |
LAMBDA_RUNTIME_DIR |
Путь к библиотекам среды выполнения. |
LAMBDA_TASK_ROOT |
Путь к директории с файлами вашей функции. |
PATH |
Набор директорий, в которых расположены исполняемые файлы. |
LD_LIBRARY_PATH |
Набор директорий, в которых расположены динамические библиотеки. |
Добавить дополнительные переменные окружения можно при создании версии функции. Лимит на максимальный объем переменных окружения, включая их имена, — 4 КБ.
Вычисление переменных окружения не осуществляется. Значения переменных окружения являются строковыми константами. Вычислить их можно только в коде функции.
Получить переменные окружения можно с помощью стандартных средств языка программирования.
Сертификат для доступа к управляемым базам данных
В окружении доступен SSL-сертификат для доступа к управляемым базам данных из вашего кода. Сертификат хранится в файле /usr/local/share/ca-certificates/yandex-internal-ca.crt
.
Пользовательские файлы
Хранение пользовательских файлов реализовано в двух директориях:
-
/function/code
— рабочая директория пользователя. Содержит весь код вашей функции и все файлы, которые были загружены как ZIP-архив. Доступна по относительному пути. -
/tmp
— директория для хранения временных файлов. Используется сервисом для оптимизации повторных вызовов функции, которые последовательно обрабатываются одним ее экземпляром. Когда экземпляр функции завершает работу, данные удаляются из/tmp
. Лимит на максимальный объем временных файлов — 512 МБ.При создании версии функции можно выделить часть оперативной памяти экземпляра функции для директории
tmp
. Тогда заданный объем оперативной памяти смонтируется как RAM-диск в директорию/tmp
. Объем оперативной памяти версии функции при этом должен быть не менее 1 ГБ.Если опция Выделять память для директории /tmp включена, предзагружаемые среды выполнения запускаются, как обычные.
Динамические библиотеки
Если для работы функции требуются динамические библиотеки, их можно загрузить в ZIP-архиве, положив в директорию /shared-libs
в корне архива. Директория будет добавлена в переменную окружения LD_LIBRARY_PATH
.
Динамические библиотеки должны быть собраны на Ubuntu 18.04 LTS и слинкованы с библиотекой libc
версии 2.27.