AmazonWeb服务如何使用JavaSDK将新EBS卷附加到现有EC2实例?
我已经尝试使用AttachVolumeRequest,但作为响应,我得到以下错误
Caught Exception: The request must contain the parameter volume
Reponse Status Code: 400
Error Code: MissingParameter
这是我的代码,在这段代码中,ec2是我的amazonclient对象,到目前为止它的工作还不错
AttachVolumeRequest attachRequest=new AttachVolumeRequest()
.withInstanceId("my instance id");
attachRequest.setRequestCredentials(credentials);
EbsBlockDevice ebs=new EbsBlockDevice();
ebs.setVolumeSize(2);
//attachRequest.withVolumeId(ebs.getSnapshotId());
AttachVolumeResult result=ec2.attachVolume(attachRequest);
非常感谢您的帮助。提前谢谢
# 1 楼答案
原因
来自AWS SDK for Java的类EbsBlockDevice有不同的用途,因此方法getSnapshotId()只返回将从中创建卷的快照的ID,即不返回卷ID,因此相应的异常
解决方案
你很可能想改用class CreateVolumeRequest,例如(从我的头顶):