Reach

Grow

Manage

Automate

Reach

Grow

Manage

Automate

Cómo crear un consumidor básico de webhooks con Azure Functions

Nick Zimmerman

20 dic 2017

Correo electrónico

1 min read

Cómo crear un consumidor básico de webhooks con Azure Functions

Nick Zimmerman

20 dic 2017

Correo electrónico

1 min read

Cómo crear un consumidor básico de webhooks con Azure Functions

En noviembre, di una charla en Live! 360 sobre cómo crear un consumidor de webhook básico utilizando Azure Functions. Esta publicación de blog recapitularemos esa charla y destilaré las cosas para que entiendas los conceptos básicos de Azure Functions.

Interfaz de Webhook de Azure Functions

En noviembre, di una charla en Live! 360 sobre cómo crear un consumidor básico de webhook utilizando Azure Functions. Esta publicación en el blog recapitulá esa charla y destilará las cosas para que puedas entender los conceptos básicos de Azure Function, y expandir la solución de framework encontrada en Github.

¿Qué son los Webhooks?

Los Webhooks son pequeñas herramientas estupendas proporcionadas por muchos servicios populares, incluidos SparkPos

t, Slack, Visual Studio Team Services, Office 365, Facebook, PayPal y Salesforce. Los Webhooks envían datos basados en un evento a un endpoint que defines.

Los Webhooks son pequeñas herramientas estupendas proporcionadas por muchos servicios populares, incluidos SparkPos

t, Slack, Visual Studio Team Services, Office 365, Facebook, PayPal y Salesforce. Los Webhooks envían datos basados en un evento a un endpoint que defines.

Los Webhooks son pequeñas herramientas estupendas proporcionadas por muchos servicios populares, incluidos SparkPos

t, Slack, Visual Studio Team Services, Office 365, Facebook, PayPal y Salesforce. Los Webhooks envían datos basados en un evento a un endpoint que defines.

¿Por qué serverless functions?

Las funciones sin servidor son una gran innovación para ayudar a implementar soluciones rápidamente mientras se reduce la carga para las organizaciones. La ausencia de hardware que mantener es un gran beneficio, y las funciones sin servidor pueden manejar flujos de tráfico impredecibles. Son fáciles de implementar y actualizar, por lo que puedes empezar a funcionar rápidamente.

¡Sinergia!

La combinación de webhooks y funciones sin servidor facilita mucho la creación de ecosistemas ricos para la automatización o la interacción con el usuario. Poder impulsar los eventos y datos generados por todos estos sistemas dispares elimina la necesidad de middleware complicado, a la vez que facilita la incorporación de código y eventos personalizados.

Azure Functions Basics

Azure Functions se pueden crear a través del Azure Console o Visual Studio. Recomiendo que pruebes ambos para que estés familiarizado con las experiencias. Una de las cosas buenas de crear algo en el Azure Console es que puedes descargar la función de Azure resultante como un archivo de solución de Visual Studio. Visual Studio es la misma conocida experiencia de IDE fuerte que conoces y amas.

Hay ventajas en ambos métodos. El console de Azure Function te da acceso directo para controlar los parámetros de la operación de la función desde los recursos disponibles hasta límites de uso mensual para control de costos. Todas estas opciones pueden configurarse y manipularse desde Visual Studio a través del archivo host.json y de las variables de entorno.

Creating a Basic Webhook Consumer

Paso 1

Crea una nueva solución de Visual Studio y agrega un nuevo proyecto a esa solución.

Visual studio editor


Paso 2

Haz clic derecho en el nodo del proyecto y añade un nuevo elemento. Elige Azure Function.


Visual studio editor


Paso 3

Ahora tienes un proyecto de Visual Studio con el que estás muy familiarizado. Deberías tener una plantilla para una función básica de Azure en C#. Es hora de construir algo de código para consumir tu webhook.

Visual studio editor


Paso 4

Depura localmente. Así es, puedes depurar esto localmente con todas las herramientas conocidas de depuración e introspección de Visual Studio. Presta atención a la consola de depuración, ya que contiene mucha información valiosa sobre cada llamada que realices a tu función durante las pruebas locales.

Debugging console


Paso 5

Publica la Azure Function. Haz clic derecho en el nodo del proyecto y selecciona Publicar. Escoge Azure Function y Crear Nuevo. Nota que también podrías actualizar una función existente. La función ahora aparecerá en tu consola de Azure.

Visual studio editor

Posibles Pitfalls

La trampa más común que afecta a las personas al trabajar con el consumo de webhooks y funciones sin servidor es que la función se ejecuta demasiado tiempo. Esto hace que la función se vuelva muy costosa o falle por completo porque el POST del webhook se agota. Hay algunas cosas que puedes hacer para mediar estos problemas.

Los consumidores de webhooks deberían funcionar de forma asíncrona. Los datos deben ser ingeridos lo más rápido posible y luego procesados. El error de diseño común es intentar procesar los datos en tiempo real a medida que llegan. Esto funciona mientras los datos tengan un tamaño consistente y pequeño, pero si el tamaño de los datos puede aumentar o ser inconsistente, es mejor asegurarse de que los datos sean recibidos y se responda a la solicitud HTTP para que no ocurran interrupciones.

Otra cosa que puede ayudar a mitigar los procesos de larga duración es almacenar los datos enviados y usar la función sin servidor para iniciar un proceso en contenedores utilizando servicios como Azure Container Services (AKS) para manejar las partes de larga duración. Con este diseño, la función sin servidor debería activar y olvidar el contenedor, permitiendo que el contenedor publique sus resultados ya sea en un registro o en algún otro servicio de notificación de tu elección. Esto mantiene la función sin servidor lo más breve posible mientras se permite que ocurra un procesamiento complicado.

Encendamos esta vela

Ahí lo tienes. Ahora puedes continuar y crear tu propio ecosistema rico utilizando funciones serverless y webhooks. A continuación, se encuentra una lista de otros recursos para ayudarte a profundizar en Azure Functions.

-Nick Zimmerman

ps – a continuación se presentan algunos recursos adicionales sobre Azure functions que podrías encontrar interesantes – ¡disfruta!

Conectémosle con un experto de Bird.
Vea el poder completo del Bird en 30 minutos.

Al enviar, aceptas que Bird pueda contactarte sobre nuestros productos y servicios.

Puedes darte de baja en cualquier momento. Consulta el Aviso de Privacidad de Bird para obtener detalles sobre el procesamiento de datos.

Company

Newsletter

Mantente al día con Bird a través de actualizaciones semanales en tu buzón.

Conectémosle con un experto de Bird.
Vea el poder completo del Bird en 30 minutos.

Al enviar, aceptas que Bird pueda contactarte sobre nuestros productos y servicios.

Puedes darte de baja en cualquier momento. Consulta el Aviso de Privacidad de Bird para obtener detalles sobre el procesamiento de datos.

Company

Newsletter

Mantente al día con Bird a través de actualizaciones semanales en tu buzón.

Conectémosle con un experto de Bird.
Vea el poder completo del Bird en 30 minutos.

Al enviar, aceptas que Bird pueda contactarte sobre nuestros productos y servicios.

Puedes darte de baja en cualquier momento. Consulta el Aviso de Privacidad de Bird para obtener detalles sobre el procesamiento de datos.

R

Reach

G

Grow

M

Manage

A

Automate

Company

Newsletter

Mantente al día con Bird a través de actualizaciones semanales en tu buzón.