Creación de la primera función mediante Visual Studio CodeCreate your first function using Visual Studio Code

Azure Functions permite ejecutar el código en un entorno sin servidor sin necesidad de crear una máquina virtual o publicar una aplicación web.Azure Functions lets you execute your code in a serverless environment without having to first create a VM or publish a web application.

En este artículo aprenderá a usar la extensión de Azure Functions para Visual Studio Code para crear y probar una función "hola mundo" en su equipo local mediante Microsoft Visual Studio Code.In this article, you learn how to use the Azure Functions extension for Visual Studio Code to create and test a "hello world" function on your local computer using Microsoft Visual Studio Code. Posteriormente, puede publicar el código de la función en Azure desde Visual Studio Code.You then publish the function code to Azure from Visual Studio Code.

Código Azure Functions en un proyecto de Visual Studio

En la actualidad, la extensión es compatible con las funciones C#, JavaScript y Java, con la compatibilidad con Python actualmente en versión preliminar.The extension currently supports C#, JavaScript, and Java functions, with Python support currently in Preview. Los pasos descritos en este artículo y en el artículo que sigue admiten solo funciones de JavaScript y C#.The steps in this article and the article that follows support only JavaScript and C# functions. Para obtener información sobre cómo usar Visual Studio Code para crear y publicar las funciones de Python, consulte Deploy Python to Azure Functions (Implementación de Python en Azure Functions).To learn how to use Visual Studio Code to create and publish Python functions, see Deploy Python to Azure Functions. Para obtener información sobre cómo usar Visual Studio Code para crear y publicar las funciones de PowerShell, consulte Cree su primera función de PowerShell en Azure.To learn how to use Visual Studio Code to create and publish PowerShell functions, see Create your first PowerShell function in Azure.

Actualmente, la extensión se encuentra en versión preliminar.The extension is currently in preview. Para más información, consulte la página de la extensión de Azure Functions para Visual Studio Code.To learn more, see the Azure Functions extension for Visual Studio Code extension page.

Requisitos previosPrerequisites

Para completar esta guía de inicio rápido:To complete this quickstart:

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.

Instalación de la extensión de Azure FunctionsInstall the Azure Function extension

La extensión de Azure Functions se usa para crear, probar e implementar funciones en Azure.The Azure Functions extension is used to create, test, and deploy functions to Azure.

  1. En Visual Studio Code, abra Extensiones y busque azure functions, o abra este vínculo en Visual Studio Code.In Visual Studio Code, open Extensions and search for azure functions, or open this link in Visual Studio Code.

  2. Seleccione Instalar para instalar la extensión en Visual Studio Code.Select Install to install the extension to Visual Studio Code.

    Instalación de la extensión de Azure Functions

  3. Reinicie Visual Studio Code y seleccione el icono de Azure en la barra Actividad.Restart Visual Studio Code and select the Azure icon on the Activity bar. Debería ver un área de Azure Functions en la barra lateral.You should see an Azure Functions area in the Side Bar.

    Área de Azure Functions en la barra lateral

Creación de su proyecto de Functions con una funciónCreate your Functions project with a function

La plantilla del proyecto de Azure Functions de Visual Studio Code crea un proyecto que se puede publicar en una aplicación de función en Azure.The Azure Functions project template in Visual Studio Code creates a project that can be published to a function app in Azure. Una aplicación de función permite agrupar funciones como una unidad lógica para la administración, la implementación y el uso compartido de recursos.A function app lets you group functions as a logical unit for management, deployment, and sharing of resources.

  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: Create new project....In the command palette, search for and select Azure Functions: Create new project....

  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. Siguiendo las indicaciones, proporcione la información siguiente:Following the prompts, provide the following information:

    PromptPrompt ValorValue DESCRIPCIÓNDescription
    Seleccionar el lenguaje para el proyecto de la aplicación de funcionesSelect a language for your function app project C# o JavaScriptC# or JavaScript En este artículo se admite C# y JavaScript.This article supports C# and JavaScript. Para Python, consulte este artículo de Python y, para PowerShell, consulte este artículo de PowerShell.For Python, see this Python article, and for PowerShell, see this PowerShell article.
    Seleccionar una plantilla para la primera función de su proyectoSelect a template for your project's first function Desencadenador HTTPHTTP trigger Cree una función desencadenada por HTTP en la nueva aplicación de funciones.Create an HTTP triggered function in the new function app.
    Proporcionar un nombre de funciónProvide a function name HttpTriggerHttpTrigger Presione ENTRAR para usar el nombre predeterminado.Press Enter to use the default name.
    Proporcionar un espacio de nombresProvide a namespace My.FunctionsMy.Functions (Solo C#) Las bibliotecas de clases de C# deben tener un espacio de nombres.(C# only) C# class libraries must have a namespace.
    Nivel de autorizaciónAuthorization level FunciónFunction Requiere una clave de función para llamar al punto de conexión HTTP de la función.Requires a function key to call the function's HTTP endpoint.
    Seleccionar cómo desea que se abra el proyectoSelect how you would like to open your project Agregar a área de trabajoAdd to workspace Crea la aplicación de funciones en el área de trabajo actual.Creates the function app in the current workspace.

Visual Studio Code crea el proyecto de la aplicación de función en una nueva área de trabajo.Visual Studio Code creates the function app project in a new workspace. Este proyecto contiene los archivos de configuración host.json y local.settings.json, además de los archivos de proyecto específicos del lenguaje.This project contains the host.json and local.settings.json configuration files, plus any language-specific project files.

También se crea una nueva función desencadenada por HTTP en la carpeta HttpTrigger del proyecto de la aplicación de funciones.A new HTTP triggered function is also created in the HttpTrigger folder of the function app project.

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

Azure Functions Core Tools le permite ejecutar un proyecto de Azure Functions en el equipo de desarrollo local.Azure Functions Core Tools lets you run an Azure Functions project on your local development computer.

  1. Para probar la función, establezca un punto de interrupción en el código de la función y presione F5 para iniciar el proyecto de la aplicación de función.To test your function, set a breakpoint in the function code and 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. 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. Esta dirección URL incluye la clave de función, que se pasa al parámetro de consulta code.This URL includes the function key, which is passed to the code query parameter.

    Salida local de Azure

  3. Pegue la dirección URL de la solicitud HTTP en la barra de direcciones del explorador.Paste the URL for the HTTP request into your browser's address bar. Agregue la cadena de consulta ?name=<yourname> a esta dirección URL y ejecute la solicitud.Append the query string ?name=<yourname> to this URL and execute the request. La ejecución se pone en pausa cuando se alcanza el punto de interrupción.Execution is paused when the breakpoint is hit.

  4. Si continúa la ejecución, aquí se muestra la respuesta en el explorador a la solicitud GET:When you continue the execution, the following shows the response in the browser to the GET request:

    Respuesta de localhost de la función en el explorador

  5. Para detener la depuración, presione Mayús + F5.To stop debugging, press Shift + F5.

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.

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. 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.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

  2. Cuando se le solicite, seleccione Copiar y abrir, o copie el código que aparece y abra https://aka.ms/devicelogin en el explorador.When prompted, select Copy & Open, or copy the displayed code and open https://aka.ms/devicelogin in your browser.

  3. Pegue el código copiado en la página Inicio de sesión del dispositivo, compruebe el inicio de sesión de Visual Studio Code y luego seleccione Continuar.Paste the copied code in the Device Login page, verify the sign in for Visual Studio Code, then select Continue.

  4. Termine el inicio de sesión con las credenciales de su cuenta de Azure.Complete the sign in using your Azure account credentials. Cuando haya iniciado sesión correctamente, puede cerrar el explorador.After you have successfully signed in, you can close the browser.

Publicar el proyecto en AzurePublish the project to Azure

Visual Studio Code le permite publicar el proyecto de Functions directamente en Azure.Visual Studio Code lets you publish your functions project directly to Azure. En el proceso, puede crear una aplicación de función y los recursos relacionados en su suscripción de Azure.In the process, you create a function app and related resources in your Azure subscription. La aplicación de función proporciona un contexto de ejecución para sus funciones.The function app provides an execution context for your functions. El proyecto se empaqueta e implementa en la nueva aplicación de función en su suscripción de Azure.The project is packaged and deployed to the new function app in your Azure subscription.

De forma predeterminada, Visual Studio crea todos los recursos de Azure necesarios para crear la aplicación de funciones.By default, Visual Studio creates all of the Azure resources required to create your function app. Los nombres de estos recursos se basan en el nombre de la aplicación de funciones que elija.The names of these resources are based on the function app name you choose. Si necesita tener control total sobre los recursos creados, en su lugar puede publicar con las opciones avanzadas.If you need to have full control of the created resources, you can instead publish using advanced options.

En esta sección se da por supuesto que va a crear una nueva aplicación de funciones en Azure.This section assumes that you are creating a new function app in Azure.

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.

  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: Deploy to function app....In the command palette, search for and select Azure Functions: Deploy to function app....

  2. Se le pedirá que inicie sesión en Azure si todavía no lo ha hecho.If not signed-in, you are prompted to Sign in to Azure. También puede crear una cuenta de Azure gratis.You can also Create a free Azure account. Una vez que inicie sesión correctamente en el explorador, vuelva a Visual Studio Code.After successful sign in from the browser, go back to Visual Studio Code.

  3. Si tiene varias suscripciones, seleccione una suscripción para la aplicación de función y, luego, elija + Create New Function App in Azure (+ Crear nueva aplicación de función en Azure).If you have multiple subscriptions, Select a subscription for the function app, then choose + Create New Function App in Azure.

  4. Escriba un nombre único global que identifique la aplicación de función y presione ENTRAR.Type a globally unique name that identifies your function app and press Enter. Los siguientes son caracteres válidos para un nombre de aplicación de función: a-z, 0-9 y -.Valid characters for a function app name are a-z, 0-9, and -.

    Cuando presione ENTRAR, se crearán los siguientes recursos de Azure en la suscripción:When you press Enter, 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.

    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. 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.

  5. Vuelva al área Azure: Functions y expanda la aplicación de función nueva en su suscripción.Back in the Azure: Functions area, expand the new function app under your subscription. Expanda Funciones, haga clic con el botón derecho en HttpTrigger y elija Copiar la dirección URL de la función.Expand Functions, right-click HttpTrigger, and then choose Copy function URL.

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

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

  1. Copie la dirección URL del desencadenador HTTP del panel Salida.Copy the URL of the HTTP trigger from the Output panel. Como antes, asegúrese de que agrega la cadena de consulta ?name=<yourname> al final de esta dirección URL y ejecute la solicitud.As before, make sure to add the query string ?name=<yourname> to the end of this URL and 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/<functionname>?name=<yourname> 
    
  2. Pegue la dirección URL de la solicitud HTTP en la barra de direcciones del explorador.Paste this new URL for the HTTP request into your browser's address bar. A continuación se muestra la respuesta en el explorador para la solicitud GET remota devuelta por la función:The following shows the response in the browser to the remote GET request returned by the function:

    Respuesta de la función en el explorador

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. El siguiente artículo también muestra cómo limpiar estos nuevos recursos de Azure mediante la eliminación del grupo de recursos que ha creado.The next article also shows you how to clean up these new Azure resources by removing the resource group you created.