查询数千条Route 53记录的响应速度很慢

时间:2017-05-20 08:28:51

标签: amazon-web-services aws-sdk boto3

我需要查询包含数千条记录的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记录的过滤子集?

1 个答案:

答案 0 :(得分:1)

  

有没有办法快速获得Route 53记录的过滤子集?

维护缓存...或创建一个单独的权威系统来处理Route 53的所有事务并改为查询该系统。

ListResourceRecordSets API似乎仅用于扫描,而不是查询,因此您必须对结果进行分页以找到所需内容。

事实上,Route 53 API似乎并不适合大批量使用,因为Route 53 API整体上每个AWS账户的限制为5 req/s