繁体   English   中英

使用aws sdk获取带有特定标记的ec2实例

[英]get ec2 instances with a certain tag using aws sdk

我试图找出使用某个标签获取ec2实例列表的最佳方法,例如使用ruby aws sdk进行“测试”。

ec2 = AWS::EC2.new(:access_key_id => "XXXXXXXXXXXXX", :secret_access_key => "YYYYYYYYY")
ec2list = ec2.instances.filter("Name", "testing)

这似乎不是出于某种原因。 它认为它将过滤掉集合,并给我带有标记测试的实例。 有没有办法使用ruby sdk做到这一点? 谢谢。

如果您希望标签“Name”的值为“testing”,请使用:

instances = resource.instances(
  filters: [
    { 
      name: 'tag:Name',
      values: ["testing"] 
    }
  ]
)

对于标记键为“testing”的所有实例,使用以下内容。

instances = resource.instances(
  filters: [
    { 
      name: 'tag:Key',
      values: ["testing"] 
    }
  ]
)

有关更多筛选选项,请参阅#instances文档。

这对我有用:

ec2.instances.tagged("testing")

以上都没有,但这个对我有用:

ec2.instances.with_tag("Environment","Integration")

嗨,我想你可以使用过滤器对实例的标签得到你想要的东西:

ec2 = AWS::EC2.new(:access_key_id => "XXXXXXXXXXXXX", :secret_access_key => "YYYYYYYYY")
ec2list = ec2.instances.tags.filter("Name", "testing)

CF: http//docs.aws.amazon.com/AWSRubySDK/latest/AWS/AutoScaling/TagCollection.html#filter-instance_method http://docs.aws.amazon.com/AWSRubySDK/latest/AWS/EC2.html #标签,instance_method

我习惯这样做

require 'aws-sdk'

ec2 = AWS::EC2.new(
        :region => cluster_region,
        :access_key_id => key_id,
        :secret_access_key => access_key)

instances = ec2.instances
instances = instances.filter("filter-key", "filter-value")

可以在http://docs.aws.amazon.com/AWSEC2/latest/CommandLineReference/ApiReference-cmd-DescribeInstances.html找到可用的过滤器。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM