如何通过AWS CLI或API编程移除AWS Lambda函数的指定Layer层
可以通过AWS CLI/API实现Lambda指定层的移除
你之前用到的aws lambda update-function-configuration命令的--layers参数是全量覆盖配置,而非增量添加,所以只要通过「获取当前层列表→过滤掉要移除的层→提交新的层列表」三步即可完成指定层的移除,具体操作如下:
步骤1:获取当前函数关联的所有层ARN
执行以下命令拿到目标函数当前绑定的全部层的ARN列表:
aws lambda get-function-configuration --function-name my-function-name --query "Layers[*].Arn" --output text
步骤2:过滤要移除的层并提交新配置
把你需要移除的ARN arn:aws:lambda:us-west-2:000000000:layer:layer-name:7 从步骤1拿到的列表中剔除,将剩余的ARN作为参数传入更新命令即可,示例如下:
# 假设剔除目标层后剩余的层ARN为arn1、arn2,按实际情况替换即可 aws lambda update-function-configuration --function-name my-function-name --layers "arn1" "arn2"
特殊场景:移除函数所有层
如果需要清空函数绑定的全部层,直接传入空列表即可:
aws lambda update-function-configuration --function-name my-function-name --layers []
API调用说明
如果使用官方SDK调用API,逻辑和CLI完全一致:调用UpdateFunctionConfiguration接口,将Layers参数设置为过滤后的层ARN列表即可。
注意:执行操作的身份需要持有
lambda:UpdateFunctionConfiguration权限,操作完成后可以重新执行步骤1的命令确认移除结果。
内容的提问来源于stack exchange,提问作者Alana Storm
相关产品推荐
相关产品推荐

