2012-04-03 13 views
5

Además del sondeo, ¿cómo puedo saber cuándo se ha completado una operación larga de Amazon EC2? Por ejemplo, usar la función API CreateImage puede llevar más de varios minutos.¿Cómo puedo saber cuándo se completa una operación de Amazon EC2?

En este momento estoy haciendo esto:

// MAKE THE API CALL 
var createRequest = new CreateImageRequest().WithInstanceId("i-123456").WithName("MyNewAMI"); 
var createResponse = myAmazonEC2Client.CreateImage(createRequest); 
var imageId = createResponse.CreateImageResult.ImageId; 

// ICKY POLLING CODE 
bool isImaging = true; 
while (isImaging) 
{ 
    var describeRequest = new DescribeImagesRequest().WithImageId(imageId); 
    var describeResponse = myAmazonEC2Client.DescribeImages(describeRequest); 
    isImaging = describeResponse.DescribeImagesResult.Image.Single().ImageState == "pending"; 
    Thread.Sleep(10000); // sleep for 10 seconds 
} 

// CreateImage IS COMPLETE; MOVE ON WITH OUR WORK 

odio esto. Después de llamar al CreateImage, me gustaría que me notifiquen de alguna manera que todo está listo y continuar. es posible? Estoy usando AWS .NET SDK en este ejemplo, pero no estoy buscando específicamente una solución C#.

ACTUALIZACIÓN: Cruz-publicado en el AWS Forums

Respuesta

3

Algunos eventos en Amazon pueden configurarse para enviar notificaciones a un tema SNS. Por ejemplo, al usar la escala automática, puede tener notificaciones cuando se inicia y finaliza un servidor. Por lo que sé, no hay forma de activar estas notificaciones para otros servicios como CreateImage. He buscado este tipo de característica en el pasado sin suerte. Intentaba hacerlo para crear un script que iniciara los servidores en un orden específico. Terminé simplemente sondeando su API ya que no pude encontrar ninguna forma de registrarme en esos eventos.

0

James Hunter Ross respondieron a esta pregunta over on the AWS Forums de la siguiente manera:

sondeo es la misma. Dicho esto, dado que tiene un programa C# iniciado, ¿por qué no dejar que genere un proceso de votación que le notifique como lo desea? Parece que ya casi terminaste, en algunos aspectos.

(Por supuesto, sería bueno si dicha funcionalidad se construyó en AWS.)

yo no era capaz de encontrar un perfil Stackoverflow por él, pero si aparece Voy edita esto para darle crédito.

Cuestiones relacionadas