我无法获得AWS Route53服务的ListResourceRecordSets来按StartRecord类型进行过滤。即使使用StartRecordType过滤器,它也会返回所有记录(cname和A),而不是我选择的类型。
我还注意到,如果不包含StartRecordName,则会收到验证错误,因此,如果使用StartRecordType,则需要StartRecordName。
下面的代码返回所有记录,但未按要求进行过滤。
AWSLogin(instance)
svc := route53.New(instance.AWSSession)
listParams := &route53.ListResourceRecordSetsInput{
HostedZoneId: aws.String("Z2798GPJN9CUFJ"), // Required
StartRecordName: aws.String("subdomain.subdomain.mydomain.com"),
StartRecordType: aws.String(route53.RRTypeA),
// StartRecordType: aws.String(route53.RRTypeCname),
}
respList, err := svc.ListResourceRecordSets(listParams)
if err != nil {
fmt.Println(err.Error())
return
}
fmt.Println("All Type "A" records:")
fmt.Println(respList)
答案 0 :(得分:1)
我认为您误解了StartRecordName
和StartRecordType
的功能。他们不过滤列表,仅指定列表的开始位置。
如果同时指定名称和类型:结果从开始,列表中的第一个资源记录集名称大于或等于Name,并且类型大于或等于Type
因此从您的示例中,我希望您的记录 all 全部返回(最多100条),但是第一条记录将是{{1} }。
然后它将按名称/类型的字母顺序进行(包装)。