gpt4 book ai didi

amazon-web-services - Fn::GetAtt 内的 AWS Cloudformation Fn::ImportValue

转载 作者:行者123 更新时间:2023-12-04 07:49:33 27 4
gpt4 key购买 nike

是否可以在 Fn::GetAtt 中使用 Fn::ImportValue。目前,我正在尝试执行以下操作

    "ParentId": {
"Fn::GetAtt": [
{
"Fn::ImportValue": {
"Fn::Sub": "${ParentStack}:RestApi"
}
},
"RootResourceId"
]
}

但是我遇到了一个错误。“模板错误:每个 Fn::GetAtt 对象都需要两个非空参数,即资源名称和资源属性”。

最佳答案

就目前情况而言,不可能在“Fn::GetAtt” block 内包含“Fn::ImportValue”。我对此的最佳解释是,您想要获取属性值的资源不在当前模板的范围内。

您可以尝试从“父”模板中导出您感兴趣的所有属性值。

因此您的父模板将如下所示:

"Outputs" : {
"RestApi": {
"Value" : { "Ref": "RestApi" },
"Export" : { "Name": "RestApi" }
},
"RestApiRootResourceId": {
"Value" : { "Fn::GetAtt": ["RestApi", "RootResourceId"] },
"Export" : { "Name" : "RestApiRootResourceId" }
}
}

现在,在您的子模板中,您可以从父模板引用您的 API 根资源 ID:

"Resources" : {
"XApiResource": {
"Type": "AWS::ApiGateway::Resource",
"Properties": {
"RestApiId": {"Fn::ImportValue" : "RestApi"},
"ParentId": {"Fn::ImportValue" : "RestApiRootResourceId"},
"PathPart": "apiPath"
}
}
}

关于amazon-web-services - Fn::GetAtt 内的 AWS Cloudformation Fn::ImportValue,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47497008/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com