.net - 在 AWS .NET SDK 中列出实例

标签 .net amazon-ec2

我正在编写代码以使用适用于 AWS 的 .net SDK 列出实例 ID 和实例类型。我知道我需要使用 DescribeInstancesRequest 类。我还认为我需要使用一个 ArrayList 来存储字符串输出和一个 foreach 循环来获取所有实例。我只是很难把它放在一起!像在控制台中列出实例 ID 这样简单的事情对我来说会很有帮助。

有没有人做过类似的事情?

更新 10/13/2012

我正在朝着我需要去的地方迈出很小的一步。我是 .net AWS SDK 的新手,所以这是一个非常缓慢的过程。下面的代码计算我拥有的实例数并返回它。现在我只需要弄清楚如何让它列出实际的实例 ID。

有任何想法吗?

AmazonEC2 ec2 = new AmazonEC2Client();

DescribeInstancesRequest request = new DescribeInstancesRequest();
DescribeInstancesResponse res = ec2.DescribeInstances(request);

Console.WriteLine(res.DescribeInstancesResult.Reservation.Count);
Console.Read();

最佳答案

不是为了打败死马,而是为了我的任务,我必须在 HTML 表中打印出实例 ID 和实例类型。如果您想在网站上托管它,这可能很有用。您需要做的就是更改 StreamWriter 的路径.这是我草率但成品。

  AmazonEC2 ec2 = new AmazonEC2Client();
        DescribeInstancesRequest req = new DescribeInstancesRequest();
        List<Amazon.EC2.Model.Reservation> result = ec2.DescribeInstances(req).DescribeInstancesResult.Reservation;
        using (StreamWriter writer = new StreamWriter(@"C:\Users\Ethan\Desktop\InstanceOutput.html"))                  //change this output to a local address if testing the code
        {
            writer.Write("<table border=1><tbody><tr><th>Instance ID</th><th>Instance Type</th></tr>");
            foreach (Amazon.EC2.Model.Reservation reservation in result)
            {
                foreach (Amazon.EC2.Model.RunningInstance runningInstance in reservation.RunningInstance)
                {
                    writer.WriteLine("<tr><td>" + runningInstance.InstanceId + "</td><td>" + runningInstance.InstanceType + "</td></tr>");
                }
            }
            writer.Write("</tbody></table>");
        }

所以请记住,我对此很陌生,有人可能会想出一个更干净、更高效、更好的答案。这就是我如何在控制台中打印实例 ID 和实例类型。
AmazonEC2 ec2 = new AmazonEC2Client();
DescribeInstancesRequest req = new DescribeInstancesRequest();
List<Amazon.EC2.Model.Reservation> result = ec2.DescribeInstances(req).DescribeInstancesResult.Reservation;

        foreach (Amazon.EC2.Model.Reservation reservation in result)
        {
            foreach (Amazon.EC2.Model.RunningInstance runningInstance in reservation.RunningInstance)
            {
                Console.WriteLine(runningInstance.InstanceId);
                Console.WriteLine(runningInstance.InstanceType);
            }
        }

关于.net - 在 AWS .NET SDK 中列出实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12871033/

相关文章:

.net - 独立存储与应用程序数据文件夹

.net - 使用 redis.io 存储对象

c# - Entity Framework 函数是否自动转义输入以防止注入(inject)?

.NET Windows 窗体 datagridview - 必须单击组合框列三次才能获得焦点

amazon-web-services - 将 Application Load Balancer 与 HTTPS 结合使用

amazon-ec2 - CoreOS、Fleet 和 Etcd2 容错

通过 VPN 连接的 SSH

c# - HttpClientHandler 不包含 DefaultProxyCredentials 的定义

apache - 在 Ec2 上使用 Apache Proxy 部署 NodeJS(错误?)并记录日志

amazon-ec2 - 将 SSM 参数设置为 EC2 的环境变量 - 不起作用