Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# AWS EC2图像列表为空_C#_.net_Amazon Web Services_Amazon Ec2_Amazon Ami - Fatal编程技术网

C# AWS EC2图像列表为空

C# AWS EC2图像列表为空,c#,.net,amazon-web-services,amazon-ec2,amazon-ami,C#,.net,Amazon Web Services,Amazon Ec2,Amazon Ami,我使用AWS管理控制台创建了一个AMI。现在我想使用VisualStudio2010使用AWSSDK for.NET来启动一个使用我创建的AMI映像的EC2实例。我能够获得我创建的安全组和密钥对,但当我尝试使用DescribeImagesRequest和Response(过滤器为所有者id)获取图像列表时,我得到的是一个空列表。 请帮助解释为什么我看不到我创建的任何图像。 我对安全组、密钥对和映像使用了相同的区域 var ownerId = "xxxxxxxxxx";

我使用AWS管理控制台创建了一个AMI。现在我想使用VisualStudio2010使用AWSSDK for.NET来启动一个使用我创建的AMI映像的EC2实例。我能够获得我创建的安全组和密钥对,但当我尝试使用DescribeImagesRequest和Response(过滤器为所有者id)获取图像列表时,我得到的是一个空列表。 请帮助解释为什么我看不到我创建的任何图像。 我对安全组、密钥对和映像使用了相同的区域

        var ownerId = "xxxxxxxxxx";
        DescribeImagesRequest imagesRequest = new DescribeImagesRequest();
        Filter ownerFilter = new Filter();
        ownerFilter.Name = "owner-id";
        List<String> filterValues = new List<string>();
        filterValues.Add(ownerId);
        ownerFilter.Values = filterValues;
        List<Filter> filters = new List<Filter>();
        filters.Add(ownerFilter);
        imagesRequest.Filters = filters;

        System.Console.WriteLine("Image request created");
        DescribeImagesResponse imagesResponse = ec2Client.DescribeImages(imagesRequest);
        System.Console.WriteLine("Image response received");

        List<Amazon.EC2.Model.Image> images = imagesResponse.Images;
        System.Console.WriteLine("The total number of images are : " + images.Count);
var ownerId=“xxxxxxxxx”;
descripbeImageRequestImagesRequest=新的descripbeImagesRequest();
过滤器所有者过滤器=新过滤器();
ownerFilter.Name=“所有者id”;
List filterValues=新列表();
filterValues.Add(ownerId);
ownerFilter.Values=filterValues;
列表过滤器=新列表();
过滤器。添加(所有者过滤器);
imagesRequest.Filters=过滤器;
System.Console.WriteLine(“创建映像请求”);
descripbeImagesResponse imagesResponse=EC2客户端。descripbeImages(imagesRequest);
System.Console.WriteLine(“收到图像响应”);
列表图像=图像响应。图像;
System.Console.WriteLine(“图像总数为:“+images.Count”);

images.Count为空,虽然我可以看到AWS管理控制台上列出的图像,但它没有获取任何图像。

我也有同样的问题,但使用了“所有者别名”过滤器。 我想用“自我”来获得我所有的AMI。我没有使用过滤器,而是使用“Owners”属性,该属性使用“self”别名


你能发布你的代码吗?我在问题中添加了它谢谢@Nuno,iOS SDK也有同样的问题。将ownerIds属性设置为self就成功了。
DescribeImagesRequest imagesRequest = new DescribeImagesRequest();
imagesRequest.Owners.Add("self");
DescribeImagesResponse imagesResponse = ec2Client.DescribeImages(imagesRequest);