【问题标题】:Parsing Through EC2 Tags for specific value通过 EC2 标签解析特定值
【发布时间】:2019-07-24 23:02:47
【问题描述】:

我正在尝试通过我的 AWS 开发工具包 Java 应用程序提取一些标签,并且我能够检索所有标签,但我无法解析所有键以获得我想要的特定值。

我正在专门寻找“名称”键以及与该键关联的值。当我调用 API 时,它返回一个列表,以便我能够解析列表,但每个标签都有多个不可索引的键,所以我很难获得所需的键。

这是响应的样子

[Tag(Key=Name, Value=Test)]
[Tag(Key=elasticbeanstalk:environment-id, Value=XXX), Tag(Key=aws:cloudformation:stack-id, Value=XXX), Tag(Key=aws:autoscaling:groupName, Value=XXX), Tag(Key=aws:cloudformation:stack-name, Value=XXX), Tag(Key=aws:cloudformation:logical-id, Value=XXX), Tag(Key=elasticbeanstalk:environment-name, Value=XXX), Tag(Key=Name, Value=TestJar-env)]
[Tag(Key=Name, Value=Test1)]

如您所见,有时标签中的关键“名称”是唯一的,因此很容易将其拉出,但如果有多个,那就是挑战来了。

编辑

这是我用来获取上面发布的响应的代码

for (int i = 0; i < instance.tags().size() ; i++) {
    System.out.println(instance.tags().get(i));
}

【问题讨论】:

  • 请添加您正在使用的代码
  • 大概你有一个集合或列表或 com.amazonaws.services.ec2.model.Tag 对象的数组。一个简单的解决方案是遍历集合并找到第一个具有“名称”键的项目。

标签: java amazon-web-services sorting amazon-ec2 aws-sdk


【解决方案1】:

我能够遍历标签以查找标签是否具有“名称”的键值。如果他们这样做了,我就把它和价值配对。问题是我正在阅读的回复。我认为上面的整个响应是 List,实际上,上面的响应是打印出可以迭代的标签列表。

for (int i = 0; i < instance.tags().size() ; i++) {
    if (instance.tags().get(i).key().equals("Name")){
        instanceArrayListTagName.add(instance.tags().get(i).value());
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-19
    • 1970-01-01
    相关资源
    最近更新 更多