Amazon web services 如何在`serverless.yml`的`Resources`中使用`If`条件?
我正在尝试使用Amazon web services 如何在`serverless.yml`的`Resources`中使用`If`条件?,amazon-web-services,aws-lambda,amazon-cloudformation,serverless-framework,Amazon Web Services,Aws Lambda,Amazon Cloudformation,Serverless Framework,我正在尝试使用!如果资源部分中的条件失败。我想控制是否在lambda上设置provisionedConcurrency。lambda在功能部分中定义 功能: getTransactionsHandler: ... 资源: 条件: CommonPCNotZero:!不[!等于[0,${self:custom.commonPC}']] 资源: !如果 -公共PCNOTZERO -getTransactionsHandler: 类型:AWS::Lambda::Alias 特性: 函数名:!Ref G
!如果资源
部分中的
条件失败。我想控制是否在lambda上设置provisionedConcurrency
。lambda在功能
部分中定义
功能:
getTransactionsHandler:
...
资源:
条件:
CommonPCNotZero:!不[!等于[0,${self:custom.commonPC}']]
资源:
!如果
-公共PCNOTZERO
-getTransactionsHandler:
类型:AWS::Lambda::Alias
特性:
函数名:!Ref GetTransactionsHandlerLambdaFunction
功能版本:!加入['',[!Ref GetTransactionsHandlerLambdaFunction':$LATEST']]
ProvisioniedConcurrencyConfig:
ProvisionedConcurrentExecutions:“${self:custom.commonPC}”
- !参考AWS::NoValue
我在运行sls部署时遇到以下错误:
Error: The CloudFormation template is invalid: Template format error: [/Resources/Fn::If] resource definition is malformed
使用
的正确方法是什么!如果资源的
condition?,只需添加一个条件即可将其包括或排除
功能:
getTransactionsHandler:
...
资源:
条件:
CommonPCNotZero:!不[!等于[0,${self:custom.commonPC}']]
资源:
getTransactionsHandler:
类型:AWS::Lambda::Alias
条件:公共PCNOTZERO
特性:
函数名:!Ref GetTransactionsHandlerLambdaFunction
功能版本:!加入['',[!Ref GetTransactionsHandlerLambdaFunction':$LATEST']]
ProvisioniedConcurrencyConfig:
ProvisionedConcurrentExecutions:“${self:custom.commonPC}”
另外,注意你的缩进<代码>类型和
属性
应处于同一级别。对于资源,您只需添加一个条件
即可将其包括或排除
功能:
getTransactionsHandler:
...
资源:
条件:
CommonPCNotZero:!不[!等于[0,${self:custom.commonPC}']]
资源:
getTransactionsHandler:
类型:AWS::Lambda::Alias
条件:公共PCNOTZERO
特性:
函数名:!Ref GetTransactionsHandlerLambdaFunction
功能版本:!加入['',[!Ref GetTransactionsHandlerLambdaFunction':$LATEST']]
ProvisioniedConcurrencyConfig:
ProvisionedConcurrentExecutions:“${self:custom.commonPC}”
另外,注意你的缩进<代码>类型和属性应处于同一级别。不能使用If使整个资源有条件。通常,应使用以下工具完成以下操作:
不能使用If使整个资源有条件。通常,应使用以下工具完成以下操作:
resources:
Conditions:
CommonPCNotZero: !Not [!Equals [0, '${self:custom.commonPC}']]
Resources:
MyLambdaAlias:
Type: AWS::Lambda::Alias
Condition: CommonPCNotZero
Properties:
FunctionName: !Ref GetTransactionsHandlerLambdaFunction
FunctionVersion: !Join ['', [!Ref GetTransactionsHandlerLambdaFunction, ':$LATEST']]
ProvisionedConcurrencyConfig:
ProvisionedConcurrentExecutions: '${self:custom.commonPC}'