Слой Python в лямбде через cdkPython

Программы на Python
Ответить
Anonymous
 Слой Python в лямбде через cdk

Сообщение Anonymous »

TL;DR: файл требований.txt завершает уровень, а не сами модули.
У меня есть очень простая лямбда, созданная cdk.

Код: Выделить всё

from aws_cdk import aws_lambda_python_alpha as aws_lambda_python
from aws_cdk import aws_iam, aws_lambda, Duration, Stack
from constructs import Construct

class Lambda(Stack):
def __init__(self, scope: Construct, construct_id: str):
super().__init__(scope, construct_id)

aws_lambda_python.PythonFunction(
self,
"LambdaFunction",
entry="src/lambda",
index="size.py",
handler="lambda_handler",
runtime=aws_lambda.Runtime.PYTHON_3_9,
layers=[
aws_lambda_python.PythonLayerVersion(
self,
"lambda-layer",
entry="src/layers/",
compatible_runtimes=[aws_lambda.Runtime.PYTHON_3_9],
)
],
)
Это работает, поскольку я вижу лямбду в консоли, а также содержимое src/lambda и слой.
Файл src/layers/requirements.txt существует и очень мал:

Код: Выделить всё

boto3
botocore
jsons
structlog
Когда я смотрю на слой: aws лямбда get-layer-version-by-arn --arn и загружаю/разархивирую контент. Местоположение, я получаю только файл требований.txt, а не сами модули. И, конечно же, при запуске лямбды я получаю, что json-модуль не найден (например).
Что мне нужно сделать, чтобы получить фактические зависимости, а не файл требований ?

Подробнее здесь: https://stackoverflow.com/questions/792 ... da-via-cdk
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»