正确使用describeInstances amazon ec2

use*_*342 2 amazon-ec2 amazon-web-services node.js

我正在尝试使用amazon ec2中的describeInstances函数来使用我的标记id获取有关我的实例的详细信息.在文档中提到使用过滤器,

tag:key = value - 分配给资源的标记的键/值组合,其中tag:key是标记的键.

我用以下方式尝试了它:

var params1 = {
            Filters : [
                {
                    Tags      : [ {
                        Key   : key_name,
                        Value : key_value
                    } ]
                }
            ]
        };

ec2.describeInstances(params1, function(data, err) {
})
Run Code Online (Sandbox Code Playgroud)

,但是我收到一个错误:标签上的意外令牌:使用这个api的正确方法是什么?

小智 8

文档有点令人困惑,但您需要构建一个包含tag: prefix和标记名称的过滤器名称.这是一个有效的例子:

var AWS = require('aws-sdk');
var ec2 = new AWS.EC2({
  region: 'eu-west-1'
});

var params = {
  Filters: [
    {
      Name: 'tag:Project',
      Values: ['foo']
    }
  ]
};

ec2.describeInstances(params, function (err, data) {
  if (err) return console.error(err.message);

  console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

这将返回标记Project设置为值foo的所有实例.