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

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.

  1. En el menú de Visual Studio, seleccione Archivo>Nuevo>Proyecto.

  2. En Crear un proyecto, escriba functions en el cuadro de búsqueda, elija la plantilla Azure Functions y seleccione Siguiente.

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

  4. 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 sobre las claves y la autorización, consulte Claves de autorización e Introducción a los enlaces y desencadenadores HTTP de Azure Functions.

    Screenshot of Azure Functions project settings.

    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.

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

  1. En el Explorador de archivos, haga clic con el botón derecho en el archivo Function1.cs y cambie su nombre a HttpExample.cs.

  2. En el código, cambie el nombre de la clase Function1 a HttpExample.

  3. En el método llamado Run, cambie el nombre del atributo del método Function a HttpExample.

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.

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

  2. Copie la dirección URL de la función de los resultados del runtime de Azure Functions.

    Azure local runtime

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

    Function localhost response in the browser

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

  1. En el Explorador de soluciones, haga clic con el botón derecho en el proyecto y seleccione Publicar. En Destino, seleccione Azure y, luego, Siguiente.

    Screenshot of publish window.

  2. Seleccione la opción Aplicación de funciones de Azure (Windows) en la pestaña Destino específico. Esta opción creará una aplicación de funciones que se ejecutará en Windows. Después, seleccione el botón Siguiente.

    Screenshot of publish window with specific target.

  3. En Instancia de la función, seleccione Crear una aplicación de Azure Functions...

    Screenshot of create a new function app instance.

  4. Crear una nueva instancia con los valores especificados en la tabla siguiente:

    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 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 Elija una ubicación en una región próxima a usted o a otros servicios a los que las funciones accedan.
    Azure Storage 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 una cuenta existente que cumpla los requisitos de la cuenta de almacenamiento.
    Application Insights Una instancia de Application Insights Debe habilitar la integración de 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 una cuenta existente.

    Screenshot of Create App Service dialog.

  5. 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 parte inferior izquierda de la ventana.

  6. En la instancia de Functions, asegúrese de que Ejecutar desde el archivo de paquete esté activado. 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, ya que se obtiene un mejor rendimiento.

    Screenshot of Finish profile creation.

  7. Seleccione Finalizary, en la página Publicar, seleccione Publicar para implementar el paquete que contiene los archivos de proyecto en la nueva aplicación de funciones en Azure.

    Una vez finalizada la implementación, en la pestaña Publicar aparecerá la dirección URL raíz de la aplicación de funciones de Azure.

  8. En la pestaña Publicar, en la sección Hospedaje, elija Abrir en Azure Portal. Esto abre el recurso de Azure de aplicación de funciones nuevo en Azure Portal.

    Screenshot of Publish success message.

Comprobación de la función en Azure

  1. En Azure Portal, debe estar en la página Información general de la nueva aplicación de funciones.

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

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

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

    Function response in the browser

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.

  1. En el cuadro de diálogo Visual Studio Publish, en la sección Hospedaje, seleccione Abrir en Azure Portal.

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

    Select the resource group to delete from the function app page

  3. En la página Grupo de recursos, revise la lista de recursos incluidos y compruebe que son los que desea eliminar.

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