2012-10-10 3 views

답변

2

로그 스냅 샷 요청은 3 단계 프로세스입니다. EC2 인스턴스 ID 및 URL로,이 환경 정보에 대한 설명의 목록을 반환

final List<EnvironmentInfoDescription> envInfos = 
    elasticBeanstalk.retrieveEnvironmentInfo(
     new RetrieveEnvironmentInfoRequest() 
      .withEnvironmentName(environmentName) 
      .withInfoType("tail")).getEnvironmentInfo(); 

: 당신이 환경 정보를 retreive해야 다음

elasticBeanstalk.requestEnvironmentInfo(
    new RequestEnvironmentInfoRequest() 
     .withEnvironmentName(envionmentName) 
     .withInfoType("tail")); 

: 먼저 환경 정보 요청을해야 할 로그 스냅 샷이 포함 된 S3 객체에 저장합니다. 그런 다음에 로그를 retreive 수 있습니다

DefaultHttpClient client = new DefaultHttpClient(); 
    DefaultHttpRequestRetryHandler retryhandler = 
     new DefaultHttpRequestRetryHandler(3, true); 
    client.setHttpRequestRetryHandler(retryhandler); 

    for (EnvironmentInfoDescription environmentInfoDescription : envInfos) { 
     System.out.println(environmentInfoDescription.getEc2InstanceId()); 
     HttpGet rq = new HttpGet(environmentInfoDescription.getMessage()); 
     try {      
      HttpResponse response = client.execute(rq); 
      InputStream content = response.getEntity().getContent();      
      System.out.println(IOUtils.toString(content)); 
     } catch (Exception e) { 
      System.out.println("Exception fetching " + 
       environmentInfoDescription.getMessage()); 
     } 
    } 

난이 도움이되기를 바랍니다!

+0

세 번째 단계에서는 새 URL (desc.getMessage()). getContent()를 사용합니다. – yegor256

+0

환경 정보를 즉시 사용할 수 없다는 것을 알아 두는 것이 중요합니다. 루프 및 대기해야합니다 (~ 10-15 초 나의 경우에는) – yegor256