2011-05-28 50 views
1

我正在使用適用於Amazon AWS的Java API。我成功進行身份驗證,然後獲取所有圖像,並且我的圖像不在其中(我的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 
    } 
} 

而且我的「OwnerId」不在接收者之中。有什麼問題,我不會讓我的AMI公開,我怎麼能得到我的AMI?

答:我在一個錯誤的地區,而且我只從該地區獲得AMI,而不是我的。 改變區域的方法是:

client.setEndpoint("ec2.us-west-1.amazonaws.com"); 
+0

如何用C#.NET SDK設置端點?這似乎是缺少方法? – 2012-01-21 00:26:45

回答

4

僅供參考,如果你只在你自己的情況下,有興趣的可以大大減少在DescribeInstances使用的帶寬量呼叫使用:

DescribeImagesRequest request = new DescribeImagesRequest(); 
request.withOwners("self"); 

Collection<Image> images = client.describeImages(request).getImages();