填写或终止EC2竞价请求

时间:2013-04-16 14:54:12

标签: amazon-web-services amazon-ec2

我正在使用EC2 API在EC2上请求SPOT实例 - 以下代码在node.js上运行良好。问题是,如果价格太低,EC2请求将保持活动状态,如果价格低于设定的价格,则会填写。我知道我可以编写自己的逻辑来查找未填充的请求并将其删除,但是想知道在初始请求中是否有一种干净的方法来执行此操作。

var SPOTRequest = { SpotPrice : price, InstanceCount : NumToLaunch, Type : "one-time", LaunchSpecification :sClient }

ec2.client.requestSpotInstances(SPOTRequest,function (err, data) {
      if (err) {
          returnPackage.status = "ERROR:"+err;
          res.write(JSON.stringify(returnPackage)); 
          res.end();  
          console.log(err);

      }          
      else {
            returnPackage.status = "SUCCESS";
            res.write(JSON.stringify(returnPackage));
            res.end();
            console.log(data);
        }

});

ec2.client.requestSpotInstances(SPOTRequest,function (err, data) { if (err) { returnPackage.status = "ERROR:"+err; res.write(JSON.stringify(returnPackage)); res.end(); console.log(err); } else { returnPackage.status = "SUCCESS"; res.write(JSON.stringify(returnPackage)); res.end(); console.log(data); } });

1 个答案:

答案 0 :(得分:2)

您可以使用requestSpotInstances()方法中的ValidUntil参数,如果您的请求未在所需的时间范围内填写,请立即自动过期:

  

ValidUntil - (日期)

     

请求的结束日期。

     

如果这是一次性请求,请求将一直保持活动状态   实例启动,请求被取消或达到此日期。如果   请求是持久的,它一直保持活动状态,直到它被取消或   达到了这个日期和时间。