java - 从 route53 托管区域请求记录以检索所有记录时如何执行批处理
问题描述
我的托管区域有超过 2500 条记录。我编写了使用 ListResourceRecordSetsRequest 从指定托管区域检索资源记录的 java 代码。但是,它最多只列出 300 条记录。如何执行批处理以便检索所有 2500 条记录?
ListResourceRecordSetsRequest request = ListResourceRecordSetsRequest.builder()
.hostedZoneId(hostedZone.id())
.maxItems("1000")
.build() as ListResourceRecordSetsRequest
ListResourceRecordSetsResponse listResourceRecordSets = route53Client.listResourceRecordSets(request);
List<ResourceRecordSet> records = listResourceRecordSets.resourceRecordSets();
return records
上面的代码是我使用的,它最多返回 300 条记录
解决方案
您可以使用以下代码段来遍历所有记录。
final ListResourceRecordSetsRequest listRecordSetRequest = new ListResourceRecordSetsRequest().
withHostedZoneId(hostedZone.getId());
ListResourceRecordSetsResult listRecordSetResult;
final List<ResourceRecordSet> resourceRecordSets = new ArrayList<>();
do {
listRecordSetResult = route53.listResourceRecordSets(listRecordSetRequest);
resourceRecordSets.addAll(listRecordSetResult.getResourceRecordSets());
listRecordSetRequest.setStartRecordIdentifier(listRecordSetResult.getNextRecordIdentifier());
} while (listRecordSetResult.isTruncated());
推荐阅读
- python - 避免空格并计算字符数(使用 sum() 函数)
- c++ - essentia algorithmfactory.h 无法打开 unsupported/Eigen/CXX11/tensor
- azure-devops - 与 AAD 的组织意外断开连接.....我怎样才能将其恢复?
- logstash - 如何在 Logstash 中更改数字格式
- html - chart.css 垂直图表轴线在 safari 中不可见 (https://chartscss.org/components/axes/)
- java - MapState 的 Flink 1.11 的架构演变失败 - POJO 类作为值
- python-3.x - 为什么使用 Tensorflow 的模型优化库修剪权重时,修剪后的模型比基本模型大
- android-studio - 从网站上删除页脚?
- r - 用R中的重复测量/长数据计算汇总统计
- git - Git Workflow Project 和 rebase 的使用