Aws lambda Can';t从云形成yaml中的条件函数返回整数
我正在为lambda函数编写一个无服务器的yaml。我需要一个条件参数Aws lambda Can';t从云形成yaml中的条件函数返回整数,aws-lambda,yaml,amazon-cloudformation,serverless-framework,Aws Lambda,Yaml,Amazon Cloudformation,Serverless Framework,我正在为lambda函数编写一个无服务器的yaml。我需要一个条件参数reservedConcurrency,如果IsProduction为true,则为100,如果为false,则为20。但在部署yaml文件时发生错误: 您应该使用整数作为函数的reservedConcurrency值 resources: Conditions: IsProduction: Fn::Equals: - ${self:provider.stage} - p
reservedConcurrency
,如果IsProduction为true,则为100,如果为false,则为20。但在部署yaml文件时发生错误:
您应该使用整数作为函数的reservedConcurrency值
resources:
Conditions:
IsProduction:
Fn::Equals:
- ${self:provider.stage}
- production
functions:
somefunction:
handler: functions/somefunction
timeout: 300
events:
- sqs:
arn:
Fn::GetAtt: [ somequeue, Arn ]
batchSize: 10
reservedConcurrency:
Fn::If:
- IsProduction
- 100
- 20
不能在
serverless.yml
文件中的functions
块中使用Cloudformation内部函数
相反,尝试使用
我知道这有点傻,但你试过Fn::If:[IsProduction,100,20]?@congbauguier-Yep,试过了。相同错误。请提供AWS Lambda函数的完整正确定义(例如,您的密钥当前错误)。另外,添加
IsProduction
条件的定义将有助于提供完整的示例。@请添加IsProduction
,以供参考。该部件已经在其他配置中进行了测试,因此,不用担心。你认为哪个键是错的?例如,你的键的大小写是错的。我建议您使用类似的工具来验证您的模板是否有效。
custom:
concurrency:
prod: 100
functions:
somefunction:
handler: functions/somefunction
timeout: 300
events:
- sqs:
arn:
Fn::GetAtt: [ somequeue, Arn ]
batchSize: 10
reservedConcurrency: ${self:custom.concurrency.${self:provider.stage}, 20}