Вы когда -нибудь хотели изменить функцию лямбды, которая работает в вашей живой среде, но вы беспокоились о том, что сделаете ошибку и у вас есть время простоя? Или, что еще хуже, вы внесли изменения и сбили свой сайт? 😬 AWS Lambda предоставляет способ создать версии функции для проверки функциональности в более низких средах, прежде чем перемещать ее в более высокие среды, все без риска влияния вашего развернутого кода.
Во -первых, создайте новую функцию или выберите функцию, которую вы уже создали. В верхней части страницы под выпаданием действий выберите опубликовать новую версию вашей функции.
Вы можете добавить описание в свою версию. Это, по сути, сохраняет снимок вашей функции, как это сейчас (как и коммит GIT).
Вы заметите, что в окне говорится, что он создает новую версию из $ Последнее
. Это тег, который AWS дает вашему текущему рабочее состояние. Любые изменения, которые вы вносите в свою функцию, сохраняются в $ Последнее
Версия, даже если вы сами не публикуете явную версию.
После того, как мы опубликуем нашу новую версию, нас отвезут в эту новую копию нашей функции Lambda. Мы можем сказать, в какой версии мы находимся по номеру, добавленному к имени функции. Мы можем вернуться к нашему $ Последнее
Функциональная версия с помощью выпадающей версии или трассы для хлебной крошки в левом верхнем углу.
Мы не можем внести изменения или опубликовать новую версию этого снимка, поэтому давайте вернемся к нашему $ Последнее
Версия и внесите изменения в наш код! Мы опубликуем его как версию 2.
Вот и мы! Теперь у нас есть несколько версий наших функций, которые мы можем использовать для тестирования в разных средах. Эти разные версии можно ссылаться с использованием имени ARN или функции с номером версии, добавленным так: Aliasandversioning: 2
Анкет
Но что, если мы опубликуем третью версию и хотим, чтобы правило CloudWatch или триггер S3 указывал на нашу новую версию? С номерами версий мы должны были бы каждый раз обновлять информацию о ресурсе с новым номером. Вот куда приходят псевдонимы, чтобы спасти день.
Псевдонимы — это по существу прозвища или теги, которые мы можем указывать на определенные версии нашей функции. Когда мы создаем новую версию нашей функции, мы можем просто переместить наш псевдоним, чтобы указать там. Давайте посмотрим на это в действии.
Создание псевдонима производства
Под выпаданием действий выберите, чтобы создать псевдоним. Здесь мы можем установить имя, описание, и на какую версию мы укажем псевдоним. Давайте установим Prod
(Производство) в версии 1, которую мы создали.
Раздел взвешенного псевдонима внизу позволяет вам отвлечь процент от вашего трафика в разные версии вашей функции, например, для A/B -тестирования.
Когда мы сохраняем этот псевдоним, мы увидим экран, очень похожий на то, что мы видели, когда создали новую версию, но имя псевдонима теперь добавляется к имени функции вместо номера версии!
Создание псевдонима развития
Давайте теперь создадим псевдоним разработчика (разработки). Вместо того, чтобы указывать на это на номере версии, мы можем указать прямо на $ Последнее
всегда отражать наши последние изменения.
Теперь у нас есть псевдонимы для нашей различной среды разработки! Поэтому, когда я ссылаюсь на эту функцию при настройке любых других ресурсов, я могу ссылаться на псевдоним функции, такой как Aliasandversioning: dev
Анкет
Обновление псевдоним ссылки
Допустим, мы закончили тестирование версии 2 нашей функции в среде разработки, и мы готовы использовать ее в производстве. Если у нас настроены ссылки, чтобы указывать на псевдоним, это так же просто, как просто настройка определения псевдонима.
Давайте выберем наш Prod
псевдоним от выпадения псевдонима, чтобы мы могли редактировать его настройки. В поле конфигурации псевдонима внизу нажмите кнопку «Редактировать».
Из выпадающей версии на странице мы теперь можем выбрать версию 2 и сохранить наши изменения.
Производство теперь будет использовать нашу более новую версию! 🎉
Поздравляю! Теперь вы будете профессионалом, работая с версиями и псевдонимом в AWS Lambda. Ваши товарищи по работе будут в восторге от ваших удивительных навыков DevOps, и ваши клиенты будут очень довольны, зная, что их сайты будут более устойчивыми и гораздо меньше шансов иметь время простоя.
Оригинал: «https://dev.to/kbravh/versions-and-aliases-in-aws-lambda-4ioe»