Serverless AWS项目部署失败:S3 Bucket资源存在非法键错误
错误原因分析与解决方案
错误核心原因
你遇到的CREATE_FAILED: FileUploadToBucket (AWS::S3::Bucket)错误,本质是给S3 Bucket资源配置了不属于它的属性字段。
AWS CloudFormation对每个资源类型的属性有严格限制,TableName是DynamoDB Table资源的专属属性,根本不属于S3 Bucket的合法配置项。虽然你贴出的YAML里没显式写出FileUploadToBucket的资源定义,但可以确定是在配置的resources模块中,给这个S3 Bucket错误添加了TableName字段,导致CloudFormation属性验证失败,抛出“extraneous key [TableName] is not permitted”的报错。
修复步骤
- 找到配置文件中
resources.Resources.FileUploadToBucket的定义部分,删除其中的TableName字段 - 检查该S3 Bucket的其他配置项,确保只使用AWS允许的S3 Bucket合法属性(比如
BucketName、CORSConfiguration等)
额外注意
你当前配置里的custom.s3Sync存在拼写错误:bucktName应该改为bucketName,这个错误可能导致后续的静态文件同步功能失效,建议一并修正。
内容的提问来源于stack exchange,提问作者Kasun Jayasanka
相关产品推荐
相关产品推荐

