Creación de la primera función de Azure con Java e IntelliJCreate your first Azure function with Java and IntelliJ

Este artículo le muestra:This article shows you:

  • Cómo crear un proyecto de función sin servidor con IntelliJ IDEA y Apache MavenHow to create a serverless function project with IntelliJ IDEA and Apache Maven
  • Pasos para probar y depurar la función en el entorno de desarrollo integrado (IDE) en su propio equipoSteps for testing and debugging the function in the integrated development environment (IDE) on your own computer
  • Instrucciones para implementar el proyecto de función en Azure FunctionsInstructions for deploying the function project 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 función con Java e IntelliJ, instale el software siguiente:To develop a function with Java and IntelliJ, install the following software:

Importante

La variable de entorno JAVA_HOME se debe establecer en la ubicación de instalación del JDK para completar los pasos de este artículo.The JAVA_HOME environment variable must be set to the install location of the JDK to complete the steps in this article.

Se recomienda instalar Azure Functions Core Tools, versión 2,We recommend that you install Azure Functions Core Tools, version 2. que proporciona un entorno de desarrollo local para escribir, ejecutar y depurar Azure Functions.It provides a local development environment for writing, running, and debugging Azure Functions.

Creación de un proyecto de FunctionsCreate a Functions project

  1. En IntelliJ IDEA, seleccione Create New Project (Crear nuevo proyecto).In IntelliJ IDEA, select Create New Project.
  2. En la ventana New Project (Nuevo proyecto), seleccione Maven en el panel izquierdo.In the New Project window, select Maven from the left pane.
  3. Active la casilla Create from archetype (Crear desde arquetipo) y, a continuación, seleccione Add Archetype (Agregar arquetipo) para azure-functions-archetype.Select the Create from archetype check box, and then select Add Archetype for the azure-functions-archetype.
  4. En la ventana Add Archetype (Agregar arquetipo), complete los campos como se indica a continuación:In the Add Archetype window, complete the fields as follows:
    • GroupId: com.microsoft.azureGroupId: com.microsoft.azure
    • ArtifactId: azure-functions-archetypeArtifactId: azure-functions-archetype
    • Versión: use la versión más reciente del repositorio central Creación de un proyecto de Maven a partir de arquetipo en IntelliJ IDEA.Version: Use the latest version from the central repository Create a Maven project from archetype in IntelliJ IDEA
  5. Seleccione Aceptar y después Siguiente.Select OK, and then select Next.
  6. Especifique los detalles del proyecto actual y seleccione Finish (Finalizar).Enter your details for current project, and select Finish.

Maven crea los archivos del proyecto en una carpeta nueva con el mismo nombre que el valor ArtifactId.Maven creates the project files in a new folder with the same name as the ArtifactId value. 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 project's generated code 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

Para ejecutar y depurar localmente las funciones, asegúrese de que Azure Functions Core Tools, versión 2 está instalado.To run and debug functions locally, make sure you've installed Azure Functions Core Tools, version 2.

  1. Importe los cambios manualmente o habilite la importación automática.Import changes manually or enable auto import.

  2. Abra la barra de herramientas Maven Projects (Proyectos de Maven).Open the Maven Projects toolbar.

  3. Expanda Lifecycle (Ciclo de vida) y, a continuación, abra package (paquete).Expand Lifecycle, and then open package. La solución se compila y empaqueta en un directorio de destino recién creado.The solution is built and packaged in a newly created target directory.

  4. Expanda Plugins > azure-functions (Complementos > azure-functions) y abra azure-functions:run para iniciar el entorno de ejecución local de Azure Functions.Expand Plugins > azure-functions and open azure-functions:run to start the Azure Functions local runtime.
    Barra de herramientas de Maven para Azure FunctionsMaven toolbar for Azure Functions

  5. Cierre el cuadro de diálogo de ejecución cuando termine de probar la función.Close the run dialog box 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 IntelliJDebug the function in IntelliJ

  1. Para iniciar el host de función en modo de depuración, agregue -DenableDebug como argumento al ejecutar la función.To start the function host in debug mode, add -DenableDebug as the argument when you run your function. Puede cambiar la configuración en maven goals (objetivos de maven) o ejecutar el siguiente comando en una ventana de terminal:You can either change the configuration in maven goals or run the following command in a terminal window:

    mvn azure-functions:run -DenableDebug
    

    Este comando hace que el host de función abra un puerto de depuración en 5005.This command causes the function host to open a debug port at 5005.

  2. En el menú Run (Ejecutar), seleccione Edit Configurations (Editar configuraciones).On the Run menu, select Edit Configurations.

  3. Seleccione (+) para agregar un elemento Remote (Remoto).Select (+) to add a Remote.

  4. Complete los campos Name (Nombre) y Settings (Configuración) y, a continuación, seleccione OK para guardar la configuración.Complete the Name and Settings fields, and then select OK to save the configuration.

  5. Después de la configuración, seleccione Debug < Remote Configuration Name > (Depurar <Nombre de configuración remota>) o presione MAYÚS + F9 en el teclado para iniciar la depuración.After setup, select Debug < Remote Configuration Name > or press Shift+F9 on your keyboard to start debugging.

    Depuración de funciones en IntelliJ

  6. Cuando termine, detenga el depurador y el proceso en ejecución.When you're finished, stop the debugger and the running process. 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

  1. Antes de poder implementar su función en Azure, debe iniciar sesión mediante la CLI de Azure.Before you can deploy your function to Azure, you must log in by using the Azure CLI.

    az login
    
  2. Implemente el código en una función nueva con el destino de Maven azure-functions:deploy.Deploy your code into a new function by using the azure-functions:deploy Maven target. También puede seleccionar la opción azure-functions:deploy en la ventana de proyectos de Maven.You can also select the azure-functions:deploy option in the Maven Projects window.

    mvn azure-functions:deploy
    
  3. Busque la dirección URL de la función en la salida de la CLI de Azure después de que la función se haya implementado correctamente.Find the URL for your function in the Azure CLI output after the function has been successfully deployed.

    [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 by using the azure-functions:add Maven target.