Inicio rápido: Creación de la primera función de Azure mediante Visual StudioQuickstart: Create your first function in Azure using Visual Studio

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

En este inicio rápido, aprenderá a usar Visual Studio 2019 para crear y probar localmente una aplicación de funciones en C# desencadenada por HTTP "hello world", que después publicará en Azure.In this quickstart, you learn how to use Visual Studio 2019 to locally create and test a "hello world" HTTP trigger C# function app, which you then publish to Azure.

Respuesta de localhost de la función en el explorador

Este inicio rápido está diseñado para Visual Studio 2019.This quickstart is designed for Visual Studio 2019.

PrerrequisitosPrerequisites

Para completar este tutorial, instale antes Visual Studio 2019.To complete this tutorial, first install Visual Studio 2019. Asegúrese de seleccionar la carga de trabajo de desarrollo de Azure durante la instalación.Ensure you select the Azure development workload during installation. Si desea crear un proyecto de Azure Functions con Visual Studio 2017, debe instalar antes las herramientas de Azure Functions más recientes.If you want to create an Azure Functions project by using Visual Studio 2017 instead, you must first install the latest Azure Functions tools.

Instale Visual Studio con la carga de trabajo de desarrollo de Azure.

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.

Creación de un proyecto de aplicación de funciónCreate a function app project

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

  1. En el menú de Visual Studio, seleccione Archivo > Nuevo > Proyecto.From the Visual Studio menu, select File > New > Project.

  2. En Crear un proyecto, escriba functions en el cuadro de búsqueda, elija la plantilla Azure Functions y seleccione Siguiente.In Create a new project, enter functions in the search box, choose the Azure Functions template, and then select Next.

  3. En Configurar el nuevo proyecto, escriba un nombre de proyecto para el proyecto y, a continuación, seleccione Crear.In Configure your new project, enter a Project name for your project, and then select Create. El nombre de la aplicación de función debe ser válido como espacio de nombres de C#, por lo que no debe usar guiones bajos, guiones u otros caracteres no alfanuméricos.The function app name must be valid as a C# namespace, so don't use underscores, hyphens, or any other nonalphanumeric characters.

  4. En la configuración de Crear Azure Function Application, use los valores de la tabla siguiente:For the Create a new Azure Function Application settings, use the values in the following table:

    ConfiguraciónSetting ValueValue DescripciónDescription
    Entorno en tiempo de ejecución de FunctionsFunctions runtime Azure Functions v2
    (.NET Core)
    Azure Functions v2
    (.NET Core)
    Este valor crea un proyecto de función que usa la versión 2.x del entorno de ejecución de Azure Functions, que es compatible con .NET Core.This value creates a function project that uses the version 2.x runtime of Azure Functions, which supports .NET Core. Azure Functions 1.x admite .NET Framework.Azure Functions 1.x supports the .NET Framework. Para más información, consulte Selección de un destino para versiones de runtime de Azure Functions.For more information, see Azure Functions runtime versions overview.
    Plantilla de funciónFunction template desencadenador HTTPHTTP trigger Este valor crea una función desencadenada por una solicitud HTTP.This value creates a function triggered by an HTTP request.
    Storage AccountStorage Account Emulador de StorageStorage Emulator Dado que una función de Azure necesita una cuenta de almacenamiento, se asigna una o se crea al publicar el proyecto en Azure.Because an Azure Function requires a storage account, one is assigned or created when you publish your project to Azure. Un desencadenador HTTP no utiliza una cadena de conexión de cuenta de Azure Storage; todos los demás tipos de desencadenador requieren una cadena de conexión de cuenta de Azure Storage válida.An HTTP trigger doesn't use an Azure Storage account connection string; all other trigger types require a valid Azure Storage account connection string.
    Derechos de accesoAccess rights AnónimoAnonymous Cualquier cliente puede desencadenar una función creada sin tener que proporcionar una clave.The created function can be triggered by any client without providing a key. Esta configuración de autorización facilita probar la función nueva.This authorization setting makes it easy to test your new function. Para más información sobre las claves y la autorización, consulte Claves de autorización e Introducción a los enlaces y desencadenadores HTTP de Azure Functions.For more information about keys and authorization, see Authorization keys and HTTP and webhook bindings.

    Configuración de un proyecto de Azure Functions

    Asegúrese de establecer los derechos de acceso en Anónimos.Make sure you set the Access rights to Anonymous. Al elegir el nivel predeterminado de Función, tiene que presentar la tecla de función en las solicitudes para acceder al punto de conexión de la función.If you choose the default level of Function, you're required to present the function key in requests to access your function endpoint.

  5. Seleccione Crear para crear el proyecto de función y la función con desencadenador HTTP.Select Create to create the function project and HTTP trigger function.

Visual Studio crea un proyecto y una clase que contiene código reutilizable para el tipo de función de desencadenador HTTP.Visual Studio creates a project and class that contains boilerplate code for the HTTP trigger function type. El atributo de método FunctionName establece el nombre de la función que, de forma predeterminada, es Function1.The FunctionName method attribute sets the name of the function, which by default is Function1. El atributo HttpTrigger especifica que la función es desencadenada por una solicitud HTTP.The HttpTrigger attribute specifies that the function is triggered by an HTTP request. El código reutilizable envía una respuesta HTTP que incluye un valor del cuerpo de la solicitud o de la cadena de consulta.The boilerplate code sends an HTTP response that includes a value from the request body or query string.

Amplíe las funcionalidades de la función con enlaces de entrada y salida, mediante la aplicación de los atributos adecuados al método.Expand the capabilities of your function with input and output bindings by applying the appropriate attributes to the method. Para más información, consulte la sección Desencadenadores y enlaces de la Referencia para desarrolladores de C# de Azure Functions.For more information, see the Triggers and bindings section of the Azure Functions C# developer reference.

Ahora que ha creado un proyecto de función y una función de desencadenador HTTP, puede probarla en el equipo local.Now that you've created your function project and an HTTP trigger function, you can test it on your local computer.

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

Visual Studio se integra con Azure Functions Core Tools; de este modo puede probar las funciones localmente mediante el sistema en tiempo de ejecución completo de Azure Functions.Visual Studio integrates with Azure Functions Core Tools so that you can test your functions locally using the full Azure Functions runtime.

  1. Para ejecutar la función, presione F5 en Visual Studio.To run your function, press F5 in Visual Studio. Es preciso habilitar una excepción de firewall para que las herramientas para controlen las solicitudes de HTTP.You might need to enable a firewall exception so that the tools can handle HTTP requests. Los niveles de autorización nunca se aplican cuando se ejecuta una función localmente.Authorization levels are never enforced when you run a function locally.

  2. Copie la dirección URL de la función de los resultados del runtime de Azure Functions.Copy the URL of your function from the Azure Functions runtime output.

    Runtime 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=<YOUR_NAME> a esta dirección URL y ejecute la solicitud.Append the query string ?name=<YOUR_NAME> to this URL and run the request. En la siguiente imagen se muestra la respuesta en el explorador para la solicitud GET local devuelta por la función:The following image shows the response in the browser to the local GET request returned by the function:

    Respuesta de localhost de la función en el explorador

  4. Para detener la depuración, presione Mayús+F5 en Visual Studio.To stop debugging, press Shift+F5 in Visual Studio.

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.

Publicar el proyecto en AzurePublish the project to Azure

Para poder publicar el proyecto, debe tener una aplicación de funciones en la suscripción de Azure.Before you can publish your project, you must have a function app in your Azure subscription. La publicación de Visual Studio crea una aplicación de funciones la primera vez que se publica el proyecto.Visual Studio publishing creates a function app for you the first time you publish your project.

  1. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Publicar.In Solution Explorer, right-click the project and select Publish.

  2. En Elegir un destino de publicación, use las opciones de publicación especificadas en la tabla siguiente:In Pick a publish target, use the publish options specified in the following table:

    OpciónOption DescripciónDescription
    Aplicación de funciones de AzureAzure Function App Cree una aplicación de función en un entorno de nube de Azure.Create a function app in an Azure cloud environment.
    Cree uno nuevoCreate new En Azure se crea una nueva aplicación de funciones, con recursos relacionados.A new function app, with related resources, is created in Azure.
    Si elige Seleccionar existente, todos los archivos de la aplicación de función existente en Azure se sobrescriben con los del proyecto local.If you choose Select Existing, all files in the existing function app in Azure are overwritten by files from the local project. Use esta opción solo cuando vuelva a publicar actualizaciones en una aplicación de función existente.Use this option only when you republish updates to an existing function app.
    Ejecución desde el archivo de paqueteRun from package file La aplicación de funciones se implementa con la implementación de un archivo zip y con el modo de ejecución desde el paquete habilitado.Your function app is deployed using Zip Deploy with Run-From-Package mode enabled. Esta implementación, que supone una mejora en el rendimiento, es la forma recomendada de ejecutar las funciones.This deployment, which results in better performance, is the recommended way of running your functions.
    Cuando no use esta opción, asegúrese de impedir que el proyecto de aplicación de función se ejecute localmente antes de publicar en Azure.If you don't use this option, make sure to stop your function app project from running locally before you publish to Azure.

    Elegir un destino de publicación

  3. Seleccione Publicar.Select Publish. Si aún no ha iniciado sesión en la cuenta de Azure desde Visual Studio, seleccione Iniciar sesión.If you haven't already signed-in to your Azure account from Visual Studio, select Sign-in. También puede crear una cuenta de Azure gratis.You can also create a free Azure account.

  4. En Azure App Service: Crear nueva, use los valores especificados en la tabla siguiente:In Azure App Service: Create new, use the values specified in the following table:

    ConfiguraciónSetting ValueValue DescripciónDescription
    NombreName Nombre único globalmenteGlobally unique name Nombre que identifica de forma única la nueva aplicación de función.Name that uniquely identifies your new function app. Acepte este nombre o escriba uno nuevo.Accept this name or enter a new name. Los caracteres válidos son a-z, 0-9 y -.Valid characters are: a-z, 0-9, and -.
    SuscripciónSubscription Su suscripciónYour subscription La suscripción de Azure que se va a usar.The Azure subscription to use. Acepte esta suscripción o seleccione una nueva en la lista desplegable.Accept this subscription or select a new one from the drop-down list.
    Grupo de recursosResource Group Nombre del grupo de recursosName of your resource group Nombre del grupo de recursos en el que se va a crear la aplicación de función.The resource group in which to create your function app. Seleccione un grupo de recursos existente en la lista desplegable o elija la opción Nuevo para crear un nuevo grupo de recursos.Select an existing resource group from the drop-down list or choose New to create a new resource group.
    Plan de hospedajeHosting Plan Nombre del plan de hospedajeName of your hosting plan Seleccione Nuevo para configurar un plan sin servidor.Select New to configure a serverless plan. Asegúrese de elegir Consumo bajo Tamaño.Make sure to choose the Consumption under Size. Cuando publique el proyecto en una aplicación de funciones que se ejecute en un plan Consumo, solo pagará por las ejecuciones de la aplicación.When you publish your project to a function app that runs in a Consumption plan, you pay only for executions of your functions app. Otros planes de hospedaje suponen costos más elevados.Other hosting plans incur higher costs. Si ejecuta un plan distinto de Consumo, debe administrar el escalado de la aplicación de funciones.If you run in a plan other than Consumption, you must manage the scaling of your function app. Elija una ubicación en una región próxima a usted o a otros servicios a los que las funciones accedan.Choose a Location in a region near you or other services your functions access.
    Azure StorageAzure Storage Cuenta de almacenamiento de uso generalGeneral-purpose storage account El entorno de ejecución de Functions necesita una cuenta de Azure Storage.An Azure Storage account is required by the Functions runtime. Seleccione Nueva para configurar una cuenta de almacenamiento de uso general.Select New to configure a general-purpose storage account. También puede elegir una cuenta existente que cumpla los requisitos de la cuenta de almacenamiento.You can also choose an existing account that meets the storage account requirements.

    Cuadro de diálogo Crear servicio de aplicaciones

  5. Seleccione Crear para crear una aplicación de funciones y los recursos relacionados en Azure con esta configuración e implemente el código del proyecto de función.Select Create to create a function app and its related resources in Azure with these settings and deploy your function project code.

  6. Seleccione Publicar y, una vez finalizada la implementación, anote el valor de la dirección URL del sitio, que es la dirección de la aplicación de funciones en Azure.Select Publish and after the deployment completes, make a note of the Site URL value, which is the address of your function app in Azure.

    Publicar mensaje de operación correcta

Prueba de una función en AzureTest your function in Azure

  1. Copie la URL base de la aplicación de funciones de la página de perfil Publicar.Copy the base URL of the function app from the Publish profile page. Reemplace la parte localhost:port de la dirección URL que usó al probar la función localmente por la nueva URL base.Replace the localhost:port portion of the URL you used to test the function locally with the new base URL. Agregue la cadena de consulta ?name=<YOUR_NAME> a esta dirección URL y ejecute la solicitud.Append the query string ?name=<YOUR_NAME> to this URL and run the request.

    La dirección URL que llama a la función de desencadenador HTTP tiene el formato siguiente:The URL that calls your HTTP trigger function is in the following format:

    http://<APP_NAME>.azurewebsites.net/api/<FUNCTION_NAME>?name=<YOUR_NAME>

  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. La imagen siguiente muestra la respuesta en el explorador para la solicitud GET remota devuelta por la función:The following image 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

Otras guías de inicio rápido de esta colección se basan en los valores de esta.Other quickstarts in this collection build upon this quickstart. Si tiene previsto trabajar con las siguientes guías de inicio rápido, tutoriales o con cualquiera de los servicios que haya creado en esta guía de inicio rápido, no elimine los recursos.If you plan to work with subsequent quickstarts, tutorials, or with any of the services you have created in this quickstart, do not clean up the resources.

En Azure, los recursos son aplicaciones de función, funciones o cuentas de almacenamiento, entre otros.Resources in Azure refer to function apps, functions, storage accounts, and so forth. Se agrupan en grupos de recursos y se puede eliminar todo el contenido de un grupo si este se elimina.They're grouped into resource groups, and you can delete everything in a group by deleting the group.

Ha creado recursos para completar estas guías de inicio rápido.You created resources to complete these quickstarts. Se le pueden facturar por estos recursos, dependiendo del estado de la cuentade los y precios de los servicios.You may be billed for these resources, depending on your account status and service pricing. Si ya no necesita los recursos, aquí se indica cómo eliminarlos:If you don't need the resources anymore, here's how to delete them:

  1. En Azure Portal, vaya a la página Grupo de recursos.In the Azure portal, go to the Resource group page.

    Para llegar a esa página desde la página de aplicación de función, seleccione la pestaña Información general y, después, seleccione el vínculo situado bajo Grupo de recursos.To get to that page from the function app page, select the Overview tab and then select the 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.

    Para llegar a esa página desde el panel, seleccione Grupos de recursos y, después, seleccione el grupo que ha utilizado para esta guía de inicio rápido.To get to that page from the dashboard, select Resource groups, and then select the resource group that you used for this quickstart.

  2. 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're the ones you want to delete.

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

Pasos siguientesNext steps

En este inicio rápido, ha usado Visual Studio para crear y publicar una aplicación de funciones en C# en Azure con una función de desencadenador HTTP sencilla.In this quickstart, you used Visual Studio to create and publish a C# function app in Azure with a simple HTTP trigger function.

Prosiga en el siguiente artículo para aprender a agregar un enlace de cola de Azure Storage a la función:Advance to the next article to learn how to add an Azure Storage queue binding to your function: