【问题标题】:How to perform batching when requesting records from route53 hosted zone to retrieve all the records从 route53 托管区域请求记录以检索所有记录时如何执行批处理
【发布时间】:2021-05-25 22:34:12
【问题描述】:

我的托管区域有超过 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 条记录

【问题讨论】:

    标签: java amazon-web-services groovy amazon-route53


    【解决方案1】:

    您可以使用以下 sn-p 遍历所有记录。

    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());
    

    【讨论】:

      猜你喜欢
      • 2017-08-14
      • 1970-01-01
      • 2020-08-07
      • 1970-01-01
      • 2019-10-25
      • 1970-01-01
      • 2020-02-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多