3

.net SDK for AWSを使用して、インスタンスIDとインスタンスタイプを一覧表示するコードを作成中です。私はDescribeInstancesRequestクラスを使用する必要があることを知っています。また、文字列出力を格納するためにArrayListを使用し、すべてのインスタンスを取得するためにforeachループを使用する必要があると思います。組み立てるのに苦労しています!コンソールにインスタンスIDを一覧表示するのと同じくらい簡単なことは、私にとって大きな助けになります。

誰かが似たようなことをしましたか?

2012年10月13日更新

私は必要な場所にたどり着くために非常に小さな一歩を踏み出しています。私は.netAWSSDKを初めて使用するため、これは非常に遅いプロセスです。以下のコードは、私が持っているインスタンスの数を数え、それを返します。ここで、実際のインスタンスIDをリストする方法を理解する必要があります。

何か案は?

AmazonEC2 ec2 = new AmazonEC2Client();

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

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

2 に答える 2

6

死んだ馬に勝つためではありませんが、私のタスクでは、インスタンスIDとインスタンスタイプをHTMLテーブルに出力する必要がありました。これは、Webサイトでホストする場合に役立ちます。のパスを変更するだけです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);
            }
        }
于 2012-10-14T00:48:39.107 に答える
-1

何かが時代遅れです

List<Reservation> listReservations = ec2Client.DescribeInstances(requestInstances).Reservations;

foreach (Reservation reservation_item in listReservations)
{
    foreach (Instance instance_item in reservation_item.Instances)
    {
        WriteLine(instance_item.InstanceId);
        WriteLine(instance_item.InstanceType);
    }
}
于 2018-09-28T13:35:09.380 に答える