Creación de la primera función con Java y Eclipse

En este artículo se muestra cómo crear un proyecto de función sin servidor con el IDE de Eclipse y Apache Maven, probarlo y depurarlo, e implementarlo en Azure Functions.

Si no tiene una suscripción a Azure, cree una cuenta gratuita de Azure antes de empezar.

Configurado su entorno de desarrollo

Para desarrollar una aplicación de función con Java y Eclipse, debe tener instalado lo siguiente:

Importante

La variable de entorno JAVA_HOME se debe establecer en la ubicación de instalación del JDK para completar esta guía de inicio rápido.

Se recomienda encarecidamente instalar también Azure Functions Core Tools, versión 2, que proporciona un entorno de desarrollo local para ejecutar y depurar Azure Functions.

Creación de un proyecto de Functions

  1. En Eclipse, seleccione el menú File (Archivo) y, luego, seleccione New -> Maven Project (Nuevo - Proyecto Maven).
  2. Acepte los valores predeterminados en el cuadro de diálogo New Maven Project (Nuevo proyecto de Maven) y seleccione Next (Siguiente).
  3. Busque y seleccione azure-functions-archetype y haga clic en Next (Siguiente).
  4. Asegúrese de rellenar los valores de todos los campos, incluidos resourceGroup, appNamey appRegion (use un valor de appName distinto de fabrikam-function-20170920120101928) y, por último, seleccione Finalizar. Eclipse Maven create2

Maven crea los archivos del proyecto en una carpeta nueva con el nombre artifactId. El código generado en el proyecto es una función desencadenada por HTTP simple que devuelve el cuerpo de la solicitud HTTP desencadenadora.

Ejecución local de funciones en el IDE

Nota

Azure Functions Core Tools, versión 2, debe estar instalado para ejecutar y depurar localmente las funciones.

  1. Haga clic con el botón derecho en el proyecto generado y, luego, elija Ejecutar como y Maven build (compilación de Maven).
  2. En el cuadro de diálogo Editar configuración, escriba package en Objetivos y, a continuación, seleccione Ejecutar. Con esto, se compila y empaqueta el código de función.
  3. Una vez completada la compilación, cree otra configuración de ejecución como las anteriores utilizando azure-functions:run como el objetivo y el nombre. Seleccione Run (Ejecutar) para ejecutar la función en el IDE.

Finalice el tiempo de ejecución en la ventana de consola cuando haya terminado de probar la función. Solo puede haber un host de función activo y en ejecución en el entorno local a la vez.

Depuración de la función en Eclipse

En la configuración de Run As (Ejecutar como) establecida en el paso anterior, cambie azure-functions:run a azure-functions:run -DenableDebug y ejecute la configuración actualizada para iniciar la aplicación de función en el modo de depuración.

Seleccione el menú Run (Ejecutar) y abra Debug Configurations (Configuraciones de depuración). Elija Remote Java Application (Aplicación de Java remota) y cree una. Asigne un nombre a la configuración y complete la configuración. El puerto debe ser el mismo que el del puerto de depuración que abrió el host de función, cuyo valor predeterminado es 5005. Después de la instalación, haga clic en Debug para iniciar la depuración.

Debug functions in Eclipse

Establezca puntos de interrupción e inspeccione los objetos de la función mediante el IDE. Cuando termine, detenga el depurador y el host de la función en ejecución. Solo puede haber un host de función activo y en ejecución en el entorno local a la vez.

Implementación de la función en Azure

El proceso de implementación en Azure Functions usa las credenciales de cuenta desde la CLI de Azure. Inicie sesión con la CLI de Azure antes de seguir usando el símbolo del sistema de su equipo.

az login

Implemente el código en una nueva aplicación de función con el objetivo de Maven azure-functions:deploy en una nueva configuración de Run As (Ejecutar como).

Cuando se complete la implementación, verá la dirección URL que puede usar para acceder a la aplicación de función de Azure:

[INFO] Successfully deployed Function App with package.
[INFO] Deleting deployment package from Azure Storage...
[INFO] Successfully deleted deployment package fabrikam-function-20170920120101928.20170920143621915.zip
[INFO] Successfully deployed Function App at https://fabrikam-function-20170920120101928.azurewebsites.net
[INFO] ------------------------------------------------------------------------

Pasos siguientes

  • Revise la guía para desarrolladores de Java Functions para más información sobre cómo desarrollar funciones de Java.
  • Agregue funciones adicionales con desencadenadores distintos en el proyecto con el destino de Maven azure-functions:add.