Del curso: Azure: PowerShell avanzado

Uso de webhooks

Durante este vídeo vamos a ver cómo podemos utilizar "webhooks" dentro de Azure Automation. Un "webhook" nos permite hacer una llamada a un "runbook" en cualquier momento, simplemente con una llamada a una URL. Vamos a ir a nuestra cuenta de Azure Automation, hacemos clic en Runbooks y vamos a crear un "runbook" nuevo. Este nuevo "runbook" que voy a crear se llama 'ReinicioVMs', reinicio de máquinas virtuales. Y voy a decir que este "runbook" es de tipo PowerShell. Lo creamos y vemos que aquí tenemos la pantalla de edición del "runbook". Yo ya tengo preparado el código para este "runbook", donde primero tengo unos parámetros con los datos que puedo llamar desde el "webhook". Cuando hago la llamada HTTP a esa URL, puedo pasar ciertos datos. Esos datos pueden ser, por ejemplo, en este caso, las máquinas virtuales que quiero reiniciar. Luego tengo la variable 'Datos', que contiene la representación JSON de los datos que se envían como parámetro al "webhook" y las máquinas virtuales que son el JSON del cuerpo de la llamada al "webhook". De esas máquinas virtuales, por cada una me voy a crear una variable 'Nombre' y otra variable 'Grupo' que contienen la variable '$vm.Name' y '$vm.ResourceGroup'. Esa información se envía dentro del cuerpo a la llamada al "webhook". Lo que voy a realizar después es el reinicio de las máquinas, en este caso solamente voy a escribir en pantalla que se reinicia la maquina 'Nombre' del grupo de recursos 'Grupo'. Pero, por supuesto, en un caso real tendría lógica real de reinicio de máquinas debajo. Vamos a llevarnos esta información a nuestro "runbook" de Azure. Pulsamos en Guardar y vamos al panel de prueba para comprobar si el "runbook" funciona correctamente. Vemos que está esperando el parámetro 'webhookdata', que es la información que pasaríamos a nuestro "webhook". Yo la tengo aquí guardada como ejemplo y vamos a verla. Básicamente vemos que hay una llamada, llamada "webhook", y que dentro del cuerpo de la llamada se incluyen dos elementos, la máquina virtual 1, nombre maquina virtual 1 del grupo de recursos ResourceGroup, GrupoRecursos, y lo mismo con la máquina virtual 2 del grupo recursos GrupoRecursos2. Vamos a copiarlo dentro de este bloque de parámetros y hacemos clic en Inicio. Vemos que se encola nuestra petición, queda completada y observamos en pantalla que se reinicia la maquina VM1 del grupo de recursos GrupoRecursos y la máquina VM2 del grupo de recursos GrupoRecursos2. Correcto. Por lo tanto, podemos decir que este "runbook" está listo para ser publicado y para crear un "webhook" de llamada. Hacemos clic en Sí y ahora hacemos clic en Webhooks. Agregamos un "webhook", lo creamos, lo vamos a llamar 'ReinicioVMs', está habilitado, podemos poner la fecha de caducidad y vemos que aquí está la URL. Hacemos clic en Aceptar. Vamos a ver los parámetros que tenemos. Como podemos observar, podemos incorporar parámetros por defecto. Hacemos clic en Aceptar, creamos. Ya tenemos nuestro "webbook" creado. Podemos ver que en Trabajos no se encuentran trabajos, pero si voy a PowerShell, tengo ahora mismo preparado un código que me permite hacer una llamada a este "webhook" con las máquinas virtuales y la creación de una llamada con toda la información que tenemos. Voy a ejecutarlo, parece que se ha hecho la llamada, y vemos que se ha completado la tarea. En este vídeo, hemos visto cómo utilizar "webhooks" para iniciar un "runbook" dentro de Azure Automation.

Contenido