CloudFormation关联Lambda Layer报错:Layers应为JSONArray而非String
解决CloudFormation中Lambda Layer关联时的JSON类型错误
你遇到的错误根源是Lambda函数的Layers属性要求为JSON数组类型,但你当前的写法将其定义成了单个对象。
错误写法
"Layers": { "Ref": "MyLayer" },
修正后的写法
将Layers改为数组形式,即使只关联一个Layer,也需要用数组包裹引用:
"Layers": [ {"Ref": "MyLayer"} ],
原因说明
在CloudFormation的Lambda函数资源定义中,Layers字段的类型是列表(数组),用于支持同时关联多个Lambda Layer。你之前的写法传递了一个对象而非数组,不符合AWS对该字段的类型校验规则,因此触发了expected type: JSONArray, found: String的错误。你的Lambda Layer资源定义本身是正确的,只需调整Lambda函数中Layers的引用格式即可。
内容的提问来源于stack exchange,提问作者Vaisakh Mohan
相关产品推荐
相关产品推荐

