You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS SAM配置Lambda访问DynamoDB和S3时Policies校验报错

故障原因

Policies段校验失败的核心原因是配置多个SAM内置策略模板时,未使用列表(数组)格式包裹。
SAM对AWS::Serverless::Function资源的Policies字段有明确语法规则:

  • 仅配置1个内置策略/托管策略时,支持简写,直接将策略以键值对形式写在Policies层级下即可
  • 配置2个及以上策略时,必须将所有策略放入YAML列表结构,每个策略作为列表的独立条目
    你当前的写法把DynamoDBCrudPolicy和S3CrudPolicy直接作为Policies下的同级映射键,不符合多策略的语法规范,因此校验报错;仅保留任意单个策略时,刚好符合单策略的简写规则,所以可以正常通过校验。
修正方案

只需要给两个策略条目前添加列表标识符-,将Policies段调整为列表格式即可,修正后的相关配置片段如下:

Policies:
        - DynamoDBCrudPolicy:
            TableName: pending-response
        - S3CrudPolicy:
            BucketName: mresponse

调整时注意保持正确缩进:策略名跟在-后,策略的属性(TableName、BucketName)要相对策略名缩进两个空格,避免YAML层级解析错误。

内容的提问来源于stack exchange,提问作者Mandar Joshi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.27 23:12:17