标签上的aws-sdk javascriptfilter:key = value

伙计们,我很难理解文档http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/frames.html

我需要抓取所有正在运行的实例,并为其分配以下标签:

project = foo environment = production

以下似乎没有工作。

 var params = { DryRun: false, Filters: [ { Name: 'instance-state-name', Values: [ 'running' ], }, { Name: 'tag:key=value', Values: [ 'foo', 'production' ], }, ] }; ec2.describeInstances(params, function (err, data) { ... 

如果您的标签密钥为'foo'且其值为'production',则应将您的代码更改为以下内容。 名称是“tag:key”格式,值是那些您正在查找的对应于该键的值。

 { Name: 'tag:foo', Values: [ 'production' ], }, 

这有点相关,可以帮助像我这样在这里find方法的人。

我正在尝试检查一个标签为Name = myInstance的实例是否在我的aws帐户中运行。

在aws中检查资源的存在是非常困难的,但是clairestreb的回答让我为这个案例find了解决方法。

我已经开始开发一个其他类似的工作库,现在你可以这样做了:

使用标签名称= myInstance查找运行实例

 var ex = require('aws-existence') var ec2 = ex.ec2({region: 'us-west-2'}) ec2.doesInstanceExist('myInstance', 'running') .then(doSomething) function doSomething (exists) { if (exists) { // stop it? } else { // start it? } } 

所以这是doesInstanceExist(identifier, instanceState)标识符是一个名称标签,或一个InstanceId。 状态可以是任何一个实例状态名称值。 如果你省略了状态,它会告诉你是否存在任何状态的实例。

你可以在这里find图书馆:

nackjicholson / AWS-存在