我正在尝试将lambda函数与serverless.yml
文件一起部署到AWS,但是它抛出了错误
以下是YAML文件中定义的功能
functions:
s3-thumbnail-generator:
handler:handler.s3_thumbnail_generator
events:
- s3:
bucket: ${self:custom.bucket}
event: s3.ObjectCreated:*
rules:
- suffix: .png
plugins:
- serverless-python-requirements
我得到的错误:
无法读取块映射条目;多行键可能不是serverless.yml中的隐式键”,位于第45行第10列:
我需要了解如何在YAML文件中解决此问题,以便将功能部署到AWS?
答案 0 :(得分:0)
问题是该行的末尾没有值指示符(:
):
handler:handler.s3_thumbnail_generator
因此,解析器将继续尝试通过添加events
和后跟一个值指示符来收集多行纯标量。但是,多行普通标量不能成为YAML中的键。
目前尚不清楚您的实际错误是什么。可能是您需要添加值指示符并在键中嵌入冒号:
functions:
s3-thumbnail-generator:
handler:handler.s3_thumbnail_generator:
events:
- s3:
bucket: ${self:custom.bucket}
event: s3.ObjectCreated:*
rules:
- suffix: .png
plugins:
- serverless-python-requirements
也可能是冒号应该是一个值指示符(通常需要以下空格),并且您的缩进太草率:
functions:
s3-thumbnail-generator:
handler: handler.s3_thumbnail_generator
events:
- s3:
bucket: ${self:custom.bucket}
event: s3.ObjectCreated:*
rules:
- suffix: .png
plugins:
- serverless-python-requirements
答案 1 :(得分:0)
如果它是您的原始文件,则您的YAML文件中存在语法错误。我在可能出现错误的行下添加了一条注释:
[[1,2], [2,1]]