2016-08-11 15 views
0

現在持っているスナップショットからAMIを作成します。私はImportImageRequestを使ってこの作業を行っています。以下は私のコードです。Java SDKを使用してAWSのスナップショットからAMIを作成する

ImportImageResult iir = ec2.importImage(new ImportImageRequest().withDiskContainers(new ImageDiskContainer().withSnapshotId("snap-3b4pd121"))); 
    System.out.println(iir.toString()); 
    System.out.println(iir.getImportTaskId()); 
    System.out.println(iir.getImageId()); 

出力は、これは画像Idがnullであることを意味

{ImportTaskId: import-ami-ffwthmw7,SnapshotDetails: [{DiskImageSize: 0.0,}],Progress: 2,StatusMessage: pending,Status: active} 
import-ami-ffwthmw7 
null 

として出てきます。私はその理由を推測することができません。私もdescribeImage()を試してみましたが、何も見つかりませんでした。しかし、それは他の画像でも機能します。

答えて

0

イメージの読み込みにしばらく時間がかかります。 importImageへの呼び出しはかなり早く戻りますが、作業を行うバックグラウンドタスクはまだ実行されています。

importImageに電話した後、describeImportImageTasksに電話をかけて、バックグラウンドタスクのステータスを取得します。興味のあるImportImageTaskを探して、進捗状況を確認するにはgetStatusgetProgressをご覧ください。インポートが完了するまで、describeImportImageTasksに電話をかけてください。

それが結果に関するすべての詳細が記入され、終了すると。

AWSのJava SDKのドキュメント(例えば、javadocは)はなはだ不完全である(それはこのケースでのように)、私が見つけます対応するコマンドラインAPI呼び出しのドキュメントを調べると便利です。 example

について説明インポート・画像・タスクを使用し インポートタスクのステータスを返すように命じます。

ステータス値には次の値が含まれます。

アクティブ - インポートタスクが進行中です。

削除中 - インポートタスクがキャンセルされています。

削除 - インポートタスクがキャンセルされます。

完了 - インポートタスクが完了し、AMIが使用可能になりました。

関連する問題