Уровень AWS Lambda — увеличение версии, несмотря на любое изменение кода

#python-3.x #amazon-web-services #aws-lambda #version #aws-lambda-layers

#python-3.x #amazon-веб-сервисы #aws-lambda #версия #aws-lambda-layers

Вопрос:

Я создаю лямбда-слой в своем Cloudformation шаблоне, как показано ниже. Проблема в том, что с каждым развертыванием версия уровня lambda увеличивается. Например, текущая версия уровня 120 для PythonUtilsLayer показанного ниже. Я предполагал, что SAM будет изменять ресурс только в том случае, если есть основное изменение (т.Е. Что-то внутри ../../utils/py/ здесь). Есть идеи, почему SAM создается новая версия, хотя изменений нет?

   PythonUtilsLayer:
    Type: "AWS::Serverless::LayerVersion"
    Properties:
      LayerName: !Sub "${Stage}-PythonUtilsLayer"
      Description: Utility layer for python functions
      ContentUri: "../../utils/py/"
      CompatibleRuntimes:
        - python3.7
        - python3.8
      LicenseInfo: Crowdblink
    Metadata:
      BuildMethod: python3.7
 

Комментарии:

1. Вы можете попробовать настроить политику сохранения . Возможно, по умолчанию установлено значение Retain .

2. В соответствии с этим от AWS, AWS SAM пропускает обновление уровня, если в ваших зависимостях нет изменений. Итак, вы уверены, что этого не происходит?

3. @Marcin Я думал RetentionPolicy , что это для Delete s, позвольте мне попробовать и посмотреть, как он ведет себя при обновлениях стека (в данном случае косвенно обновляется ресурс; поскольку код слоя не претерпевает никаких изменений, но версия слоя обновляется)

4. @amitd Это правильно, я ничего не изменил в слое, поскольку это несколько служебных библиотек, которые редко меняются между обновлениями стека.

5. @JimsonKannantharaJames вы решили эту проблему?