Определение $ LATEST версии AWS Lambda - PullRequest
0 голосов
/ 16 марта 2020

Пожалуйста, укажите мне документацию, где AWS определяет $ LATEST лямбда-версии, или предположите, что именно так AWS использует терминологию без ее определения.

Понятно AWS лямбда-документы говорят, что $ LATEST - это версия.

  • AWS Версии лямбда-функций

    Если вы не опубликовали версию выбранной функции, на панели «Версии» отображается только $ LATEST version .

Сначала я думал, что это похоже на тег HEAD , указывающий на последний коммит в ветви Git. Git commit является неизменным, но лямбда версия не является.

AWS Версии лямбда-функции

A версия может быть опубликован тот, который является постоянным.

Система создает новую версию вашей лямбда-функции каждый раз, когда вы публикуете sh функцию. ... Когда вы публикуете sh версию, код и большинство настроек блокируются , чтобы обеспечить согласованное использование для пользователей этой версии.

Но также это может быть неопубликованный , который можно изменить и сохранить.

Вы можете изменить код функции и настройки только на неопубликованная версия функции.

Итак, я не могу найти определение по AWS, что $ LATEST является временным снимком код + время выполнения + настройка, которую кто-то сохранил в какой-то момент в учетной записи AWS и еще не обновил и не сохранил.

Полагаю, это похоже на временный артефакт в процессе выполнения в локальном git хранилище. Мы не будем знать, что это за код, потому что кто-то может его сохранить, и мы никогда не узнаем, что мы выполняем, если не будем использовать опубликованную, а значит, неизменную версию в качестве квалификатора при вызове.

И лично верим версия должна быть неизменной. Он не должен быть изменяемым, как Lambda $ LATEST. Версия 1 по состоянию на 19 марта 15:00 или версия 1 по состоянию на 20 марта 13:00 не имеют для меня никакого смысла. Версия 1 должна быть уникальной. Если внесено изменение, оно должно быть версии 1.1 или 2.0.

Invoke

POST /2015-03-31/functions/FunctionName/invocations?Qualifier=Qualifier HTTP/1.1

Пожалуйста, сообщите, если это правильное понимание, и мы не должны использовать $ ПОСЛЕДНИЕ для вызова, если только один человек не работает и не тестирует.

И если это так, то, я полагаю, наличие $ LATEST не имеет практической цели в правильном проектировании, где мы должны быть в состоянии последовательно идентифицировать ревизию кода и воспроизводить тот же результат, если мы повторим то же самое процедура по пересмотру.


Обновление

В настоящее время я считаю, что моя путаница произошла из-за непоследовательного и, возможно, неправильного именования AWS.

Версия является неизменным, если опубликовано, но изменяемым, если не опубликовано, и в этом случае называется $ LATEST.

Версия может быть снимком лямбда-функции, но может быть целым числом.

$ LATEST указывает на последнюю сохраненную лямбда-функцию, которую можно изменить в любое время, и мы можем знать, что мы выполняем или смотрим, если мы используем $ LATEST. $ LATEST для меня может отличаться для кого-то еще. Мне кажется, я работаю над движущейся целью.

enter image description here

1 Ответ

2 голосов
/ 17 марта 2020

Основываясь на комментариях, следующее помогло прояснить проблемы:

Когда вы ссылаетесь на «версию» в лямбде, вы обычно подразумеваете «опубликованную версию» (например, 1, 2, 3), которая является неизменной. , $LATEST - это просто самая последняя «неопубликованная версия», которую вы можете изменить по своему желанию. Вы продолжаете работать / тестировать на $LATEST, пока не будете удовлетворены этим. Как только вы счастливы, вы можете «заморозить» его, опубликовав. В то время это становится неизменной версии нет. 1, например.

Поскольку версии являются неизменяемыми, aliases обычно используется в коде вашего клиента. Псевдонимы могут быть изменены, чтобы указывать на разные версии, когда вы публикуете sh новую версию своей функции. Если бы версии были изменяемыми или могли бы быть «неопубликованными», псевдонимы были бы довольно бессмысленными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...