我正在使用cloudformation来部署我的代码。在我的yml档案里我有这个 DependsOn
我试图为其添加值为“appapiv1stage”的属性。我试过很多种方法,每次都会出现不同的错误,不知道我做错了什么。在下面的代码段中,我首先用双引号将其添加如下: "AppApiv1Stage"
然后它显示出错误。我再次尝试使用下面的代码,然后它显示错误为“dependson必须是字符串或字符串列表”
Parameters:
ApiStageSecondDeploymentName:
Description: API Stage name to use
Type: String
Default: v1
Resources:
AppAPI:
Type: AWS::Serverless::Api
DependsOn: AuthFunction
Properties:
Name: !Sub ${AWS::StackName}
StageName: !Ref ApiStageSecondDeploymentName
Variables:
LocalTLD: local # Deploys a Dev stage to use for tests and development
MethodSettings:
- LoggingLevel: ERROR
MetricsEnabled: True
DataTraceEnabled: True
HttpMethod: '*'
ResourcePath: '/*'
ThrottlingBurstLimit: !Ref ApiBurstLimit
ThrottlingRateLimit: !Ref ApiRateLimit
ApiMapping:
DependsOn: !Sub AppAPI !Ref ${ApiStageSecondDeploymentName}Stage
Type: AWS::ApiGateway::BasePathMapping
Properties:
BasePath: !Ref ApiStageSecondDeploymentName
DomainName:
Fn::ImportValue: !Sub ${CustomDomainStack}-DNSName
RestApiId: !Ref AppAPI
我也试过加入!但又出现了错误。
1条答案
按热度按时间egmofgnx1#
不知道我做错了什么
DependsOn
如错误所述,必须是字符串或字符串列表。不是内在函数(sub,ref)。更重要的是,内在函数只能在模板中的少数地方使用,而这些地方都不是
DependsOn
. 来自文档:只能在模板的特定部分使用内部函数。目前,您可以在资源属性、输出、元数据属性和更新策略属性中使用内部函数。还可以使用内部函数有条件地创建堆栈资源。