通过 API 的 AWS Marketplace
AWS Marketplace via an API
是否可以仅通过 API 调用将 AWS Marketplace 中的免费产品部署到 AWS 实例?
我已经有一段 Node.js 代码允许我 start/stop 一个 AWS 实例,但我想进一步自动化它以从市场添加产品。
AWS EC2 API 允许您启动一个实例并指定您希望使用的 AMI(Amazon 机器映像)。事实上,我认为它需要它,因为 OS 本身来自 AMI,如果不指定 AMI,它就不知道你想要什么 OS。此外,还有一些 AMI(如您在市场中看到的那样)不仅仅包括 OS- 应用程序、各种环境等
我不是 Node 开发人员,但看起来,在 Node.js 中,您可以通过在 runInstances 方法的参数中提供 AMI ID# 来指定 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");
});
});
注意使用 ImageId 和 InstanceType 创建的参数对象。我想两者都可能是必需的元素。使用此代码,您显然需要对 AMI ID 进行硬编码,但随后您将能够自动启动新实例。
您可以在 Javascript API 中找到更多信息,此处:
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html
希望对您有所帮助!
是否可以仅通过 API 调用将 AWS Marketplace 中的免费产品部署到 AWS 实例?
我已经有一段 Node.js 代码允许我 start/stop 一个 AWS 实例,但我想进一步自动化它以从市场添加产品。
AWS EC2 API 允许您启动一个实例并指定您希望使用的 AMI(Amazon 机器映像)。事实上,我认为它需要它,因为 OS 本身来自 AMI,如果不指定 AMI,它就不知道你想要什么 OS。此外,还有一些 AMI(如您在市场中看到的那样)不仅仅包括 OS- 应用程序、各种环境等
我不是 Node 开发人员,但看起来,在 Node.js 中,您可以通过在 runInstances 方法的参数中提供 AMI ID# 来指定 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");
});
});
注意使用 ImageId 和 InstanceType 创建的参数对象。我想两者都可能是必需的元素。使用此代码,您显然需要对 AMI ID 进行硬编码,但随后您将能够自动启动新实例。
您可以在 Javascript API 中找到更多信息,此处:
http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/EC2.html
希望对您有所帮助!