2012-01-12 38 views
6

Tôi đang cố gắng tự động hóa một số nội dung trên AWS và tôi đang sử dụng Java API để thực hiện việc này. Tôi có thể khởi chạy số lượng các cá thể mà tôi muốn, nhưng tôi không thể tìm thấy lớp hoặc phương thức phù hợp có thể tìm nạp trạng thái hiện tại của cá thể (như chạy, dừng, vv).Nhận trạng thái của EC2 phiên bản Java API

Tôi cố gắng này

DescribeInstanceStatusRequest describeInstance = new DescribeInstanceStatusRequest().withInstanceIds(instances.get(i).getInstanceId()); DescribeInstanceStatusResult attr = ec2.describeInstanceStatus(describeInstance); List<InstanceStatus> state = attr.getInstanceStatuses();

không chắc chắn lý do tại sao tình trạng dụ là danh sách

Ai đó có thể xin vui lòng chỉ cho tôi để gọi API đúng.

Cảm ơn trước

Trả lời

6

Tôi đã tìm ra vấn đề. đang

DescribeInstanceStatusRequest describeInstanceRequest = new DescribeInstanceStatusRequest().withInstanceIds(i-xxxxxxxx); 
DescribeInstanceStatusResult describeInstanceResult = ec2.describeInstanceStatus(describeInstanceRequest); 
List<InstanceStatus> state = describeInstanceResult.getInstanceStatuses(); 
while (state.size() < 1) { 
    // Do nothing, just wait, have thread sleep if needed 
    describeInstanceResult = ec2.describeInstanceStatus(describeInstanceRequest); 
    state = describeInstanceResult.getInstanceStatuses(); 
} 
String status = state.get(0).getInstanceState().getName(); 
+0

Bây giờ làm cách nào để đợi cho đến khi Tomcat được bắt đầu trên phiên bản EC2 đó? . –

+1

Và nếu bạn muốn nhận được tình trạng của tất cả các trường bạn có thể làm 'yêu cầu DescribeInstanceStatusRequest = DescribeInstanceStatusRequest mới() withIncludeAllInstances (true) \t \t \t \t .withInstanceIds (instanceIds);' –

3

Tôi đã chỉ nhìn làm việc tại vấn đề này

Từ các tài liệu (http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstanceStatus.html),

DescribeInstanceStatus trả về thông tin chỉ dành cho trường hợp trong tình trạng chạy.

Vì vậy, bạn có thể đợi mãi nếu máy bị dừng thay vì khởi động lại.

DescribeInstances (http://docs.amazonwebservices.com/AWSEC2/latest/APIReference/ApiReference-query-DescribeInstances.html) trả về trạng thái của tất cả các máy.

+0

đây là một trường hợp sử dụng cụ thể và tôi biết rằng điều này đang khởi động lại hoặc bắt đầu và không dừng lại. Câu hỏi này đã được đăng cách đây một thời gian và tôi không chắc liệu API AWS có thay đổi hay không. – tazo

Các vấn đề liên quan