1

どういうわけかAWS SDKを介して「スナップショット ログ」をリクエストすることは可能ですか?

AWS コンソールから実行できます。

ここに画像の説明を入力

Amazon フォーラムにクロス投稿しました。

4

1 に答える 1

3

ログ スナップショットの要求は、3 ステップのプロセスです。まず、環境情報リクエストを行う必要があります。

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

次に、環境情報を取得する必要があります。

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

これは、EC2 インスタンス ID と、ログ スナップショットを含む S3 オブジェクトへの URL を含む、環境情報の説明のリストを返します。次に、次の方法でログを取得できます。

    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());
         }
    }

これが役立つことを願っています!

于 2012-10-10T18:58:09.920 に答える