是否可以使用导出堆栈的logicalId。我创建了一个APIGateway资源并将其导出。它的logicalId是value
。当我尝试获取rApiGatewayVehRestApi
的RootResourceId时,在无服务器部署期间出现以下错误:
rApiGatewayVehRestApi
以下是无服务器配置的片段:
The CloudFormation template is invalid: Template error: instance of Fn::GetAtt references undefined resource rApiGatewayVehRestApi
答案 0 :(得分:1)
您收到该错误的原因是堆栈中没有包含逻辑ID rApiGatewayVehRestApi
的资源。
导出值时,导出的是单个值,而不是整个资源。如果您想导出ID,可以在导出端执行Fn::GetAtt
,例如:
Outputs:
RestApiRootResourceId:
Value: !GetAtt YourApiGateway.RootResourceId
Export:
Name: rApiGatewayVehRestApiId
关于导出限制的一些注释,如Outputs文档中所述。