Ejercicio: Implementación de una función en Azure

Completado

Ahora que ya sabe cómo crear e implementar funciones en Azure, es el momento de poner en práctica la teoría.

En este ejercicio, aprenderá a configurar la función para su implementación en Azure Functions. A continuación, usará Maven para implementar la función y probarla en la nube.

Configuración del proyecto de función para su implementación

Hay algunos cambios que deben realizarse en la aplicación de funciones para poder implementarla en Azure. Los pasos siguientes le guiarán a través de la actualización del proyecto para la implementación.

  1. Determine la región del grupo de recursos del espacio aislado:

    1. Use el nombre del grupo de recursos, el cual se creó automáticamente al activar el espacio aislado, para recuperar la región donde se encuentra:

      az group show --name "<rgn>[sandbox resource group name]</rgn>" | jq -r '.location'
      
    2. Copie el nombre de la región que se muestra para su uso en los pasos siguientes.

  2. Edite el archivo pom.xml para actualizar la configuración:

    1. En Azure Cloud Shell, vaya a la carpeta raíz de la aplicación. Por ejemplo:

      cd ~/event-reporting
      
    2. Abra pom.xml en el editor de código de Cloud Shell.

      code pom.xml
      
    3. Busque el siguiente identificador de artefacto:

      <artifactId>azure-functions-maven-plugin</artifactId>
      
    4. En la sección <configuration>, busque el elemento <resourceGroup> y actualícelo con el nombre del grupo de recursos. Por ejemplo:

      <resourceGroup><rgn>[sandbox resource group name]</rgn></resourceGroup>
      
    5. Busque el elemento <region> y actualícelo con el nombre de la región donde se encuentra el grupo de recursos. Por ejemplo:

      <region>westus</region>
      
    6. Presione Ctrl+S para guardar el archivo pom.xml y, después, presione Ctrl+Q para cerrar el editor de código.

Implementación de la función de Azure Functions

Ahora que la función ya está configurada para la implementación, el siguiente paso consiste en implementarla en Azure Functions.

  1. En Azure Cloud Shell, vaya a la carpeta raíz de la aplicación. Por ejemplo:

    cd ~/event-reporting
    
  2. Use el siguiente comando para compilarla e implementarla en Azure Functions:

    mvn clean package azure-functions:deploy
    

    Maven muestra el estado de ejecución de la implementación. Por ejemplo:

    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Azure Java Functions 1.0-SNAPSHOT
    [INFO] ------------------------------------------------------------------------
    [INFO]
    [INFO] --- azure-functions-maven-plugin:1.4.1:deploy (default-cli) @ event-reporting ---
    [INFO] Auth Type : AZURE_CLI
    [INFO] Subscription : Concierge Subscription(12345678-1234-1234-1234-123456789abc)
    [INFO] The specified function app does not exist. Creating a new function app...
    [INFO] Set function worker runtime to java.
    [INFO] Successfully created the function app: event-reporting-20240125192009873.
    [INFO] Trying to deploy the function app...
    [INFO] Trying to deploy artifact to event-reporting-20240125192009873...
    [INFO] Successfully deployed the artifact to https://event-reporting-20240125192009873.azurewebsites.net
    [INFO] Deployment done, you may access your resource through event-reporting-20240125192009873.azurewebsites.net
    [INFO] Syncing triggers and fetching function information
    [INFO] Querying triggers...
    [INFO] HTTP Trigger Urls:
    [INFO]   HttpExample : https://event-reporting-20240125192009873.azurewebsites.net/api/httpexample
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time:  01:01 min
    [INFO] Finished at: 2024-01-25T20:12:04Z
    [INFO] ------------------------------------------------------------------------
    

Recuperación de la dirección URL de la función de Azure mediante el portal

Recuerde que, en el ejercicio que completó en la unidad anterior, era necesario crear la dirección URL para probar la función en un explorador web. Sin embargo, hay un método más sencillo para recuperar la dirección URL de la función de Azure Functions mediante Azure Portal. Para ello, siga estos pasos.

  1. Inicie sesión en Azure Portal con la misma cuenta que ha usado para activar el espacio aislado.

  2. En el menú de la izquierda, seleccione Todos los recursos.

  3. Seleccione la aplicación de funciones de la lista de recursos. En este ejercicio, el nombre de la aplicación de funciones comienza por event-reporting. Por ejemplo:

    event-reporting-20240125192009873
    

    Este nombre function app es el mismo que el que se informó en la respuesta de implementación anterior de este ejercicio.

  4. En la página Información general de la aplicación de funciones, en la pestaña Funciones, seleccione la función HttpExample. Esto mostrará la página Información general de la función.

  5. En la parte superior de la página de la función, seleccione Obtener la dirección URL de la función. Copie la dirección URL completa de la función. Por ejemplo:

    https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample
    

    Usará esta URL en la siguiente sección de este ejercicio.

Prueba de la función de Azure en el portal

Ahora que implementó la función en Azure, lo único que necesita hacer para probarla en un explorador web es anexar una cadena de consulta al final de la dirección URL, tal y como hizo en los ejercicios anteriores.

  1. Construya la dirección URL de la API de su función:

    1. Recupere la URL que ha copiado en la sección previa de este ejercicio, Recuperación de la dirección URL de la función de Azure mediante el portal. Por ejemplo:

      https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample
      
    2. Anexe una cadena de consulta que pase un nombre a la dirección URL de la API; por ejemplo:

      https://event-reporting-20240125192009873.azurewebsites.net/api/HttpExample?name=Bob
      
    3. Copie esta dirección URL completa para usarla en los pasos siguientes.

  2. Abra una nueva pestaña en el explorador web y pegue la dirección URL completa de los pasos anteriores en el campo de dirección.

  3. Cuando indique al explorador web que solicite la dirección URL, se devolverá al explorador un mensaje de texto no cifrado personalizado con el nombre que pasó en la cadena de consulta. Por ejemplo:

    Hello, Bob
    

Enhorabuena, ha implementado y probado correctamente la función en Azure.