2

如何使用 aws-java-sdk 获取某个区域的所有可用图像列表,我刚刚尝试使用以下代码,它会持续执行很长时间。

AmazonEC2  ec2Client = new AmazonEC2Client(awsCredetials);
ec2Client.setRegion(RegionUtils.getRegion("us-west-2"));
DescribeImagesRequest request = new DescribeImagesRequest().withFilters(new LinkedList<Filter>());
DescribeImagesResult describeImagesResult= ec2Client.describeImages(request);
4

2 回答 2

3

您列出了 us-west-2 中的所有公共 AMI,有超过 50,000 个,添加一些过滤器。

例如查找所有 64 位 Ubuntu AMI:

request.getFilters().add(new Filter().withName("architecture").withValues("x86_64"));
request.getFilters().add(new Filter().withName("platform").withValues("Ubuntu"));

在此处查看过滤器的完整列表。

于 2016-10-24T05:59:44.413 回答
0

当我尝试使用过滤器时

request.getFilters().add(new Filter().withName("architecture").withValues("x86_64"));
request.getFilters().add(new Filter().withName("platform").withValues("Ubuntu"));

我得到的结果为零,我发现的原因platform总是nullwindows.

我试过使用通配符

request.getFilters().add(new Filter().withName("architecture").withValues("x86_64"));
request.getFilters().add(new Filter().withName("description").withValues("*Linux*"));

效果很好,因为我们不在这里打扰plarform。但是我几乎不知道为什么除了windows之外还DescribeImagesResult返回platformnullOS

于 2017-07-06T13:32:15.800 回答