Cree su primera función con Java y EclipseCreate your first function with Java and 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.This article shows you how to create a serverless function project with the Eclipse IDE and Apache Maven, test and debug it, then deploy it to Azure Functions.

Si no tiene una suscripción a Azure, cree una cuenta gratuita antes de empezar.If you don't have an Azure subscription, create a free account before you begin.

Configurado su entorno de desarrolloSet up your development environment

Para desarrollar una aplicación de función con Java y Eclipse, debe tener instalado lo siguiente:To develop a functions app with Java and Eclipse, you must have the following installed:

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.The JAVA_HOME environment variable must be set to the install location of the JDK to complete this quickstart.

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.It's highly recommended to also install Azure Functions Core Tools, version 2, which provide a local environment for running and debugging Azure Functions.

Creación de un proyecto de FunctionsCreate a Functions project

  1. En Eclipse, seleccione el menú File (Archivo) y, luego, elija Project (Proyecto).In Eclipse, select the File menu, then select Project.
  2. Abra la carpeta Java Project (Proyecto de Java) en la ventana New Project (Nuevo proyecto), seleccione Maven Project (Proyecto de Maven) y, a continuación, elija Next (Siguiente).Open the Java Project folder in the New Project window and select Maven Project, then select Next.
  3. Acepte los valores predeterminados en el cuadro de diálogo New Maven Project (Nuevo proyecto de Maven) y seleccione Next (Siguiente).Accept the defaults in the New Maven Project dialogue and select Next.
  4. Seleccione Add Archetype (Agregar arquetipo) y agregue las entradas para azure-functions-arquetipo.Select Add Archetype and add the entries for the azure-functions-archetype.
    • Identificador de grupo de arquetipo: com.microsoft.azureArchetype Group ID: com.microsoft.azure
    • Identificador de artefacto de arquetipo: azure-functions-arquetipoArchetype Artifact ID: azure-functions-archetype
    • Versión: Use la versión más reciente de el repositorio central crear Eclipse MavenVersion: Use latest version from the central repository Eclipse Maven create
  5. Haga clic en OK (Aceptar), escriba los detalles del proyecto actual y, por último, seleccione Finish (Finalizar).Click OK and enter details for current project, and eventually Finish.

Maven crea los archivos del proyecto en una carpeta nueva con el nombre artifactId.Maven creates the project files in a new folder with a name of 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.The generated code in the project is a simple HTTP triggered function that echoes the body of the triggering HTTP request.

Ejecución local de funciones en el IDERun functions locally in the IDE

Nota

Azure Functions Core Tools, versión 2, debe estar instalado para ejecutar y depurar localmente las funciones.Azure Functions Core Tools, version 2 must be installed to run and debug functions locally.

  1. Haga clic con el botón derecho en el proyecto generado y, luego, elija Ejecutar como y Maven build (compilación de Maven).Right-click on the generated project, then choose Run As and Maven build.
  2. En el cuadro de diálogo Edit Configuration (Editar configuración), escriba package en los campos Goals (Objetivos) y Name (Nombres); luego, seleccione Run (Ejecutar).In the Edit Configuration dialog, Enter package in the Goals and Name fields, then select Run. Con esto, se compila y empaqueta el código de función.This will build and package the function code.
  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.Once the build is complete, create another Run configuration as above, using azure-functions:run as the goal and name. Seleccione Run (Ejecutar) para ejecutar la función en el IDE.Select Run to run the function in the IDE.

Finalice el tiempo de ejecución en la ventana de consola cuando haya terminado de probar la función.Terminate the runtime in the console window when you're done testing your function. Solo puede haber un host de función activo y en ejecución en el entorno local a la vez.Only one function host can be active and running locally at a time.

Depuración de la función en EclipseDebug the function in Eclipse

En la configuración de Run As (Ejecutar como) establecida en el paso anterior, cambie azure-functions:run a mvn azure-functions:run -DenableDebug y ejecute la configuración actualizada para iniciar la aplicación de función en el modo de depuración.In your Run As configuration set up in the previous step, change azure-functions:run to mvn azure-functions:run -DenableDebug and run the updated configuration to start the function app in debug mode.

Seleccione el menú Run (Ejecutar) y abra Debug Configurations (Configuraciones de depuración).Select the Run menu and open Debug Configurations. Elija Remote Java Application (Aplicación de Java remota) y cree una.Choose Remote Java Application and create a new one. Asigne un nombre a la configuración y complete la configuración.Give your configuration a name and fill in the settings. 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.The port should be consistent with the debug port opened by function host, which by default is 5005. Después de la instalación, haga clic en Debug para iniciar la depuración.After setup, click on Debug to start debugging.

Depuración de funciones en Eclipse

Establezca puntos de interrupción e inspeccione los objetos de la función mediante el IDE.Set breakpoints and inspect objects in your function using the IDE. Cuando termine, detenga el depurador y el host de la función en ejecución.When finished, stop the debugger and the running function host. Solo puede haber un host de función activo y en ejecución en el entorno local a la vez.Only one function host can be active and running locally at a time.

Implementación de la función en AzureDeploy the function to Azure

El proceso de implementación en Azure Functions usa las credenciales de cuenta desde la CLI de Azure.The deploy process to Azure Functions uses account credentials from the Azure CLI. Inicie sesión con la CLI de Azure antes de seguir usando el símbolo del sistema de su equipo.Log in with the Azure CLI before continuing using your computer's command prompt.

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).Deploy your code into a new Function app using the azure-functions:deploy Maven goal in a new Run As configuration.

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:When the deploy is complete, you see the URL you can use to access your Azure function app:

[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 siguientesNext steps

  • Revise la guía para desarrolladores de Java Functions para más información sobre cómo desarrollar funciones de Java.Review the Java Functions developer guide for more information on developing Java functions.
  • Agregue funciones adicionales con desencadenadores distintos en el proyecto con el destino de Maven azure-functions:add.Add additional functions with different triggers to your project using the azure-functions:add Maven target.