Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este inicio rápido se muestra cómo centralizar y administrar la configuración de la aplicación de Azure Functions fuera del código mediante Azure App Configuration. Con la integración del proveedor de configuración de .NET, puede agregar App Configuration como origen de configuración adicional con solo unos sencillos cambios de código.
Requisitos previos
- Una cuenta de Azure con una suscripción activa. cree una de forma gratuita.
- Un almacén de App Configuration, como se muestra en el tutorial para crear un almacén.
- Visual Studio con la carga de trabajo de desarrollo de Azure.
- Herramientas de Azure Functions.
Agregar un par clave-valor
Agregue el siguiente par clave-valor al almacén de App Configuration y deje Etiqueta y Tipo de contenido con sus valores predeterminados. Para obtener más información sobre cómo agregar pares clave-valor a un almacén mediante Azure Portal o la CLI, vaya a Creación de un par clave-valor.
| Clave | Importancia |
|---|---|
| TestApp:Settings:Message | Datos de Azure App Configuration |
Crear una aplicación de funciones
Cree una aplicación de Azure Functions con Visual Studio seleccionando la plantilla azure Functions (C#). Esta plantilla le guía a través de la configuración de opciones esenciales para el proyecto. Para obtener instrucciones detalladas, consulte Desarrollo de Azure Functions mediante Visual Studio.
Use la tabla siguiente como referencia para los parámetros clave al crear la aplicación de funciones.
| Configuración | Importancia |
|---|---|
| Ejecutor de funciones | .NET 8.0 (aislado) |
| Función | Desencadenador HTTP |
| Nivel de autorización | Anónimo |
Nota:
Azure App Configuration se puede usar con Azure Functions en el modelo de trabajo aislado o en el modelo en proceso. Este inicio rápido utiliza el modelo de trabajo aislado como ejemplo. Puede encontrar ejemplos de código completos para ambos modelos en el repositorio de GitHub de Azure App Configuration.
Conexión a un almacén de App Configuration
Puede conectarse al almacén de App Configuration mediante Microsoft Entra ID (recomendado) o una cadena de conexión.
Haga clic con el botón derecho en el proyecto y seleccione Administrar paquetes NuGet. En la pestaña Examinar , busque y agregue la versión estable más reciente de los siguientes paquetes NuGet al proyecto.
- Microsoft.Azure.AppConfiguration.Functions.Worker
- Azure.Identity
Abra Program.cs y actualice el código de la manera siguiente. Para agregar Azure App Configuration como origen de configuración adicional, llame al
AddAzureAppConfigurationmétodo .Use
DefaultAzureCredentialpara autenticarse en el almacén de App Configuration. Siga las instrucciones para asignar tu credencial al rol Lector de datos de App Configuration. Asegúrese de dejar tiempo suficiente para que el permiso se propague antes de ejecutar la aplicación.using Azure.Identity; using Microsoft.Azure.Functions.Worker.Builder; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Hosting; var builder = FunctionsApplication.CreateBuilder(args); // Connect to Azure App Configuration builder.Configuration.AddAzureAppConfiguration(options => { Uri endpoint = new(Environment.GetEnvironmentVariable("AZURE_APPCONFIG_ENDPOINT") ?? throw new InvalidOperationException("The environment variable 'AZURE_APPCONFIG_ENDPOINT' is not set or is empty.")); options.Connect(endpoint, new DefaultAzureCredential()) // Load all keys that start with `TestApp:` and have no label .Select("TestApp:*"); });Abra Function1.cs y agregue el siguiente espacio de nombres.
using Microsoft.Extensions.Configuration;Actualice el constructor para obtener una instancia de
IConfigurationa través de la inyección de dependencias.private readonly IConfiguration _configuration; private readonly ILogger<Function1> _logger; public Function1(IConfiguration configuration, ILogger<Function1> logger) { _configuration = configuration; _logger = logger; }Actualice el método
Runpara que lea los valores de la configuración.[Function("Function1")] public IActionResult Run([HttpTrigger(AuthorizationLevel.Anonymous, "get", "post")] HttpRequest req) { _logger.LogInformation("C# HTTP trigger function processed a request."); // Read configuration data string key = "TestApp:Settings:Message"; string? message = _configuration[key]; return new OkObjectResult(message ?? $"Please create a key-value with the key '{key}' in Azure App Configuration."); }
Prueba local de la función
Establezca la variable de entorno.
Establezca la variable de entorno denominada AZURE_APPCONFIG_ENDPOINT en el punto de conexión del almacén de App Configuration que se encuentra en la Información general del almacén en Azure Portal.
Si usa el símbolo del sistema de Windows, ejecute el siguiente comando y reinícielo para que se aplique el cambio:
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"Si usa PowerShell, ejecute el siguiente comando:
$Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"Si usa macOS o Linux, ejecute el siguiente comando:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-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.
Gestionar los parámetros del desencadenador con referencias de App Configuration
Los desencadenadores de Azure Functions definen cómo se invoca una función. Los atributos de desencadenador, como los nombres de cola o los nombres de base de datos, se cargan en el momento de inicio del host y no pueden recuperar directamente valores de Azure App Configuration. Para administrar estos parámetros, puede usar la característica de referencia de App Configuration disponible para Azure Functions y App Service.
La característica de referencia de App Configuration permite hacer referencia a los valores clave almacenados en Azure App Configuration directamente desde la configuración de la aplicación. Azure Functions resuelve estas referencias al inicio, lo que le permite administrar parámetros de desencadenador de forma centralizada y segura.
Por ejemplo, considere una aplicación de funciones desencadenada por cola. En lugar de especificar el nombre de la cola directamente en el atributo trigger, puede hacer referencia a un valor de clave almacenado en Azure App Configuration.
En el almacén de Azure App Configuration, agregue un valor de clave para el nombre de la cola:
Clave Importancia TestApp:Storage:QueueName <El nombre de la cola en la cuenta de almacenamiento> En su aplicación de funciones, seleccione Configuración ->Variables de entorno ->Configuración de la aplicación en el portal de Azure, y cree una configuración de aplicación que haga referencia a la clave de Configuración de la aplicación:
Nombre Importancia MyQueueName @Microsoft.AppConfiguration(Endpoint=<your-store-endpoint>; Key=TestApp:Storage:QueueName)Sugerencia
Si tiene varios valores de clave en Azure App Configuration, puede exportarlos por lotes como referencias de App Configuration a Azure Functions mediante Azure Portal o la CLI.
Habilite la identidad administrada para la aplicación de Azure Functions y asígnele el rol Lector de datos de App Configuration para el almacén de App Configuration. Para obtener instrucciones detalladas sobre cómo configurar referencias de App Configuration, consulte Uso de referencias de App Configuration en App Service y Azure Functions.
Actualice la función desencadenada por la cola para usar la configuración de la aplicación:
[Function("QueueTriggeredFunction")] public void Run([QueueTrigger(queueName: "%MyQueueName%")] QueueMessage message) { _logger.LogInformation($"C# Queue trigger function processed: {message.MessageText}"); }En tiempo de ejecución, Azure Functions resuelve el
%MyQueueName%marcador de posición en el valor almacenado en Azure App Configuration, lo que le permite administrar los parámetros de desencadenador de forma centralizada sin codificarlos de forma rígida en el código de función.
Limpieza de recursos
Si no quiere seguir usando los recursos que se han creado en este artículo, elimine el grupo de recursos se que ha creado con el fin de 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 accidentalmente 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, integrará Azure App Configuration con una aplicación de Azure Functions. Para obtener información sobre cómo habilitar la aplicación de funciones para actualizar dinámicamente las opciones de configuración, continúe con el siguiente tutorial.
Para obtener información sobre cómo usar marcas de características desde Azure App Configuration dentro de la aplicación de Azure Functions, continúe con el tutorial siguiente.
Para aprender a usar una identidad administrada de Azure para simplificar el acceso a App Configuration, continúe con el siguiente tutorial.