c# - 使用 "DescribeInstanceStatus"例程过滤 EC2 实例 - AWS SDK

标签 c# .net amazon-web-services aws-sdk amazon-ec2

我正在尝试使用 .NET 中的 AWS SDK 过滤 EC2 实例,尽管我已经在 SO 和其他网站上看到无数线程解决了这个问题,但我最终没有尝试任何工作。

因此,作为最后的资源,我向你们寻求帮助。谁能阐明我所缺少的东西?我知道我很可能在做一些愚蠢的事情,但我不能浪费太多时间来解决这个问题。

这是我用来通过标签名称过滤 EC2 实例(获取它的元数据)的代码块:

DescribeInstanceStatusRequest req = new DescribeInstanceStatusRequest ();
req.Filters.Add (new Filter() { Name = "tag:Name", Values = new List <string> () { "some_random_name" } });

// Executing request & fetching response
DescribeInstanceStatusResponse resp = m_ec2Client.DescribeInstanceStatus (req);

但我一直遇到这个异常:

The filter 'tag:Name' is invalid

我已经用文档中列出的几个过滤器(例如“tag-key”、“tag-value”、“tag:key=value”)替换了过滤器名称(示例中的“tag:Name”),但是什么都没用。

提前谢谢大家:)

最佳答案

经过更彻底的研究,我发现“DescribeInstanceStatus”例程不支持按标签搜索,但我发现了一种有点“简单”的方法。我会把它张贴在这里,以防有人遇到同样的情况。

方法如下:

DescribeInstancesRequest req = new DescribeInstancesRequest ();
req.Filters.Add (new Filter () { Name = "tag-value", Values = new List <string> () { "something" }});

// Executing request & fetching response
DescribeInstancesResponse resp = m_ec2Client.DescribeInstances (req);

return resp.Reservations.SelectMany (x => x.Instances).Where (y => y.State.Name == InstanceStateName.Pending || y.State.Name == InstanceStateName.Running).ToList (); {code}

理论上,通过此例程,您可以使用 documentation 中“支持的过滤器”表下列出的任何过滤器。 .

关于c# - 使用 "DescribeInstanceStatus"例程过滤 EC2 实例 - AWS SDK,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36346096/

相关文章:

c# - 原始查询更改未出现在实体对象 c# 中

.net - 使用来自同一解决方案的自定义 MSBuild 任务?

c# - 如何获取我的全文目录中使用的停用词列表?

amazon-web-services - 如何在 EC2 init 上创建文件

amazon-web-services - 如何通过 IAM 控制用户对 Amazon DynamoDB 数据的访问?

c# - 用于识别网址的正则表达式

c# - fb like 按钮有什么问题?

c# - 单元测试组合根?

c# - 通过 websocket 连接同步集合

amazon-web-services - 如何使用AWS API Gateway从URL中剥离参数?