Развертывание безсерверной инфраструктуры с проблемой внешних зависимостей
У меня есть две лямбда-функции: lambda_fn_1 и lambda_fn_2 со следующими зависимостями: 1. lambda_fn_1 имеет модуль "запросы" в качестве внешней зависимости 2. lambda_fn_2 имеет модуль "psycopg2" в качестве внешней зависимости
Я хочу развернуть эти функции в AWS Lambda, используя безсерверный фреймворк. Вот мой файл шаблона serverless.yaml:
Я создал файл require.txt, который имеет обе зависимости. Теперь я хочу развернуть lambda_fn_1 только с модулем зависимости "запросы" и lambda_fn_2 только с модулями зависимости "psycopg2". Какие изменения следует внести в файл шаблона без сервера?
1 ответ
Вместо того, чтобы иметь один единственный файл require.txt, который имеет обе зависимости, подобные этой:
- requirements.txt:
- requests
- psycopg2
Имейте два отдельных файла require.txt, каждый для одной лямбда-функции, которая имеет только необходимые зависимости для этой лямбда-функции. Это будет новая структура папок:
- lambda_fn_1:
- requirements.txt (requests)
- handler.py
- lambda_fn_2:
- requirements.txt (psycopg2)
- handler.py
и это будет модификация в безсерверном шаблоне:
- lambda_fn_1:
handler: handler.lambda_handler
module: lambda_fn_1
- lambda_fn_2:
handler: handler.lambda_handler
module: lambda_fn_2
"Модуль" отображает место, где фреймворк выбирает файл require.txt, и, таким образом, он берет этот файл только в этой конкретной папке.