AWS: удаление лямбда-слоя по-прежнему сохраняет историю версий слоя

Я развертываю слой AWS Lambda с помощью aws cli:

aws lambda publish-layer-version --layer-name my_layer --zip-file fileb://my_layer.zip

Я удаляю его с помощью

VERSION=$(aws lambda list-layer-versions --layer-name my_layer | jq '.LayerVersions[0].Version'
aws lambda delete-layer-version --layer-name my_layer --version-number $VERSION

Удаляется успешно, если не существует другой версии слоя.

aws lambda list-layer-versions --layer-name my_layer
>
{
    "LayerVersions": []
}

При следующей публикации слоя он по-прежнему сохраняет историю предыдущей версии. Из того, что я прочитал, если версии слоя не существует и ссылки не существует, история версий должна исчезнуть, но я этого не вижу. У кого-нибудь есть решение для ЖЕСТКОГО удаления слоя с его версией?


person cloud jockey    schedule 24.03.2020    source источник


Ответы (4)


У меня точно такая же проблема. Я пытаюсь «сбросить» счетчик версий до 1, чтобы соответствовать управлению версиями кода и тегам в моем репо. В настоящее время я нашел единственный способ опубликовать новый слой с новым именем.

Я думаю, что продукту AWS Lambda не хватает функций, которые помогают (семантическому) управлению версиями.

person Federico Boschini    schedule 15.04.2020

В настоящее время нет возможности сделать это. Версии слоя неизменяемы, их нельзя обновлять или изменять, вы можете только удалять и публиковать новые версии слоев. После того, как версия слоя «проштампована» - нет никакого способа (AFAIK), чтобы вы могли вернуться и вернуть эту версию слоя.

Может случиться так, что через некоторое время (недели ... месяцы?) AWS удалит свою память о версии слоя, но в существующем виде номер версии, присвоенный любому удаленному слою, не может быть принят каким-либо новым слоем.

person keithRozario    schedule 25.03.2020

Я столкнулся с аналогичной проблемой с версиями слоев. Есть ли у вас предложения по простому выходу вместо написания кода, чтобы проверить доступные версии и выбрать последнюю ...

person Sudhir Nallagangu    schedule 08.04.2020

Я столкнулся с той же проблемой. Поскольку не было команды aws-cli для удаления самого слоя, мне пришлось удалить все версии моего лямбда-слоя, используя:

aws lambda delete-layer-version --layer-name test_layer --version-number 1

После удаления всех версий слоя слой не отображался на странице лямбда-слоев aws, поэтому я подумал, что он успешно удален.

Но, к моему удивлению, AWS stills хранит данные о наших удаленных слоях (по крайней мере, последнюю версию наверняка), когда вы пытаетесь создать лямбда-слой с вашим предыдущим удаленным лямбда-именем с помощью aws gui или cli, версия не запускается с 1, вместо этого он начинается с last_version предполагаемого удаленного слоя.

person Satya Vinay    schedule 11.12.2020