我需要查询包含数千条记录的Route 53记录集。
我需要一种方法来过滤掉源自“ip-”字符串的记录,以便在合理的时间内下载记录。
目前我使用test %>%
split(., seq_len(nrow(test))) %>%
map_df(~cbind(., Seq = seq(.$start, .$end, by = 10)))
命令行并结合JMESPath查询:
aws
可以看出,这需要11秒,并且在应用程序中需要几个这样的查询,结果是执行时间慢得令人无法接受。
$ date ; aws route53 list-resource-record-sets --hosted-zone-id $hosted_zone_id --query 'ResourceRecordSets[?starts_with(Name, `ip-`)==`false`].Name' | head -4 ; date
Thu May 11 19:16:53 AEST 2017
[
"foo-pilot.example.com.",
"foo-pilot.example.com.",
"bar-dev.foo-pilot.example.com.",
Thu May 11 19:17:04 AEST 2017
命令(docs,另请参阅API doc)遗憾的是,不像其他命令那样接受aws route53 list-resource-record-sets
。
有没有办法快速获得Route 53记录的过滤子集?
答案 0 :(得分:1)
有没有办法快速获得Route 53记录的过滤子集?
维护缓存...或创建一个单独的权威系统来处理Route 53的所有事务并改为查询该系统。
ListResourceRecordSets API似乎仅用于扫描,而不是查询,因此您必须对结果进行分页以找到所需内容。
事实上,Route 53 API似乎并不适合大批量使用,因为Route 53 API整体上每个AWS账户的限制为5 req/s。