1
어쨌든 AWS SDK을 통해 "스냅 샷 로그"를 요청할 수 있습니까?AWS Java SDK를 통해 "스냅 샷 로그"를 요청하는 방법은 무엇입니까?
은 AWS 콘솔을 통해 그것을 할 수있다 :
크로스 Amazon forum에 게시.
어쨌든 AWS SDK을 통해 "스냅 샷 로그"를 요청할 수 있습니까?AWS Java SDK를 통해 "스냅 샷 로그"를 요청하는 방법은 무엇입니까?
은 AWS 콘솔을 통해 그것을 할 수있다 :
크로스 Amazon forum에 게시.
로그 스냅 샷 요청은 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());
}
}
난이 도움이되기를 바랍니다!
세 번째 단계에서는 새 URL (desc.getMessage()). getContent()를 사용합니다. – yegor256
환경 정보를 즉시 사용할 수 없다는 것을 알아 두는 것이 중요합니다. 루프 및 대기해야합니다 (~ 10-15 초 나의 경우에는) – yegor256