AWS Lambda - пакет развертывания использует / tmp? - PullRequest
1 голос
/ 08 июля 2019

Мне нужно создать функцию Lambda, используя пакет развертывания.Размер пакета развертывания составляет около 50 МБ.Я хотел бы знать, будет ли пакет развертывания разархивирован в папку / tmp во время выполнения?

Я знаю, что существует ограничение в 512 МБ для хранилища / tmp.Я планирую скопировать файлы из S3 в / tmp для локальной обработки, поэтому я хотел бы знать, сколько реального хранилища будет доступно в / tmp в моем случае.

Ответы [ 3 ]

0 голосов
/ 08 июля 2019

Как ответил Андрей Иванейко, каждая лямбда-функция получает папку / tmp, которую она может использовать для промежуточной обработки

Но есть некоторые побочные эффекты -

  1. Папка / tmp сохраняется при вызовах лямбда-функций.

  2. Таким образом, когда выполняется следующий экземпляр той же самой лямбда-функции, этот следующий экземпляр может иметь доступ к файлам, сохраненным / используемым первыми вызовами.

  3. Вам необходимо явно очистить папку / tmp перед завершением выполнения лямбда-функции.

0 голосов
/ 08 июля 2019

AWS не упоминает о выделении памяти во время выполнения для пакетов развертывания. В них указан только максимальный Размер пакета развертывания .Источник Лямбда-ограничения AWS

Хотя в соответствии с Лямбда-контекстом AWS каждый контекст выполнения предоставляет 512 МБ дополнительного дискового пространства в каталоге / tmp.Насколько я понимаю, в режиме реального времени вы получите 512 МБ дискового пространства.

Надеюсь, это поможет!

0 голосов
/ 08 июля 2019

Хранилище каталогов tmp отделено от пакета развертывания, поэтому у вас будет все 512 МБ.Размер пакета развертывания составляет до 50 МБ в ZIP-формате и до 250 МБ в разархивированных файлах.Таким образом, вы можете положиться на 512 МБ.

См. Соответствующую документацию: Лямбда-лимиты AWS

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...