3

新しい EBS を作成し、AWSJavaSDK を介してプログラムで実行中のインスタンスにアタッチする方法を見つけようとしています。コマンド ライン ツールとレスト ベースの呼び出しを使用してこれを行う方法はありますが、適切な SDK を使用する方法はありません。

4

3 に答える 3

6

createVolumeを使用してアイテムを作成できるはずです。内部にオブジェクトを持つCreateVolumeResultを返すように見えます。Volume

次に、呼び出しVolumeから返されたを取得し、一致する AttachVolumeRequest を使用して attachVolume を取得します。createVolume

これはすべて、AWSAmazonEC2Clientオブジェクトの 1 つを作成した後に行われます。ドキュメントはすべてここから取得されます。

コードのワークフローはおそらく次のようになります (注: 疑似コードが使用されており、フックする部分がさらにいくつかある場合がありますが、ワークフローは次のようになります)

AWSCredentials credentials = new AWSCredentials();
AmazonEC2Client client = new AmazonEC2Client(credentials);
CreateVolumeResult request = new  CreateVolumeRequest(java.lang.Integer size,
                       java.lang.String availabilityZone);
CreateVolumeResponse volumeResponse = client.createVolume(request);
AttachVolumeRequest attachRequest = new AttachVolumeRequest(volumeResponse.getVolume().getVolumeId(),  java.lang.String instanceId, java.lang.String device);
client.attachVolume(attachRequest);
于 2013-04-23T20:10:36.587 に答える
1

Java API を使用して EBS ボリュームを作成するには、次のコードを参照してください。

public void createVolume(String instanceId){
    System.out.println("Creating the volume begins...");
    CreateVolumeRequest  creq = new CreateVolumeRequest(50, "us-west-2a");
    CreateVolumeResult cres =  ec2.createVolume(creq);

     // Create the list of tags we want to create
    System.out.println("Setting the tags to the volume...");
    ArrayList<Tag> instanceTags = new ArrayList<Tag>();
    instanceTags.add(new Tag("Name","Sachin"));
    CreateTagsRequest createTagsRequest = new CreateTagsRequest().withTags(instanceTags).withResources(cres.getVolume().getVolumeId());
    ec2.createTags(createTagsRequest);
    System.out.println("Attaching the volume to the instance....");
    AttachVolumeRequest areq = new AttachVolumeRequest(cres.getVolume().getVolumeId(),instanceId, "/dev/sdh");
    AttachVolumeResult ares = ec2.attachVolume(areq);
    System.out.println("Creating the volume ends...");
}
于 2014-08-18T10:19:14.090 に答える
0

API でオブジェクトを使用してリクエストを作成し、ここで指示されているようCreateVolumeRequestに、返されたオブジェクトで結果を確認しますCreateVolumeResponce

于 2013-04-23T20:10:42.893 に答える