Ошибка компилятора при попытке использовать AWS SDK для запуска экземпляров EC2 - PullRequest
0 голосов
/ 10 февраля 2020

Я пытаюсь использовать AWS SDK для автоматизации процесса запуска экземпляра ec2, однако всякий раз, когда я запускаю свой скрипт, я получаю синтаксическую ошибку, от которой я не могу избавиться.

const AWS = require('aws-skd')

AWS.config.loadFromPath('./config.json')

var ec2 = new AWS.EC2({apiVersion: '2016-11-15'})

const fs = require('fs')
var params = {
    ImageId: 'ami-0ff8a91507f77f867',
    InstanceType: 't3.nano',
    MinCount: 1,
    MaxCount: 1,
    Tenancy:dedicated
}

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)
});

приветствуется любая помощь, а также любые указатели, если я неправильно вызываю функцию runInstance, поскольку у меня пока нет большого опыта работы с nodejs, и это мой первый проект, использующий ее и AWS API

Редактировать: ошибка в строке 1, код ошибки синтаксиса 1 символа: 00A03EA

1 Ответ

1 голос
/ 10 февраля 2020

Существует несколько проблем с вашим текущим решением:

  • неправильное написание aws -sdk
  • неправильное использование console.log
  • неверно индикация Tenancy в параметрах
  • отсутствует SubnetId (выбранный тип экземпляра может быть запущен только в VP C)
  • неправильное написание InstanceId в ответе EC2

Вот пример кода, который работает (замените subnet-TODO соответствующим образом):

const AWS = require('aws-sdk')

AWS.config.loadFromPath('./config.json')

const ec2 = new AWS.EC2({apiVersion: '2016-11-15'})

const params = {
    ImageId: 'ami-0ff8a91507f77f867',
    InstanceType: 't3.nano',
    MinCount: 1,
    MaxCount: 1,
    SubnetId: 'subnet-TODO',
    Placement: {
        Tenancy: 'dedicated',
    }
};

ec2.runInstances(params, function(err,data) {
    if (err) {
        console.log('Could not create instance', err);
        return;
    }
    const instanceId = data.Instances[0].InstanceId;
    console.log('Created instance', instanceId);
});

Предполагая, что этот код находится в индексе. js, запустите его через node index.js. Как только это сработает, вы можете приступить к работе с git -bash / VS Code / npm start. Надеюсь, что это полезно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...