fic*_*ion 2 java amazon-ec2 amazon-ami
我正在使用适用于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
}
}
Run Code Online (Sandbox Code Playgroud)
而我的"OwnerId"并不是收到的.问题是什么,我不会公开我的AMI,我怎样才能获得我的AMI?
答案:我在一个错误的地区,我只从该地区获得AMI,而不是我的.改变地区的方式是:
client.setEndpoint("ec2.us-west-1.amazonaws.com");
Run Code Online (Sandbox Code Playgroud)
仅供参考,如果您只对自己的实例感兴趣,可以使用以下方法大幅减少DescribeInstances调用中使用的带宽量:
DescribeImagesRequest request = new DescribeImagesRequest();
request.withOwners("self");
Collection<Image> images = client.describeImages(request).getImages();
Run Code Online (Sandbox Code Playgroud)