我怎么能在AWS EC2使用SDK删除图像(AMI)?(How can I delete an im

2019-09-30 03:32发布

我使用CreateImage()从现有实例创建一个新的AMI,我希望有一个DeleteImage()其将在相反的方式工作。 不幸的是这种方法不会对EC2Client存在。

什么是通过使用C#SDK来删除AMI的正确方法?

Answer 1:

有一个DeregisterImage()应该做你想做的。 请注意,这是给你删除的图像可以基于任何之后的快照。



Answer 2:

这里是一个快速片段:

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



文章来源: How can I delete an image (AMI) in AWS EC2 using the SDK?