Inicio rápido: Creación de un proyecto de Azure Functions en Visual Studio CodeQuickstart: Create an Azure Functions project using Visual Studio Code

En este artículo se usa Visual Studio Code para crear una función que responda a solicitudes HTTP.In this article, you use Visual Studio Code to create a function that responds to HTTP requests. Después de probar el código localmente, se implementa en el entorno sin servidor de Azure Functions.After testing the code locally, you deploy it to the serverless environment of Azure Functions. Este inicio rápido supone un pequeño costo en su cuenta de Azure.Completing this quickstart incurs a small cost of a few USD cents or less in your Azure account.

También hay una versión basada en la CLI de este artículo.There is also a CLI-based version of this article.

Configurar su entornoConfigure your environment

Antes de empezar, asegúrese de que cumple los siguientes requisitos:Before you get started, make sure you have the following requirements in place:

  • Node.js , las versiones Active LTS y Maintenance LTS (se recomienda la 10.14.1).Node.js, Active LTS and Maintenance LTS versions (10.14.1 recommended). Use el comando npm --version para comprobar la versión.Use the npm --version command to check your version.

Creación del proyecto localCreate your local project

En esta sección se usa Visual Studio Code para crear un proyecto local en Azure Functions en su lenguaje preferido.In this section, you use Visual Studio Code to create a local Azure Functions project in your chosen language. Más adelante en este artículo, publicará el código de función en Azure.Later in this article, you'll publish your function code to Azure.

  1. Seleccione el icono de Azure en la barra de actividades y después en el área Azure: Functions, seleccione el icono Crear un proyecto.Choose the Azure icon in the Activity bar, then in the Azure: Functions area, select the Create new project... icon.

    Elija Crear un proyecto.

  2. Elija una ubicación de directorio para el área de trabajo del proyecto y elija Seleccionar.Choose a directory location for your project workspace and choose Select.

    Nota

    Estos pasos se han diseñado para completarse fuera de un área de trabajo.These steps were designed to be completed outside of a workspace. Por tanto, no seleccione una carpeta de proyecto que forme parte de un área de trabajo.In this case, do not select a project folder that is part of a workspace.

  3. Escriba la siguiente información cuando se le indique:Provide the following information at the prompts:

    • Seleccione un lenguaje para el proyecto de funciones: Elija C#.Select a language for your function project: Choose C#.
    • Seleccione un lenguaje para el proyecto de funciones: Elija JavaScript.Select a language for your function project: Choose JavaScript.
    • Seleccione un lenguaje para el proyecto de funciones: Elija TypeScript.Select a language for your function project: Choose TypeScript.
    • Seleccione un lenguaje para el proyecto de funciones: Elija PowerShell.Select a language for your function project: Choose PowerShell.
    • Seleccione un lenguaje para el proyecto de funciones: Elija Python.Select a language for your function project: Choose Python.

    • Seleccione un alias de Python para crear un entorno virtual: Elija la ubicación del intérprete de Python.Select a Python alias to create a virtual environment: Choose the location of your Python interpreter. Si no se muestra la ubicación, escriba la ruta de acceso completa al archivo binario de Python.If the location isn't shown, type in the full path to your Python binary.

    • Seleccione una plantilla para la primera función del proyecto: Elija HTTP trigger.Select a template for your project's first function: Choose HTTP trigger.

    • Especifique un nombre de función: Escriba HttpExample.Provide a function name: Type HttpExample.

    • Especifique un espacio de nombres: Escriba My.Functions.Provide a namespace: Type My.Functions.
    • Nivel de autorización: Elija Anonymous, que permite que cualquier llame al punto de conexión de la función.Authorization level: Choose Anonymous, which enables anyone to call your function endpoint. Para obtener información sobre el nivel de autorización, consulte Claves de autorización.To learn about authorization level, see Authorization keys.

    • Seleccione cómo desea que se abra el proyecto: Elija Add to workspace.Select how you would like to open your project: Choose Add to workspace.

  4. Con esta información, Visual Studio Code genera un proyecto de Azure Functions con un desencadenador HTTP.Using this information, Visual Studio Code generates an Azure Functions project with an HTTP trigger. Los archivos del proyecto locales se pueden ver en Explorer.You can view the local project files in the Explorer. Para obtener más información sobre los archivos que se crean, consulte Archivos del proyecto generados.To learn more about files that are created, see Generated project files.

Ejecución local de la funciónRun the function locally

Visual Studio Code se integra con Azure Functions Core Tools para que pueda ejecutar este proyecto en el equipo de desarrollo local antes de publicarlo en Azure.Visual Studio Code integrates with Azure Functions Core Tools to let you run this project on your local development computer before you publish to Azure.

  1. Para llamar a la función, presione F5 para iniciar el proyecto de aplicación de funciones.To call your function, press F5 to start the function app project. La salida de Core Tools aparece en el panel Terminal.Output from Core Tools is displayed in the Terminal panel.

  2. Si aún no ha instalado Azure Functions Core Tools, seleccione Instalar en el símbolo del sistema.If you haven't already installed Azure Functions Core Tools, select Install at the prompt. Cuando se instala Core Tools, la aplicación se inicia en el panel Terminal.When the Core Tools are installed, your app starts in the Terminal panel. Puede ver el punto de conexión de la dirección URL de la función desencadenada por HTTP que se ejecuta localmente.You can see the URL endpoint of your HTTP-triggered function running locally.

    Salida local de Azure

  3. Con Core Tools en ejecución, vaya a la siguiente dirección URL para ejecutar una solicitud GET, que incluye la cadena de consulta ?name=Functions.With Core Tools running, navigate to the following URL to execute a GET request, which includes ?name=Functions query string.

    http://localhost:7071/api/HttpExample?name=Functions

  4. Se devuelve una respuesta, que tiene un aspecto similar al siguiente en un explorador:A response is returned, which looks like the following in a browser:

    Respuesta de localhost de la función en el explorador

  5. La información sobre la solicitud se muestra en el panel Terminal.Information about the request is shown in Terminal panel.

    Ejecución de función en el panel Terminal

  6. Presione Ctrl + C para detener Core Tools y desconectar el depurador.Press Ctrl + C to stop Core Tools and disconnect the debugger.

Ejecución local de la funciónRun the function locally

Azure Functions Core Tools se integra con Visual Studio Code para permitirle ejecutar y depurar un proyecto de Azure Functions localmente.Azure Functions Core Tools integrates with Visual Studio Code to let you run and debug an Azure Functions project locally.

  1. Para depurar la función, inserte una llamada al cmdlet Wait-Debugger en el código de la función antes de adjuntar el depurador y luego presione F5 para iniciar el proyecto de la aplicación de función y adjuntar el depurador.To debug your function, insert a call to the Wait-Debugger cmdlet in the function code before you want to attach the debugger, then press F5 to start the function app project and attach the debugger. La salida de Core Tools aparece en el panel Terminal.Output from Core Tools is displayed in the Terminal panel.

  2. En el panel Terminal, copie el punto de conexión de la dirección URL de la función desencadenada por HTTP.In the Terminal panel, copy the URL endpoint of your HTTP-triggered function.

    Salida local de Azure

  3. Anexe la cadena de consulta ?name=<yourname> a esta dirección URL y use después Invoke-RestMethod en un segundo símbolo del sistema de PowerShell para ejecutar la solicitud, del modo siguiente:Append the query string ?name=<yourname> to this URL, and then use Invoke-RestMethod in a second PowerShell command prompt to execute the request, as follows:

    PS > Invoke-RestMethod -Method Get -Uri http://localhost:7071/api/HttpTrigger?name=PowerShell
    Hello PowerShell
    

    También puede ejecutar la solicitud GET de un explorador desde la siguiente dirección URL.You can also execute the GET request from a browser from the following URL:

    http://localhost:7071/api/HttpExample?name=PowerShell

    Cuando se llama al punto de conexión HttpTrigger sin pasar un parámetro name como un parámetro de consulta o en el cuerpo, la función devuelve un error BadRequest.When you call the HttpTrigger endpoint without passing a name parameter either as a query parameter or in the body, the function returns a BadRequest error. Al revisar el código de run.ps1, verá que este error se produce por diseño.When you review the code in run.ps1, you see that this error occurs by design.

  4. La información sobre la solicitud se muestra en el panel Terminal.Information about the request is shown in Terminal panel.

    Ejecución de función en el panel Terminal

  5. Para detener la depuración, presione Ctrl + C para detener Core Tools.To stop debugging, press Ctrl + C to stop Core Tools.

Después de comprobar que la función se ejecuta correctamente en el equipo local es el momento de publicar el proyecto en Azure.After you've verified that the function runs correctly on your local computer, it's time to publish the project to Azure.

Nota

No olvide quitar todas las llamadas a Wait-Debugger antes de publicar sus funciones en Azure.Remember to remove any calls to Wait-Debugger before you publish your functions to Azure.

Después de comprobar que la función se ejecuta correctamente en el equipo local, es el momento de usar Visual Studio Code para publicar el proyecto directamente en Azure.After you've verified that the function runs correctly on your local computer, it's time to use Visual Studio Code to publish the project directly to Azure.

Inicio de sesión en AzureSign in to Azure

Para poder publicar la aplicación, debe iniciar sesión en Azure.Before you can publish your app, you must sign in to Azure.

  1. Si aún no ha iniciado sesión, seleccione el icono de Azure en la barra de actividades y después en el área Azure: Functions, elija Iniciar sesión en Azure… . En caso de no tener ninguna cuenta, seleccione Crear una cuenta de Azure gratis.If you aren't already signed in, choose the Azure icon in the Activity bar, then in the Azure: Functions area, choose Sign in to Azure.... If you don't already have one, you can Create a free Azure account.

    Respuesta de localhost de la función en el explorador

    Si ya ha iniciado sesión, vaya a la sección siguiente.If you're already signed in, go to the next section.

  2. Cuando se le solicite en el explorador, elija su cuenta de Azure e inicie sesión con las credenciales de la misma.When prompted in the browser, choose your Azure account and sign in using your Azure account credentials.

  3. Cuando haya iniciado sesión correctamente, puede cerrar la nueva ventana del explorador.After you've successfully signed in, you can close the new browser window. Las suscripciones que pertenecen a su cuenta de Azure se muestran en la barra lateral.The subscriptions that belong to your Azure account are displayed in the Side bar.

Publicar el proyecto en AzurePublish the project to Azure

En esta sección, va a crear una aplicación de funciones y los recursos relacionados en su suscripción de Azure y, después, va a implementar el código.In this section, you create a function app and related resources in your Azure subscription and then deploy your code.

  1. Seleccione el icono de Azure en la barra de actividades y después en el área Azure: Functions, seleccione el botón de implementación en la aplicación de funciones.Choose the Azure icon in the Activity bar, then in the Azure: Functions area, choose the Deploy to function app... button.

    Publicación del proyecto en Azure

  2. Escriba la siguiente información cuando se le indique:Provide the following information at the prompts:

    • Seleccione la suscripción: elija la suscripción que desee usar.Select subscription: Choose the subscription to use. No se mostrará esta opción si solo tiene una suscripción.You won't see this if you only have one subscription.

    • Seleccione la aplicación de funciones en Azure: Elija + Create new Function App (no Advanced).Select Function App in Azure: Choose + Create new Function App (not Advanced). En este artículo no se admite el flujo de publicación avanzada.This article doesn't support the advanced publishing flow.

    Importante

    La publicación en una aplicación de función existente sobrescribe el contenido de esa aplicación en Azure.Publishing to an existing function app overwrites the content of that app in Azure.

    • Escriba un nombre único global para la aplicación de funciones: Escriba un nombre que sea válido en una ruta de acceso de la dirección URL.Enter a globally unique name for the function app: Type a name that is valid in a URL path. El nombre que escriba se valida para asegurarse de que es único en Azure Functions.The name you type is validated to make sure that it's unique in Azure Functions.
    • Seleccione un entorno de ejecución: Elija la versión de Python en la que se ha estado ejecutando localmente.Select a runtime: Choose the version of Python you've been running on locally. Ejecute el comando python --version para comprobar la versión.You can use the python --version command to check your version.
    • Seleccione un entorno de ejecución: Elija la versión de Node.js en la que se ha estado ejecutando localmente.Select a runtime: Choose the version of Node.js you've been running on locally. Ejecute el comando node --version para comprobar la versión.You can use the node --version command to check your version.
    • Seleccione una ubicación para los nuevos recursos: Para mejorar el rendimiento, elija una región cerca de usted.Select a location for new resources: For better performance, choose a region near you.
  3. Cuando se complete, se crearán los siguientes recursos de Azure en la suscripción:When completed, the following Azure resources are created in your subscription:

    • Grupo de recursos : contiene todos los recursos de Azure creados.Resource group: Contains all of the created Azure resources. El nombre se basa en el nombre de la aplicación de función.The name is based on your function app name.
    • Cuenta de almacenamiento : se crea una cuenta de almacenamiento estándar con un nombre único en función del nombre de la aplicación de función.Storage account: A standard Storage account is created with a unique name that is based on your function app name.
    • Plan de hospedaje : se crea un plan de consumo en la región Oeste de EE. UU. para hospedar la aplicación de función sin servidor.Hosting plan: A consumption plan is created in the West US region to host your serverless function app.
    • Aplicación de función: el proyecto se implementa y ejecuta en esta aplicación de función nueva.Function app: Your project is deployed to and runs in this new function app.
    • Application Insights: Se crea una instancia, que está conectada a la aplicación de funciones, en función del nombre de la función.Application Insights: An instance, which is connected to your function app, is created based on your function name.

    Una vez que se haya creado la aplicación de función se mostrará una notificación y se aplicará el paquete de implementación.A notification is displayed after your function app is created and the deployment package is applied.

  4. Seleccione View Output (Ver salida) en esta notificación para ver la creación y los resultados de la implementación, incluidos los recursos de Azure que ha creado.Select View Output in this notification to view the creation and deployment results, including the Azure resources that you created. Si se pierde la notificación, seleccione el icono de campana en la esquina inferior derecha para verlo de nuevo.If you miss the notification, select the bell icon in the lower right corner to see it again.

    Creación de la notificación completa

Ejecución de la función en AzureRun the function in Azure

  1. Vuelva al área Azure: Functions en la barra lateral y expanda la aplicación de funciones nueva en la suscripción.Back in the Azure: Functions area in the side bar, expand the new function app under your subscription. Expanda Funciones, haga clic con el botón derecho (Windows) o presione Ctrl + clic (MacOS) en HttpExample y, a continuación, elija Copy function URL (Copiar la dirección URL de la función).Expand Functions, right-click (Windows) or Ctrl + click (MacOS) on HttpExample, and then choose Copy function URL.

    Copia de la dirección URL de la función para el nuevo desencadenador HTTP

  2. Pegue esta dirección URL de la solicitud HTTP en la barra de dirección del navegador, agregue la name cadena de consulta como ?name=Functions al final de la dirección URL y, después, ejecute la solicitud.Paste this URL for the HTTP request into your browser's address bar, add the name query string as ?name=Functions to the end of this URL, and then execute the request. La dirección URL que llama a la función desencadenada por HTTP debería tener el formato siguiente:The URL that calls your HTTP-triggered function should be in the following format:

     http://<functionappname>.azurewebsites.net/api/httpexample?name=Functions 
    

    En el siguiente ejemplo se muestra la respuesta en el explorador para la solicitud GET remota devuelta por la función:The following example shows the response in the browser to the remote GET request returned by the function:

    Respuesta de la función en el explorador

Limpieza de recursosClean up resources

Cuando continúa con el paso siguiente, Adición de un enlace de cola de Azure Storage a una función, tendrá que conservar todos los recursos intactos para crear a partir de lo que ya ha hecho.When you continue to the next step, Add an Azure Storage queue binding to your function, you'll need to keep all your resources in place to build on what you've already done.

De lo contrario, puede usar los pasos siguientes para eliminar la aplicación de funciones y sus recursos relacionados para evitar incurrir en costos adicionales.Otherwise, you can use the following steps to delete the function app and its related resources to avoid incurring any further costs.

  1. En Visual Studio Code, presione F1 para abrir la paleta de comandos.In Visual Studio Code, press F1 to open the command palette. En la paleta de comandos, busque y seleccione Azure Functions: Open in portal.In the command palette, search for and select Azure Functions: Open in portal.

  2. Elija la aplicación de funciones y presione Entrar.Choose your function app, and press Enter. La página de la aplicación de funciones se abre en Azure Portal.The function app page is opened in the Azure portal.

  3. En la pestaña Introducción, seleccione el vínculo con nombre en Grupo de recursos.In the Overview tab, select the named link under Resource group.

    Seleccione el grupo de recursos que se va a eliminar de la página de la aplicación de función.

  4. En la página Grupo de recursos, revise la lista de recursos incluidos y compruebe que son los que desea eliminar.In the Resource group page, review the list of included resources, and verify that they are the ones you want to delete.

  5. Seleccione Eliminar grupo de recursos y siga las instrucciones.Select Delete resource group, and follow the instructions.

    El proceso de eliminación tardará un par de minutos.Deletion may take a couple of minutes. Cuando termine, aparece una notificación durante unos segundos.When it's done, a notification appears for a few seconds. También puede seleccionar el icono de campana en la parte superior de la página para ver la notificación.You can also select the bell icon at the top of the page to view the notification.

Para más información sobre los costos de Functions, consulte Estimación de los costos según el plan de consumo.To learn more about Functions costs, see Estimating Consumption plan costs.

Pasos siguientesNext steps

Ha usado Visual Studio Code para crear una aplicación de función con una función simple desencadenada por HTTP.You have used Visual Studio Code to create a function app with a simple HTTP-triggered function. En el siguiente artículo, esa función se expande mediante la adición de un enlace de salida.In the next article, you expand that function by adding an output binding. Este enlace escribe la cadena de la solicitud HTTP en un mensaje en una cola de Azure Queue Storage.This binding writes the string from the HTTP request to a message in an Azure Queue Storage queue.