Inicio rápido: Creación de la primera función de C# en Azure mediante Visual Studio
Con Azure Functions puede usar Visual Studio para crear proyectos de funciones locales de C# y, a continuación, publicar fácilmente dichos proyectos para ejecutarlos en un entorno que se puede escalar sin servidor en Azure. Por otro lado, si prefiere desarrollar las aplicaciones de C# de forma local mediante Visual Studio Code, debe tener en cuenta la versión basada en Visual Studio Code de este artículo.
De forma predeterminada, en este artículo, se muestra cómo crear funciones de C# que se ejecutan en .NET 8 en el proceso de trabajo aislado. Las aplicaciones de funciones que se ejecutan en un proceso de trabajo aislado se admiten en todas las versiones de .NET compatibles con Functions. Para más información, consulte las versiones admitidas.
En este artículo aprenderá a:
- Use Visual Studio para crear un proyecto de biblioteca de clases de C#.
- Cree una función que responda a solicitudes HTTP.
- Ejecute el código localmente para comprobar el comportamiento de la función.
- Implemente el proyecto de código en Azure Functions.
Este inicio rápido supone un pequeño costo en su cuenta de Azure.
Este vídeo le muestra cómo crear una función C# en Azure.
Los pasos del vídeo también se describen en las secciones siguientes.
Requisitos previos
Visual Studio 2022. Asegúrese de seleccionar la carga de trabajo de desarrollo de Azure durante la instalación.
Suscripción de Azure. Si aún no tiene ninguna cuenta, cree una gratuita antes de empezar.
Creación de un proyecto de aplicación de función
La plantilla del proyecto de Azure Functions de Visual Studio crea un proyecto de biblioteca de clases de C# que puede publicar en una aplicación de funciones en 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.
En el menú de Visual Studio, seleccione Archivo>Nuevo>Proyecto.
En Crear un proyecto, escriba functions en el cuadro de búsqueda, elija la plantilla Azure Functions y seleccione Siguiente.
En Configurar el nuevo proyecto, escriba un nombre de proyecto para el proyecto y, a continuación, seleccione Siguiente. 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.
Para ver la configuración de Información adicional restante,
Configuración valor Descripción Trabajo de Functions .NET 8.0 aislado (compatibilidad a largo plazo) Las funciones se ejecutan en .NET 8 en un proceso de trabajo aislado. Function desencadenador HTTP Este valor crea una función desencadenada por una solicitud HTTP. Usar Azurita para la cuenta de almacenamiento de runtime (AzureWebJobsStorage) Habilitar Dado que una aplicación de funciones de Azure necesita una cuenta de almacenamiento, se asigna o se crea una cuando publica su proyecto en 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. Al seleccionar esta opción, se usa el emulador Azurite. Nivel de autorización Anónimo Cualquier cliente puede desencadenar una función creada sin tener que proporcionar una clave. Esta configuración de autorización facilita probar la función nueva. Para más información, consulte Nivel de autorización. Asegúrese de establecer el Nivel de autorización en Anónimo. 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 en Azure.
Seleccione Crear para crear el proyecto de función y la función con desencadenador HTTP.
Visual Studio crea un proyecto y una clase que contiene código reutilizable para el tipo de función de desencadenador HTTP. El código reutilizable envía una respuesta HTTP que incluye un valor del cuerpo de la solicitud o de la cadena de consulta. El atributo HttpTrigger
especifica que la función es desencadenada por una solicitud HTTP.
Cambio del nombre de la función
El atributo del método Function
establece el nombre de la función que, de forma predeterminada, se genera como Function1
. Como las herramientas no le permiten reemplazar el nombre de la función predeterminada al crear un proyecto, dedique un minuto a crear un nombre mejor para la clase, el archivo y los metadatos de la función.
En el Explorador de archivos, haga clic con el botón derecho en el archivo Function1.cs y cambie su nombre a
HttpExample.cs
.En el código, cambie el nombre de la clase Function1 a
HttpExample
.En el método llamado
Run
, cambie el nombre del atributo del métodoFunction
aHttpExample
.
La definición de la función ahora debe parecerse al código siguiente:
[Function("HttpExample")]
public IActionResult Run([HttpTrigger(AuthorizationLevel.AuthLevelValue, "get", "post")] HttpRequest req)
{
return new OkObjectResult("Welcome to Azure Functions!");
}
Ahora que ha cambiado el nombre de la función, puede probarla en el equipo local.
Ejecución local de la función
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.
Para ejecutar la función, presione F5 en Visual Studio. Es preciso habilitar una excepción de firewall para que las herramientas para controlen las solicitudes de HTTP. Los niveles de autorización nunca se aplican cuando se ejecuta una función localmente.
Copie la dirección URL de la función de los resultados del runtime de Azure Functions.
Pegue la dirección URL de la solicitud HTTP en la barra de direcciones del explorador y ejecute la solicitud. La siguiente imagen muestra la respuesta en el explorador para la solicitud GET local devuelta por la función:
Para detener la depuración, presione Mayús+F5 en 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.
Publicar el proyecto en Azure
Visual Studio puede publicar el proyecto local en Azure. Para poder publicar el proyecto, debe tener una aplicación de funciones en la suscripción de Azure. Si aún no tiene una aplicación de funciones en Azure, la publicación de Visual Studio crea una la primera vez que se publica el proyecto. En este artículo aprenderá a crear una aplicación de funciones y los recursos relacionados con Azure.
En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Publicar. En Destino, seleccione Azure y, a continuación, seleccione Siguiente.
En Destino específico, seleccione Azure Function App (Windows). Se crea una aplicación de funciones que se ejecuta en Windows. Seleccione Siguiente.
En la Instancia de Functions, seleccione Crear una función de Azure.
Cree una nueva instancia con los valores especificados en la siguiente tabla:
Configuración valor Descripción Nombre Nombre único globalmente Nombre que identifica de forma única la nueva aplicación de función. Acepte este nombre o escriba uno nuevo. Los caracteres válidos son a-z
,0-9
y-
.Suscripción Su suscripción La suscripción de Azure que se va a usar. Acepte esta suscripción o seleccione una nueva en la lista desplegable. Grupo de recursos Nombre del grupo de recursos Nombre del grupo de recursos en el que quiere crear la aplicación de funciones. Seleccione Nuevo para crear un nuevo grupo de recursos. También puede elegir usar un grupo de recursos existente en la lista desplegable. Tipo de plan Consumo 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. Otros planes de hospedaje suponen costos más elevados. Ubicación Ubicación de la instancia de App Service Seleccione una ubicación en una región de Azure próxima a usted o a otros servicios a los que las funciones accedan. Almacenamiento de Azure Cuenta de almacenamiento de uso general El runtime de Functions necesita una cuenta de almacenamiento de Azure. Seleccione Nueva para configurar una cuenta de almacenamiento de uso general. También puede elegir usar una cuenta existente que cumpla los requisitos de la cuenta de almacenamiento. Application Insights Instancia de Application Insights Debe habilitar la integración de Azure Application Insights para la aplicación de funciones. Seleccione Nuevo para crear una nueva instancia, ya sea en un área de trabajo de Log Analytics nueva o en una existente. También puede elegir usar una cuenta existente. Seleccione Crear para crear una aplicación de funciones y sus recursos relacionados en Azure. El estado de la creación del recurso se muestra en la equina inferior izquierda de la ventana.
En Instancia de Functions, asegúrese de que la casilla Ejecutar archivo de paquete esté activada. 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. La implementación de archivo ZIP es el método de implementación recomendado para el proyecto de Functions para mejorar el rendimiento.
Seleccione Finalizary, en el panel Publicar, seleccione Publicar para implementar el paquete que contiene los archivos del proyecto en la nueva aplicación de funciones de Azure.
Una vez completada la implementación, la dirección URL raíz de la aplicación de funciones en Azure se muestra en la pestaña Publicar.
En la pestaña Publicar, en la sección Hosting, seleccione Abrir en Azure Portal. El nuevo recurso de Azure de la aplicación de funciones se abre en Azure Portal.
Comprobación de la función en Azure
En Azure Portal, debe estar en la página Información general de la nueva aplicación de funciones.
En Funciones, seleccione la nueva función denominada HttpExampley, en la página de la función, seleccione Obtener dirección URL de la función y, a continuación, el icono Copiar en el Portapapeles.
En la barra de direcciones del explorador, pegue la dirección URL que acaba de copiar y ejecute la solicitud.
La dirección URL que llama a la función de desencadenador HTTP tiene el formato siguiente:
https://<APP_NAME>.azurewebsites.net/api/HttpExample?name=Functions
Vaya a esta dirección URL y verá una respuesta en el explorador para la solicitud GET remota devuelta por la función, que es similar a la del siguiente ejemplo:
Limpieza de recursos
En Azure, los recursos son aplicaciones de función, funciones o cuentas de almacenamiento, entre otros. Se agrupan en grupos de recursos y se puede eliminar todo el contenido de un grupo si este se elimina.
Ha creado recursos de Azure para completar estas guías de inicio rápido. Se le pueden facturar por estos recursos, dependiendo del estado de la cuentade los y precios de los servicios. Otras guías de inicio rápido de esta colección se basan en los valores de esta. Si tiene previsto trabajar con los siguientes inicios rápidos, tutoriales o con cualquiera de los servicios que haya creado en este inicio rápido, no elimine los recursos.
Use los pasos siguientes para eliminar la aplicación de funciones y sus recursos relacionados para evitar incurrir en costos adicionales.
En el cuadro de diálogo Visual Studio Publish, en la sección Hospedaje, seleccione Abrir en Azure Portal.
En la página de la aplicación de funciones, seleccione la pestaña Información general y, después, seleccione el vínculo situado bajo Grupo de recursos.
En la página Grupo de recursos, revise la lista de recursos incluidos y compruebe que son los que desea eliminar.
Seleccione Eliminar grupo de recursos y siga las instrucciones.
El proceso de eliminación tardará un par de minutos. Cuando termine, aparece una notificación durante unos segundos. También puede seleccionar el icono de campana en la parte superior de la página para ver la notificación.
Pasos siguientes
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.
Para más información sobre cómo trabajar con funciones de C# que se ejecutan en un proceso de trabajo aislado, consulte la Guía para ejecutar Azure Functions de C# en un proceso de trabajo aislado. Consulte las versiones compatibles con .NET para ver otras versiones de .NET compatibles en un proceso de trabajo aislado.
Prosiga en el siguiente artículo para aprender a agregar un enlace de cola de Azure Storage a la función: