Могу ли я вставить тестовые данные в вызов API EC2 - PullRequest
0 голосов
/ 20 февраля 2019

Я реализовал вариант Сохранение стоимости AWS EC2 путем автоматической остановки простаивающего экземпляра с использованием Lambda и CloudWatch , но я хочу иметь возможность его протестировать.После прочтения Введение в AWS Lambda для чайников я могу сделать это, выбрав «Настроить тестовые события» и добавив:

{
  "detail": {
    "instance-id": "i-0123456789abcdef"
  }
}

с идентификатором известного экземпляра EC2.Но я хочу иметь возможность вводить данные, которые читаются следующим образом:

ec2 = boto3.resource('ec2')
instance = ec2.Instance(instance_id)
if instance.instance_type.endswith('xlarge'):
    put_cpu_alarm(instance_id)

Так что мне не нужно запускать экземпляр EC2 для тестирования.Это возможно?

1 Ответ

0 голосов
/ 20 февраля 2019

Это невозможно с указанным кодом.

Когда код вызывает ec2.Instance(), он получает реальные данные из сервиса Amazon EC2.

Если вы хотитеподделка такого вызова, вам нужно будет изменить свой код, чтобы вернуть конкретный ответ.Это называется кодом «заглушка», который притворяется, что ведет себя определенным образом.

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