AWS:删除 lambda 层仍保留层版本历史记录

clo*_*key 6 amazon-web-services aws-cli aws-lambda aws-lambda-layers

我正在使用 aws cli 部署 AWS Lambda 层:

aws lambda publish-layer-version --layer-name my_layer --zip-file fileb://my_layer.zip
Run Code Online (Sandbox Code Playgroud)

我删除它使用

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
Run Code Online (Sandbox Code Playgroud)

删除成功,确保不存在其他版本的图层。

aws lambda list-layer-versions --layer-name my_layer
>
{
    "LayerVersions": []
}
Run Code Online (Sandbox Code Playgroud)

在下一次发布图层时,它仍然保留以前版本的历史记录。从我读到的如果不存在图层版本并且不存在参考,版本历史应该消失,但我没有看到。有人有解决方案来硬删除图层及其版本吗?

小智 5

我也有同样的问题。我想要实现的是将版本计数“重置”为 1,以便匹配我的存储库上的代码版本控制和标签。目前,我发现的唯一方法是发布一个具有新名称的新图层。

我认为 AWS Lambda 产品缺乏有助于(语义)版本控制的功能。


kei*_*rio 2

目前还没有办法做到这一点。图层版本是不可变的,无法更新或修改,只能删除和发布新的图层版本。一旦图层版本被“标记”——您就无法返回并取回该图层版本。

可能在一段时间(几周...几个月?)之后,AWS 会删除该层版本的内存,但就目前情况而言,分配给任何已删除层的版本号不能被任何新层所采用。