Ejercicio: Creación de una función de desencadenador HTTP

Completado

Este proyecto guiado consta de los siguientes ejercicios:

  • Creación de la aplicación de funciones
  • Implementación de una función de desencadenador HTTP
  • Prueba del punto de conexión y revisión de registros

En este ejercicio, usará Cloud Shell para crear un proyecto de función con un desencadenador HTTP e implementarlo en la aplicación de funciones. Esto le proporciona un punto de conexión HTTP activo al que cualquier usuario puede llamar desde un explorador.

Este ejercicio incluye las siguientes tareas:

  • Abrir Cloud Shell
  • Creación del proyecto de función
  • Implementación de la función en Azure

Resultado: Un punto de conexión HTTP al que se puede llamar implementado en la aplicación de funciones mediante Cloud Shell.

Tarea 1: Abrir Cloud Shell

Inicie Azure Cloud Shell para que pueda usar la línea de comandos para crear e implementar una función.

  1. En el portal de Azure, seleccione el icono de Cloud Shell en la barra superior de herramientas (que parece un símbolo del sistema >_).
  2. Si se le pide que elija Bash o PowerShell, seleccione Bash. Si Cloud Shell se abre sin preguntar, busque en la esquina superior izquierda del panel de Cloud Shell. Si ve un botón Cambiar a Bash, selecciónelo. Si ve Cambiar a PowerShell, ya está en Bash. Cloud Shell puede tardar un minuto en inicializarse.
  3. Si se le pide que cree almacenamiento, seleccione Crear almacenamiento y espere a que Cloud Shell se inicialice.
  4. Confirme que ve un símbolo del sistema de Bash en la parte inferior del portal.

Nota:

Paso de validación: Confirme que el terminal de Cloud Shell está abierto y muestra un $ mensaje.

Tarea 2: Creación del proyecto de función

Utiliza las herramientas principales de Azure Functions en Cloud Shell para crear el esqueleto de un nuevo proyecto de función con un desencadenador HTTP.

  1. En la consola de Cloud Shell, ejecute el siguiente comando para crear una nueva carpeta de proyecto de funciones y acceda a ella:

    mkdir func-gp-endpoint && cd func-gp-endpoint
    
  2. Ejecute el comando siguiente para inicializar un nuevo proyecto de Functions mediante el entorno de ejecución de Node.js. Esto puede tardar un minuto mientras instala los paquetes necesarios.

    func init --worker-runtime node --language javascript --model V4
    
  3. Ejecute el siguiente comando para agregar una función desencadenada por HTTP denominada GetStatus:

    func new --name GetStatus --template "HTTP trigger" --authlevel anonymous
    

    Nota:

    La --authlevel anonymous marca significa que cualquier persona con la dirección URL puede llamar a esta función sin proporcionar una clave ni iniciar sesión. Esto es útil para las pruebas, pero no se debe usar para los puntos de conexión de producción que manejan datos confidenciales.

  4. Confirme que la salida muestra que la función se creó ejecutando:

    ls src/functions/
    

    Debería ver un archivo denominado GetStatus.js.

Nota:

Paso de validación: Confirme que ve GetStatus.js en el src/functions/ directorio.

Tarea 3: Implementación de la función en Azure

Publique el proyecto de función en la aplicación de funciones que creó en el ejercicio anterior.

  1. Ejecute el siguiente comando para buscar el nombre de function App y almacenarlo en una variable:

    FUNC_APP_NAME=$(az functionapp list --resource-group rg-gp-functions-endpoint --query "[0].name" -o tsv)
    echo $FUNC_APP_NAME
    

    Confirme que la salida muestra el nombre de la Function App que creó en el ejercicio anterior.

  2. Ejecute el comando siguiente para publicar el proyecto de función en la aplicación de funciones:

    func azure functionapp publish $FUNC_APP_NAME
    
  3. Espere a que la implementación se complete. La salida muestra la dirección URL pública de la función, que tiene el siguiente aspecto:

    Functions in <your-function-app-name>:
        GetStatus - [httpTrigger]
            Invoke url: https://<your-function-app-name>.azurewebsites.net/api/getstatus
    
  4. Copie la URL de invocación de la salida. Use esta dirección URL en el ejercicio siguiente para probar la función.

Nota:

Paso de validación: Confirme que la salida de implementación muestra la función GetStatus con una dirección URL de invocación.