2016-03-02 55 views
2

是否可以通過API調用將AWS Marketplace中的免費產品純粹部署到AWS實例上?AWS Marketplace通過API

我已經有一段Node.js代碼,它允許我啓動/停止一個AWS實例,但是我想進一步自動化它以從市場添加產品。

+0

我假設您指的是AMI Marketplace?是的,您可以在啓動新實例時提供AMI ID#。 – Brooks

+0

對於遲到的回覆感到抱歉 - 但是我在找什麼方法? – Tamas

+0

是您對AMI市場的原始問題嗎? – Brooks

回答

1

AWS EC2 API允許您啓動實例並指定您希望使用的AMI(Amazon Machine Image)。事實上,我相信它是需要它的,因爲操作系統本身來自AMI,沒有指定AMI,它不知道你想要什麼操作系統。此外,還有AMI(正如您在Marketplace中看到的那樣)不僅包括OS應用程序,各種環境等等。

我不是Node開發人員,但看起來像Node。 js,您可以通過將參數中的AMI ID#提供給runInstances方法來指定AMI。

見下面的例子:
http://docs.aws.amazon.com/AWSJavaScriptSDK/guide/node-examples.html

var ec2 = new AWS.EC2(); 

var params = { 
    ImageId: 'ami-1624987f', // Amazon Linux AMI x86_64 EBS 
    InstanceType: 't1.micro', 
    MinCount: 1, MaxCount: 1 
}; 

// Create the instance 
ec2.runInstances(params, function(err, data) { 
    if (err) { console.log("Could not create instance", err); return; } 

    var instanceId = data.Instances[0].InstanceId; 
    console.log("Created instance", instanceId); 

    // Add tags to the instance 
    params = {Resources: [instanceId], Tags: [ 
    {Key: 'Name', Value: 'instanceName'} 
    ]}; 
    ec2.createTags(params, function(err) { 
    console.log("Tagging instance", err ? "failure" : "success"); 
    }); 
}); 

注意的參數對象與兩個圖像標識和InstanceType創建。我想可能都是必需的元素。使用此代碼,您顯然需要對AMI ID進行硬編碼,但是您可以自動啓動新實例。

可以JavaScript API中找到更多的信息,在這裏:

http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html

我希望幫助!

+0

完美,謝謝! – Tamas