如何解决列出来自 route53 中托管区域的资源记录集,给出一个非常奇怪的错误
我的目的是列出所有托管区域中可用的所有记录。我创建了一个 listResourceRecordSetsRequest 构建器对象,并通过响应方法将其传递以检索所有资源记录,但由于某种原因我收到错误消息。
以 def response = ....
开头的行是错误所在
ArrayList<ResourceRecordSet> getResourceRecords(HostedZone hostedZone){
def request = ListResourceRecordSetsRequest.builder().hostedZoneId(hostedZone.id()).maxItems("1000").build()
def response = route53Client.listResourceRecordSets(request as Consumer<ListResourceRecordSetsRequest.Builder>)
return response.resourceRecordSets()
}
错误:
groovy.lang.MissingMethodException: No signature of method: software.amazon.awssdk.services.route53.model.ListResourceRecordSetsRequest.accept() is applicable for argument types: (software.amazon.awssdk.services.route53.model.ListResourceRecordSetsRequest$BuilderImpl) values: [software.amazon.awssdk.services.route53.model.ListResourceRecordSetsRequest$BuilderImpl@56eafaa0]
我提前感谢您的帮助!
解决方法
您使用的是什么 AWS 开发工具包 - V2?我刚刚在 AWS Java V2 API 中对此进行了测试,效果很好。
完整的 Java V2 示例。
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.route53.Route53Client;
import software.amazon.awssdk.services.route53.model.*;
import java.util.List;
public class ListResourceRecordSets {
public static void main(String[] args) {
Region region = Region.AWS_GLOBAL;
Route53Client route53Client = Route53Client.builder()
.region(region)
.build();
listResourceRecord(route53Client);
route53Client.close();
}
public static void listResourceRecord(Route53Client route53Client) {
try {
ListResourceRecordSetsRequest request = ListResourceRecordSetsRequest.builder()
.hostedZoneId("XXXXX5442QZ69T8EEX5SZ")
.maxItems("12")
.build();
ListResourceRecordSetsResponse listResourceRecordSets = route53Client.listResourceRecordSets(request);
List<ResourceRecordSet> records = listResourceRecordSets.resourceRecordSets();
for (ResourceRecordSet record : records) {
System.out.println("The Record name is: " + record.name());
}
} catch (Route53Exception e) {
System.err.println(e.getMessage());
System.exit(1);
}
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。