Ejercicio: Creación de una función de Azure desencadenada por un webhook

Completado

En este primer ejercicio, creará el código para analizar los mensajes de eventos wiki de GitHub en Azure Functions. Configurará la función para que se ejecute cuando se reciba un mensaje de webhook.

Creación de una aplicación de funciones

  1. Inicie sesión en Azure Portal con su cuenta de Microsoft Learn.

  2. Seleccione Crear un recurso. Aparecerá el panel Crear un recurso.

  3. En el panel de menús izquierdo, en Categorías, seleccione Computación y, en el cuadro de búsqueda Buscar servicios y Marketplace, busque y seleccione Aplicación de funciones. Aparece el panel Aplicación de funciones. Selecciona Crear.

  4. Seleccione Consumo y, a continuación, seleccione el botón Seleccionar . Aparece el panel Crear aplicación de funciones .

  5. En la pestaña Aspectos básicos, escriba los valores siguientes para cada opción.

    Nota:

    El nombre de la aplicación de funciones debe ser único. Se recomienda usar algo parecido a <su nombre o iniciales>triggerapp. Use este nombre siempre que vea <nombre-aplicación-función> en este ejercicio.

    Configuración Importancia
    Detalles del proyecto
    Suscripción Suscripción de Concierge
    Grupo de recursos En la lista desplegable, seleccione el grupo de recursos del espacio aislado, [nombre del grupo de recursos del espacio aislado].
    Detalles de la instancia
    Nombre de la aplicación de funciones <nombre-de-la-aplicación-de-función>
    Sistema operativo Windows
    Pila en tiempo de ejecución Node.js.
    Versión Acepte el valor predeterminado.
    Región Elija la ubicación más cercana que también sea una de las regiones de espacio aislado.

    El entorno de prueba gratuito permite crear recursos en un subconjunto de las regiones globales de Azure. Seleccione una región de la lista siguiente al crear los recursos:

    • Oeste de EE. UU. 2
    • Centro-sur de EE. UU.
    • Centro de EE. UU.
    • Este de EE. UU.
    • Oeste de Europa
    • Sudeste Asiático
    • Japón Oriental
    • Sur de Brasil
    • Sudeste de Australia
    • Centro de la India
  6. Seleccione Siguiente: Almacenamiento para abrir la pestaña Almacenamiento . Escriba los valores siguientes para cada configuración.

    Configuración Importancia
    Almacenamiento
    Cuenta de almacenamiento (Nuevo) y acepte el nombre predeterminado.
  7. Selecciona Revisar + crear.

  8. Azure comprueba las entradas. Cuando se compruebe, seleccione Crear.

Creación de una función desencadenada de webhook

  1. Una vez completada la implementación, seleccione Ir al recurso. Aparece el panel Información general de la aplicación de funciones.

  2. En Funciones en el panel central, seleccione Crear función en Crear en Azure Portal.

  3. Aparece el panel Crear función .

  4. En Seleccionar una plantilla, seleccione Desencadenador HTTP y, a continuación, seleccione Siguiente.

  5. Acepte el nombre de función predeterminado y el nivel de autorización. Selecciona Crear. Se abre el panel HttpTrigger1 de la función, en el que se muestran los aspectos básicos del nuevo desencadenador.

  6. Seleccione Código y prueba en la parte superior de la ventana. Aparece el panel Código y prueba de la función, que muestra el archivo JavaScript que se creó a partir de la plantilla. Debería ser similar al código siguiente.

    module.exports = async function (context, req) {
        context.log('JavaScript HTTP trigger function processed a request.');
    
        const name = (req.query.name || (req.body && req.body.name));
        const responseMessage = name
            ? "Hello, " + name + ". This HTTP triggered function executed successfully."
            : "This HTTP triggered function executed successfully. Pass a name in the query string or in the request body for a personalized response.";
    
        context.res = {
            // status: 200, /* Defaults to 200 */
            body: responseMessage
        };
    }
    

    El archivo index.js es la función de JavaScript generada por el portal. La solicitud lee un nombre pasado como una cadena de consulta o como parte del cuerpo de la solicitud, y responde con el mensaje "Hello".

  7. Encima del código se encuentra la ruta de acceso con una lista desplegable que muestra el nombre de archivo. En la lista desplegable, seleccione function.json. Aparece el archivo JSON que creó la plantilla. Debería ser similar al código siguiente.

    {
        "bindings": [
            {
                "authLevel": "function",
                "type": "httpTrigger",
                "direction": "in",
                "name": "req",
                "methods": [
                    "get",
                    "post"
                ]
            },
            {
                "type": "http",
                "direction": "out",
                "name": "res"
            }
        ]
    }
    

    Los enlaces JSON especifican que la función se desencadena mediante solicitudes HTTP GET y POST dirigidas hacia la dirección URL de la aplicación de funciones.

Prueba de desencadenamiento de la función

  1. En la barra de menús superior, seleccione Obtener dirección URL de función.

  2. En el cuadro de diálogo Obtener dirección URL de la función , seleccione el icono Copiar en el Portapapeles en el campo predeterminado (clave de función). La dirección URL tendrá un aspecto similar al siguiente:

    https://<your-functionapp-name>.azurewebsites.net/api/HttpTrigger1?code=aUjXIpqdJ0ZHPQuB0SzFegxGJu0nAXmsQBnmkCpJ6RYxleRaoxJ8cQ==
    
  3. Pegue esta dirección URL en un explorador y, al final de la dirección URL, anexe el parámetro de cadena de consulta: &name=<yourname>; por ejemplo; &name=Dick y Jane.

  4. Para ejecutar la solicitud, presione Entrar. La respuesta devuelta por la función aparece en el explorador. Tendrá un aspecto similar a este:

    Hello Dick and Jane. This HTTP triggered function executed successfully.
    

¡Felicidades! Ahora tiene una función que se puede desencadenar mediante una dirección URL.