c# - 如何使用 SDK 删除 AWS EC2 中的图像 (AMI)?

标签 c# .net amazon-s3 amazon-web-services amazon-ebs

我正在使用 CreateImage() 从现有实例创建新的 AMI,我希望有一个 DeleteImage() 可以以相反的方式工作。不幸的是,此方法在 EC2Client 上不存在。

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

最佳答案

这是一个简短的片段:

AmazonEC2 ec2 = AWSClientFactory.CreateAmazonEC2Client();

DeregisterImageRequest deregisterImageRequest = new DeregisterImageRequest();
deregisterImageRequest.ImageId = AMIName;

DeregisterImageResponse deregisterImageResponse = new DeregisterImageResponse();
deregisterImageResponse = ec2.DeregisterImage(deregisterImageRequest);

记得处理异常并删除快照..

但是,删除关联的快照存在问题。

如果您尝试使用 DescribeImageAttributeRequest 找出 block 设备映射,则会发生异常 - “未经授权尝试访问受限资源”:

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

关于c# - 如何使用 SDK 删除 AWS EC2 中的图像 (AMI)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6512539/

相关文章:

c# - 测试 WCF 服务的最佳方法是什么?

javascript - 从 AWS S3 加载图像时获取响应 header

c# - .pdbs 会降低发布应用程序的速度吗?

.net - 如何在 WPF 中实现自定义画笔?

amazon-s3 - deleteObject 未按预期工作 - Amazon S3 Java

ruby-on-rails - 从 s3 存储桶删除对象 Rails 5 aws-sdk

c# - 比较 XML 文件(属性、节点和文本)

c# - 使用 SqlTransaction 提交多个 SqlCommand

c# - .net 4.5 中异步和同步的区别

c# - ASP.NET - 在不序列化的情况下保存在 View 状态中