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

Completado

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

Creación de una aplicación Function App

  1. Inicie sesión en Azure Portal con la cuenta de MSLearn.

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

  3. En el panel de menús de la izquierda, en Categorías, seleccione Proceso y, luego, busque y seleccione Aplicación de funciones en el cuadro de búsqueda Buscar servicios y marketplace. Aparece el panel Aplicación de funciones.

  4. Seleccione Crear. 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.

    Parámetro Value
    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 instancia
    Nombre de la aplicación de funciones <your-functionapp-name>
    Publicar Código
    Pila en tiempo de ejecución Node.js
    Versión Acepte el valor predeterminado.
    Region Elija la ubicación más cercana que también sea una de las regiones de espacio aislado.
    Sistema operativo
    Sistema operativo Windows
    Hospedar aplicaciones de WPF
    Opciones y planes de hospedaje Consumo (sin servidor)

    El espacio aislado 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 de Asia
    • 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 opción.

    Configuración Valor
    Storage
    Cuenta de almacenamiento Seleccione (Nuevo) y acepte el nombre predeterminado.
  7. Seleccione Revisar + crear.

  8. Azure comprueba las entradas. Cuando se hayan comprobado, seleccione Crear.

Creación de una función desencadenada de webhook

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

  2. En Funciones, seleccione Crear en Azure Portal.

  3. Se abre el panel Crear función.

  4. En Seleccionar una plantilla, elija Desencadenador HTTP y, luego, Crear. Se abre el panel HttpTrigger1 de la función, en el que se muestran los aspectos básicos del nuevo desencadenador.

  5. En el panel de menús izquierdo, en Desarrollador, seleccione Código y prueba. Se abre el panel Código y prueba de la función, en el que se muestra el archivo de JavaScript que se ha creado a partir de la plantilla. Debería ser similar al siguiente código.

    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 que genera 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".

  6. Encima del código se encuentra la ruta con una lista desplegable en la que se muestra el nombre de archivo. En la lista desplegable, seleccione function.jsen. Aparece el archivo JSON que ha creado la plantilla. Debería ser similar al siguiente código.

    {
        "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 con solicitudes HTTP GET y POST dirigidas a 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 la dirección URL de la función.

  2. En el cuadro de mensaje Obtener la dirección URL de la función, en el menú desplegable Clave, en Clave de función, seleccione Valor predeterminado. En el campo URL, seleccione el icono Copiar al Portapapeles. La dirección URL se parecerá a esta:

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

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

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

Enhorabuena. Ahora dispone de una función que se puede desencadenar mediante una dirección URL.