我使用CreateImage()
从现有实例创建一个新的AMI,我希望有一个DeleteImage()
其将在相反的方式工作。 不幸的是这种方法不会对EC2Client存在。
什么是通过使用C#SDK来删除AMI的正确方法?
我使用CreateImage()
从现有实例创建一个新的AMI,我希望有一个DeleteImage()
其将在相反的方式工作。 不幸的是这种方法不会对EC2Client存在。
什么是通过使用C#SDK来删除AMI的正确方法?
有一个DeregisterImage()
应该做你想做的。 请注意,这是给你删除的图像可以基于任何之后的快照。
这里是一个快速片段:
AmazonEC2 ec2 = AWSClientFactory.CreateAmazonEC2Client();
DeregisterImageRequest deregisterImageRequest = new DeregisterImageRequest();
deregisterImageRequest.ImageId = AMIName;
DeregisterImageResponse deregisterImageResponse = new DeregisterImageResponse();
deregisterImageResponse = ec2.DeregisterImage(deregisterImageRequest);
请记住,处理异常和删除快照..
但是有一个与删除相关快照的问题。
如果你尝试找出发生使用DescribeImageAttributeRequest异常的blockdevice映射 - “未经授权试图访问受限制的资源”:
DescribeImageAttributeRequest describeImageAttributeRequest = new DescribeImageAttributeRequest().WithImageId("ami-name").WithAttribute("blockDeviceMapping");
DescribeImageAttributeResponse describeImageAttributeResponse = new DescribeImageAttributeResponse();
describeImageAttributeResponse = ec2.DescribeImageAttribute(describeImageAttributeRequest);
看帖子: https://forums.aws.amazon.com/message.jspa?messageID=231972