Inicio rápido: Creación de una aplicación de Azure Functions con Azure App Configuration
En este inicio rápido se incorpora el servicio Azure App Configuration en una aplicación de Azure Functions para centralizar el almacenamiento y la administración de toda la configuración de la aplicación de forma independiente del código.
Requisitos previos
- Una suscripción a Azure: cree una cuenta gratuita
- Visual Studio 2019 con la carga de trabajo de desarrollo de Azure.
- Herramientas de Azure Functions
Creación de un almacén de App Configuration
Para crear un almacén de App Configuration, inicie sesión en Azure Portal. En la esquina superior izquierda de la página principal, seleccione Crear un recurso. En el cuadro Buscar en Marketplace, escriba App Configuration y presione Entrar.

Seleccione Configuración de la aplicación en los resultados de la búsqueda y, después, Crear.

En el panel Crear de App Configuration, introduzca la siguiente configuración:
Configuración Valor sugerido Descripción Suscripción Su suscripción Seleccione la suscripción de Azure que desee usar para probar App Configuration. Si su cuenta solo tiene una suscripción, se selecciona automáticamente y la lista Suscripción no aparece. Grupos de recursos AppConfigTestResources Seleccione o cree un grupo de recursos para el recurso del almacén de App Configuration. Este grupo es útil para organizar los distintos recursos que quiera eliminar al mismo tiempo mediante la eliminación del grupo de recursos. Para más información, consulte Administración de los recursos de Azure a través del Portal. Nombre del recurso Nombre único globalmente Escriba un nombre de recurso único para usarlo como recurso de almacén de App Configuration. El nombre debe ser una cadena de entre 5 y 50 caracteres y solo puede contener números, letras y el carácter -. El nombre no puede comenzar ni terminar con el carácter-.Ubicación Centro de EE. UU. Use Ubicación para especificar la ubicación geográfica en la que se hospeda el almacén de App Configuration. Para optimizar el rendimiento, cree el recurso en la misma región que los demás componentes de la aplicación. Plan de tarifa Gratis Seleccione el plan de tarifa deseado. Para más información, consulte la página de precios de App Configuration. Seleccione Revisar y crear para validar la configuración.
Seleccione Crear. La implementación puede tardar unos minutos.
Una vez finalizada la implementación, vaya al recurso de App Configuration. Seleccione Configuración > Claves de acceso. Tome nota de la cadena de conexión de la clave de solo lectura principal. Usará esta cadena de conexión más adelante para configurar la aplicación y que se comunique con el almacén de Azure App Configuration que ha creado.
Seleccione Explorador de configuración > + Crear > Clave-valor para agregar los siguientes pares clave-valor:
Clave Value TestApp:Settings:Message Datos de Azure App Configuration Deje Etiqueta y Tipo de contenido en blanco, por ahora.
Seleccione Aplicar.
Creación de una aplicación de Functions
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 Crear. 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.
En la configuración de Crear aplicación de Azure Functions, use los valores de la tabla siguiente:
Configuración Value Descripción Versión de .NET .NET Core 3 (LTS) Este valor crea un proyecto de función que se ejecuta dentro de proceso con la versión 3.x del entorno de ejecución de Azure Functions. Azure Functions 1.x admite .NET Framework. Para más información, consulte Selección de un destino para versiones de runtime de Azure Functions. Plantilla de función desencadenador HTTP Este valor crea una función desencadenada por una solicitud HTTP. Cuenta de almacenamiento (AzureWebJobsStorage) Emulador de Storage 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. 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. 
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.
Seleccione Crear para crear el proyecto de función y la función con desencadenador HTTP.
Conexión a un almacén de App Configuration
En este proyecto se usa la inserción de dependencias en Azure Functions para .NET y se agrega Azure App Configuration como origen de configuración adicional.
Haga clic con el botón derecho en el proyecto y seleccione Administrar paquetes NuGet. En la pestaña Examinar, busque los siguientes paquetes NuGet y agréguelos al proyecto.
- Microsoft.Extensions.Configuration.AzureAppConfiguration, versión 4.1.0 o posterior
- Microsoft.Azure.Functions.Extensions, versión 1.1.0 o posterior
Agregue un nuevo archivo, Startup.cs, con el código siguiente. Se define una clase denominada
Startupque implementa la clase abstractaFunctionsStartup. Para especificar el nombre de tipo empleado durante el inicio de Azure Functions, se usa un atributo de ensamblado.El método
ConfigureAppConfigurationse invalida y se llama aAddAzureAppConfiguration()para agregar el proveedor de Azure App Configuration como origen de configuración adicional. El métodoConfigurese deja vacío, ya que no es necesario registrar ningún servicio en este momento.using System; using Microsoft.Azure.Functions.Extensions.DependencyInjection; using Microsoft.Extensions.Configuration; [assembly: FunctionsStartup(typeof(FunctionApp.Startup))] namespace FunctionApp { class Startup : FunctionsStartup { public override void ConfigureAppConfiguration(IFunctionsConfigurationBuilder builder) { string cs = Environment.GetEnvironmentVariable("ConnectionString"); builder.ConfigurationBuilder.AddAzureAppConfiguration(cs); } public override void Configure(IFunctionsHostBuilder builder) { } } }Abra Function1.cs y agregue el siguiente espacio de nombres.
using Microsoft.Extensions.Configuration;Agregue un constructor utilizado para obtener instancias de
IConfigurationmediante la inserción de dependencias.private readonly IConfiguration _configuration; public Function1(IConfiguration configuration) { _configuration = configuration; }Actualice el método
Runpara que lea los valores de la configuración.public async Task<IActionResult> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log) { log.LogInformation("C# HTTP trigger function processed a request."); string keyName = "TestApp:Settings:Message"; string message = _configuration[keyName]; return message != null ? (ActionResult)new OkObjectResult(message) : new BadRequestObjectResult($"Please create a key-value with the key '{keyName}' in App Configuration."); }Nota
La clase
Function1y el métodoRunno deben ser estáticos. Quite el modificadorstaticsi se ha generado automáticamente.
Prueba local de la función
Establezca una variable de entorno llamada ConnectionString y defínala como la clave de acceso a su almacén de App Configuration. Si usa el símbolo del sistema de Windows, ejecute el siguiente comando y reinícielo para que se aplique el cambio:
setx ConnectionString "connection-string-of-your-app-configuration-store"Si usa Windows PowerShell, ejecute el siguiente comando:
$Env:ConnectionString = "connection-string-of-your-app-configuration-store"Si usa macOS o Linux, ejecute el siguiente comando:
export ConnectionString='connection-string-of-your-app-configuration-store'Presione F5 para probar la función. Si se le solicita, acepte la solicitud de Visual Studio para descargar e instalar las herramientas de Azure Functions Core (CLI) . También es preciso que habilite una excepción de firewall para que las herramientas para controlen las solicitudes de HTTP.
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. La siguiente imagen muestra la respuesta en el explorador para la solicitud GET local devuelta por la función.

Limpieza de recursos
Si no desea seguir usando los recursos creados en este artículo, elimine el grupo de recursos que creó aquí para evitar cargos.
Importante
La eliminación de un grupo de recursos es irreversible. El grupo de recursos y todos los recursos que contiene se eliminan permanentemente. Asegúrese de no eliminar por accidente el grupo de recursos o los recursos equivocados. Si creó los recursos para este artículo en un grupo de recursos que contenga los recursos que desee conservar, elimine cada recurso de forma individual desde su panel respectivo, en lugar de eliminar el grupo de recursos.
- Inicie sesión en Azure Portal y después seleccione Grupos de recursos.
- En el cuadro de texto Filtrar por nombre, escriba el nombre del grupo de recursos.
- En la lista resultados, seleccione el nombre del grupo de recursos para ver la información general.
- Seleccione Eliminar grupo de recursos.
- Se le pedirá que confirme la eliminación del grupo de recursos. Escriba el nombre del grupo de recursos para confirmar y seleccione Eliminar.
Transcurridos unos instantes, el grupo de recursos y todos sus recursos se eliminan.
Pasos siguientes
En este inicio rápido, ha creado un almacén de App Configuration y lo ha usado con una aplicación de Azure Functions a través del proveedor de App Configuration. Para aprender a actualizar una aplicación de Azure Functions para poner al día dinámicamente la configuración, continúe con el siguiente tutorial.
