Node.js 基于标记lambda函数的关闭/启动ec2实例不工作

Node.js 基于标记lambda函数的关闭/启动ec2实例不工作,node.js,aws-lambda,aws-sdk,Node.js,Aws Lambda,Aws Sdk,我想使用lambda函数基于单个标记和值启动/停止ec2实例 我正在尝试改编以下代码: 到目前为止,我已经能够指定要针对哪个区域运行lambda函数,但无法确定如何过滤实例。ie使用标记“schedule”筛选实例,然后对该值执行拆分字符串,并检查其中一个拆分值是否与“stop6pmdaily”匹配。eg计划=每天开始8am |每天停止6pmd if (instance.State.Code === 16) { // 0: pending, 16: running, 32: shutting-d

我想使用lambda函数基于单个标记和值启动/停止ec2实例

我正在尝试改编以下代码:

到目前为止,我已经能够指定要针对哪个区域运行lambda函数,但无法确定如何过滤实例。ie使用标记“schedule”筛选实例,然后对该值执行拆分字符串,并检查其中一个拆分值是否与“stop6pmdaily”匹配。eg计划=每天开始8am |每天停止6pmd

if (instance.State.Code === 16) {
// 0: pending, 16: running, 32: shutting-down, 48: terminated, 64: stopping, 80: stopped
    values = instance.Tags["schedule"].Value.Split("|")
    for (v of values) {
        if (v == 'stop6pmdaily'){
            stopParams.InstanceIds.push(instance.InstanceId);
        }
    }
}
因此,完整的功能代码如下所示:

“严格使用”;
/**
*AWS Lambda停止服务器的功能。
*
*@作者Sam Verschueren
*@自2015年10月9日起
*/
//模块依赖关系
var AWS=要求('AWS-sdk');
AWS.config.update({region:'ap-southerast-2'});
var pify=需要('pify');
var承诺=要求(“小指承诺”);
var ec2=新的AWS.ec2();
/**
*处理程序函数。
*
*@param{object}event有关事件的数据。
*@param{object}上下文AWS Lambda执行上下文。
*/
exports.handler=函数(事件、上下文){
//描述实例
pify(ec2.describeInstances.bind(ec2),Promise)(/(describeParams)
.then(功能(数据){
变量参数={
实例ID:[]
};
data.Reservations.forEach(函数(预订){
reservation.Instances.forEach(函数(实例){
if(instance.State.Code==16){
//0:挂起,16:运行,32:关闭,48:终止,64:停止,80:停止
values=instance.Tags[“schedule”].Value.Split(“|”)
对于(v值){
如果(v='stop6pmdaily'){
stopParams.InstanceId.push(instance.InstanceId);
}
}
}
});
});
if(stopParams.InstanceIds.length>0){
//停止实例
返回pify(ec2.stopInstances.bind(ec2),Promise)(stopParams);
}
})
.然后(上下文。成功)
.catch(context.fail);

};所以我没有正确访问标记数组

instance.Tags.forEach(function (Tag) {
                            if (Tag.Key == 'schedule') {
                            //do something
                            }
}

我也尝试过:
code values=instance.Tags[“schedule”].Value if(values.includes(“schedule2”){stopParams.InstanceIds.push(instance.InstanceId);}