Я хотел бы отправить запрос через API AWS EC2, чтобы остановить (или запустить) экземпляр, а затем получить обратный вызов, когда машина находится в состоянии stopped
(или running
).
Я использую AWS SDK для .NET и пробовал метод ec2Client.StopInstancesAsync
. Он возвращается, как только запрос отправлен, поэтому он не выполняет асинхронный обратный вызов после перехода состояния.
Что я собираюсь сделать в целом, так это остановить экземпляр, изменить InstanceType
, как только машина станет stopped
, а затем запустить экземпляр. Похоже, что единственный способ сделать это может состоять в том, чтобы сделать запрос на остановку, запустить собственный механизм опроса, чтобы наблюдать за переходом состояния экземпляра в stopped
, а затем продолжить изменение InstanceType
после его завершения.
Я хотел бы думать, что есть более простой и менее болтливый способ дождаться завершения перехода. Кто-нибудь знает, как получить уведомление о завершении перехода состояния EC2?
StopInstancesAsync
возвращает задачу‹T›. Вам нужно ждать его, используя async/await, или использовать продолжение, или как вы хотите это сделать. - person vcsjones   schedule 14.04.2015StopInstancesAsync
, но когда я получил ответ после ожидания, это был простойStopInstancesResponse
(то есть то же самое, что и стандартный вызовStopInstances
). Он не ждет завершения, только запрос. - person jdmcnair   schedule 14.04.2015