我正在尝试使用以下cloudformation堆栈,但由于以下错误我一直失败:
模板错误:每个Fn :: Split对象都需要两个参数,(1)一个字符串定界符,(2)一个要拆分的字符串,或者一个返回要拆分的字符串的函数。
{
"Type": "AWS::Route53Resolver::ResolverRule",
"Properties": {
"DomainName": {"Fn::Sub": "ad.${EnvName}.yyy.xxx.com"},
"Name": {"Fn::Sub": "${EnvName}"},
"ResolverEndpointId": "1",
"RuleType": "FORWARD",
"Tags" : [
{
"Key": "Name",
"Value": {
"Fn::Sub": "${EnvName}-ADResolverRule"
}
}
],
"TargetIps": [
{
"Ip": {
"Fn::Select": [
0,
{
"Fn::Split": [
",",
{
"Fn::GetAtt": [
"MicrosoftAD",
"DnsIpAddresses"
]
}
]
}
]
},
"Port": "53"
}
]
}
}
不太确定为什么我有Fn :: Split函数的值,将不胜感激。
谢谢。
问题似乎是您不需要在此处调用split。当您调用Fn :: GetAtt时,在这种情况下不会创建字符串。如果您查看documentation,它将生成一个列表对象。查看各种examples,您会发现不需要拆分。