AWS SAM строит слои локально с флагом `--use-container`? - PullRequest
2 голосов
/ 08 апреля 2019

Я использую sam cli тоже для сборки и развертывания AWS Lambdas:

Команда sam build выполняет перебор функций в вашем приложении, ищет файл манифеста (например, needs.txt)который содержит зависимости и автоматически создает артефакты развертывания, которые можно развернуть в Lambda с помощью команд sam package и sam deploy.

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

А как насчет слоев AWS Lambda?

У меня есть функция:

  CreateImagesLambdaFunction:
    Type: AWS::Serverless::Function
    Properties:
      Runtime: python3.7
      Handler: lambda_function.create
      CodeUri: ./functions/image_handler/
      ...
      Layers: 
        - !Ref LayerPillow

, который использует слой с нативно скомпилированными зависимостями (таким образом, должен быть установлен в linux):

  LayerPillow:
    Type: AWS::Serverless::LayerVersion
    Properties:
      ...
      ContentUri: ./functions/layer_pillow/

Я могу обойти это, просто установив зависимости, используя образ докера amazonlinux:latest и скопировав в мой репозиторий., но было бы любопытно, если SAM поддерживает эту функцию

...