Альтернатива AWS лямбда, когда размер пакета развертывания превышает 250 МБ? - PullRequest
1 голос
/ 24 марта 2019

Когда я хочу запустить некоторый код без сервера, я использую AWS Lambda.Однако на этот раз мой пакет развертывания превышает 250 МБ.

Так что я не могу развернуть его на Lambda ...

Я хочу знать, каковы альтернативы в этом случае?

Ответы [ 2 ]

2 голосов
/ 27 марта 2019

Я бы поставил под сомнение вашу архитектуру.Если вы столкнулись с проблемами, связанными с тем, как AWS спроектировал сервис (т. Е. Максимальный размер лямбды 250 МБ), скорее всего, вы используете сервис так, как он не предназначен.

Анти-паттерн, который я часто вижу, -люди складывают весь свой код в одну функцию.Аналогично тому, как вы развернете весь свой код на одном сервере.Это не совсем тот случай использования AWS лямбда.

Ваша функция выполняет одну функцию?Если нет, переработайте его в разные функции, делая разные вещи.Это может помочь удалить зависимости, когда вы разбиваетесь на несколько функций.

Еще одна вещь, на которую вы можете обратить внимание, это то, можете ли вы кодировать функцию на другом языке (еще одна причина, по которой функции должны быть небольшими).Однажды у меня была лямбда-функция в python, которая превысила 250 МБ.Когда я посмотрел на решение той же проблемы с node.js, размер моей функции упал до 20 МБ.

1 голос
/ 25 марта 2019

Одна вещь, которую вы можете сделать, перед запуском лямбда-функции: вы можете загрузить зависимости в папку / tmp из корзины s3, а затем добавить ее в путь Python, это даст вам дополнительные 512 МБ, хотя вам необходимо принять во внимание загрузку время для некоторых лямбда-вызовов

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