我正在使用适用于Amazon AWS的Java API。我成功进行了身份验证,然后获取所有图像,我的图像不在其中(我的AMI是私有的,但我想我仍然会看到它们,因为我已经过身份验证)。这是我的来源......
final AmazonEC2 client = new AmazonEC2Client(credentails);
for(Image image: client.describeImages().getImages()){
if(image.getOwnerId().equals("1234567890")){
//... do something usefull with the AMI
}
}
而我的“OwnerId”并不是收到的。问题是什么,我不会公开我的AMI,我怎样才能获得我的AMI?
答案:我在一个错误的地区,我只从该地区获得AMI,而不是我的。 改变地区的方式是:client.setEndpoint("ec2.us-west-1.amazonaws.com");
答案 0 :(得分:5)
仅供参考,如果您只对自己的实例感兴趣,可以使用以下方法大幅减少DescribeInstances调用中使用的带宽量:
DescribeImagesRequest request = new DescribeImagesRequest();
request.withOwners("self");
Collection<Image> images = client.describeImages(request).getImages();