[Документация Yandex Cloud](../../../index.md) > [Yandex Cloud Functions](../../index.md) > [Концепции](../index.md) > [Среда выполнения](index.md) > Окружение

# Окружение

## Переменные окружения {#env}

В таблице приведен список переменных окружения, которые определены в среде выполнения Cloud Functions и доступны для функции. Их нельзя переопределить.

Ключ | Значение
---- | ----
`_HANDLER` | Расположение обработчика, указанное для функции. 
`AWS_LAMBDA_RUNTIME_API` | Хост и порт API среды выполнения.
`LAMBDA_RUNTIME_DIR` | Путь к библиотекам среды выполнения.
`LAMBDA_TASK_ROOT` | Путь к директории с файлами вашей функции.
`PATH` | Набор директорий, в которых расположены исполняемые файлы.
`LD_LIBRARY_PATH` | Набор директорий, в которых расположены [динамические библиотеки](#dynamic-library).

[Добавить дополнительные переменные окружения](../../operations/function/environment-variables-add.md) можно при создании версии функции. [Лимит](../limits.md#functions-limits) на максимальный объем переменных окружения, включая их имена, — 4 КБ.

Вычисление переменных окружения не осуществляется. Значения переменных окружения являются строковыми константами. Вычислить их можно только в коде функции.

Получить переменные окружения можно с помощью стандартных средств языка программирования.

### Примеры использования {#examples}

* [Мониторинг состояния географически распределенных устройств](../../tutorials/datalens.md)
* [Мониторинг показаний датчиков и уведомления о событиях](../../tutorials/monitoring.md)
* [Развертывание отказоустойчивой архитектуры с прерываемыми виртуальными машинами](../../tutorials/nodejs-cron-restart-vm.md)

## Сертификат для доступа к управляемым базам данных {#mdb-certificate}

В окружении доступен [SSL-сертификат](../../../glossary/ssl-certificate.md) для доступа к управляемым базам данных из вашего кода. Сертификат хранится в файле `/usr/local/share/ca-certificates/yandex-internal-ca.crt`.

## Пользовательские файлы {#files}

Хранение пользовательских файлов реализовано в двух директориях: 

* `/function/code` — рабочая директория пользователя. Содержит весь код вашей функции и все файлы, которые были загружены как ZIP-архив. Доступна по относительному пути. 
* `/tmp` — директория для хранения временных файлов. Используется сервисом для оптимизации повторных вызовов функции, которые последовательно обрабатываются одним ее экземпляром. Когда экземпляр функции завершает работу, данные удаляются из `/tmp`. [Лимит](../limits.md#functions-limits) на максимальный объем временных файлов — 512 МБ.

    При создании версии функции можно [выделить часть оперативной памяти](../../operations/function/allocate-memory-tmp.md) экземпляра функции для директории `tmp`. Тогда заданный объем оперативной памяти смонтируется как RAM-диск в директорию `/tmp`. Объем оперативной памяти версии функции при этом должен быть не менее 1 ГБ.

    Если опция **Выделять память для директории /tmp** включена, [предзагружаемые среды выполнения](preload-runtime.md) запускаются, как обычные.

## Динамические библиотеки {#dynamic-library}

Если для работы функции требуются динамические библиотеки, их можно [загрузить в ZIP-архиве](../function.md#upload), положив в директорию `/shared-libs` в корне архива. Директория будет добавлена в переменную окружения `LD_LIBRARY_PATH`.

Динамические библиотеки должны быть собраны на Ubuntu 18.04 LTS и слинкованы с библиотекой `libc` версии 2.27.