Amazon web services “如何申请”;快照日志“;通过AWS Java SDK?

Amazon web services “如何申请”;快照日志“;通过AWS Java SDK?,amazon-web-services,amazon-elastic-beanstalk,Amazon Web Services,Amazon Elastic Beanstalk,是否可以通过某种方式请求“快照日志” 可以通过AWS控制台执行此操作: 交叉发布到。请求日志快照需要三个步骤。首先,您必须执行环境信息请求: elasticBeanstalk.requestEnvironmentInfo( new RequestEnvironmentInfoRequest() .withEnvironmentName(envionmentName) .withInfoType("tail")); 然后您必须检索环境信息: final

是否可以通过某种方式请求“快照日志”

可以通过AWS控制台执行此操作:


交叉发布到。

请求日志快照需要三个步骤。首先,您必须执行环境信息请求:

elasticBeanstalk.requestEnvironmentInfo(
    new RequestEnvironmentInfoRequest()
        .withEnvironmentName(envionmentName)
        .withInfoType("tail"));
然后您必须检索环境信息:

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

我希望这有帮助

第三步我将替换为
新URL(desc.getMessage()).getContent()
,需要注意的是环境信息不能立即使用,我们应该循环等待(在我的例子中大约10-15秒)
    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());
         }
    }