Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här snabbstarten visar hur du centraliserar och hanterar dina Azure Functions-programinställningar utanför koden med hjälp av Azure App Configuration. Med integreringen av .NET-konfigurationsprovidern kan du lägga till App Configuration som en extra konfigurationskälla med bara några enkla kodändringar.
Förutsättningar
- Ett Azure-konto med en aktiv prenumeration. Skapa en kostnadsfritt.
- En konfigurationsbutik för appar. Skapa en butik.
- Visual Studio med arbetsbelastning för Azure-utveckling.
- Azure Functions-verktyg.
Lägga till ett nyckelvärde
Lägg till följande nyckelvärde i appkonfigurationsarkivet och lämna Etikett och innehållstyp med sina standardvärden. Mer information om hur du lägger till nyckelvärden i en lagringsplats med hjälp av Azure Portal eller CLI finns i Skapa ett nyckelvärde.
Nyckel | Värde |
---|---|
TestApp:Settings:Message | Data från Azure App Configuration |
Skapa en funktionsapp
Skapa en Azure Functions-app med Visual Studio genom att välja mallen Azure Functions (C#). Den här mallen vägleder dig genom att konfigurera viktiga inställningar för projektet. Detaljerade anvisningar finns i Utveckla Azure Functions med Visual Studio.
Använd följande tabell som referens för nyckelparametrar när du skapar funktionsappen.
Inställning | Värde |
---|---|
Funktionsarbetare | .NET 8.0 Isolerad |
Funktion | HTTP-utlösare |
Auktoriseringsnivå | Anonym |
Kommentar
Azure App Configuration kan användas med Azure Functions i antingen den isolerade arbetsmodellen eller i processmodellen. Den här snabbstarten använder den isolerade arbetsmodellen som exempel. Du hittar fullständiga kodexempel för båda modellerna i Azure App Configuration GitHub-lagringsplatsen.
Anslut till en App Configuration-lagring
Du kan ansluta till din App Configuration-butik med hjälp av Microsoft Entra-ID (rekommenderas) eller en anslutningssträng.
Högerklicka på projektet och välj Hantera NuGet-paket. På fliken Bläddra söker du efter och lägger till den senaste stabila versionen av följande NuGet-paket i projektet.
- Microsoft.Azure.AppConfiguration.Functions.Worker
- Azure.Identity
Öppna Program.cs och uppdatera koden enligt följande. Du lägger till Azure App Configuration som ytterligare en konfigurationskälla genom att anropa
AddAzureAppConfiguration
metoden.Du använder
DefaultAzureCredential
för att autentisera till Appkonfigurationsbutiken. Följ anvisningarna för att tilldela dina autentiseringsuppgifter rollen App Configuration Data Reader. Se till att ge tillräckligt med tid för att behörigheten ska spridas innan du kör programmet.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:*"); });
Öppna Function1.cs och lägg till följande namnområde.
using Microsoft.Extensions.Configuration;
Uppdatera konstruktorn för att hämta en instans av
IConfiguration
via beroendeinmatning.private readonly IConfiguration _configuration; private readonly ILogger<Function1> _logger; public Function1(IConfiguration configuration, ILogger<Function1> logger) { _configuration = configuration; _logger = logger; }
Run
Uppdatera metoden för att läsa värden från konfigurationen.[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."); }
Testa funktionen lokalt
Ange miljövariabeln .
Ange miljövariabeln med namnet AZURE_APPCONFIG_ENDPOINT till slutpunkten för din App Configuration-butik som finns i Azure-portalen under Översikt över din butik.
Om du använder Windows-kommandotolken kör du följande kommando och startar om kommandotolken så att ändringen börjar gälla:
setx AZURE_APPCONFIG_ENDPOINT "<endpoint-of-your-app-configuration-store>"
Om du använder PowerShell kör du följande kommando:
$Env:AZURE_APPCONFIG_ENDPOINT = "<endpoint-of-your-app-configuration-store>"
Om du använder macOS eller Linux kör du följande kommando:
export AZURE_APPCONFIG_ENDPOINT='<endpoint-of-your-app-configuration-store>'
Tryck på F5 för att testa funktionen. Om du får en uppmaning accepterar du begäran från Visual Studio för att ladda ned och installera Azure Functions Core (CLI)-verktyg. Du kan också behöva tillåta ett undantag i brandväggen så att verktygen kan hantera HTTP-begäranden.
Kopiera funktionens URL från Azure Functions-utdata.
Klistra in webbadressen för HTTP-begäran i webbläsarens adressfält. Följande bild visar svaret i webbläsaren på den lokala GET-begäran som returneras av funktionen.
Hantera utlösarparametrar med appkonfigurationsreferenser
Azure Functions-utlösare definierar hur en funktion anropas. Utlösarattribut, till exempel könamn eller databasnamn, läses in vid starttiden för värden och kan inte hämta värden direkt från Azure App Configuration. Om du vill hantera dessa parametrar kan du använda referensfunktionen AppKonfiguration som är tillgänglig för Azure Functions och App Service.
Med referensfunktionen Appkonfiguration kan du referera till nyckelvärden som lagras i Azure App Configuration direkt från dina programinställningar. Azure Functions löser dessa referenser vid start, så att du kan hantera utlösarparametrar centralt och säkert.
Överväg till exempel en köutlöst funktionsapp. I stället för att ange kö namnet direkt i triggerattributet kan du referera till ett nyckelvärde som lagras i Azure App Configuration.
I din Azure App Configuration-butik lägger du till ett nyckelvärde för kö namnet:
Nyckel Värde TestApp:Storage:QueueName <Könamnet i ditt lagringskonto> I funktionsappen väljer du Inställningar –>Miljövariabler –>Appinställningar i Azure-portalen och skapar en programinställning som refererar till appkonfigurationsnyckeln:
Namn Värde MyQueueName @Microsoft.AppConfiguration(Endpoint=<your-store-endpoint>; Key=TestApp:Storage:QueueName)
Tips/Råd
Om du har flera nyckelvärden i Azure App Configuration kan du exportera dem i batch som appkonfigurationsreferenser till Azure Functions med hjälp av Azure-portalen eller CLI.
Aktivera den hanterade identiteten för din Azure Functions-app och tilldela den rollen App Configuration Data Reader för appkonfigurationsarkivet. Detaljerade anvisningar om hur du konfigurerar appkonfigurationsreferenser finns i Använda appkonfigurationsreferenser i App Service och Azure Functions.
Uppdatera den köutlösta funktionen så att den använder programinställningen:
[Function("QueueTriggeredFunction")] public void Run([QueueTrigger(queueName: "%MyQueueName%")] QueueMessage message) { _logger.LogInformation($"C# Queue trigger function processed: {message.MessageText}"); }
Vid körningen löser Azure Functions upp platshållaren
%MyQueueName%
till värdet som lagras i Azure App Configuration, vilket gör att du kan hantera utlösarparametrar centralt utan att behöva hårdkoda dem i funktionskoden.
Rensa resurser
Om du inte vill fortsätta använda resurserna som skapas i den här artikeln tar du bort resursgruppen som du skapade här för att undvika avgifter.
Viktigt!
Att ta bort en resursgrupp kan inte ångras. Resursgruppen och alla resurser i den tas bort permanent. Se till att du inte oavsiktligt tar bort fel resursgrupp eller resurser. Om du har skapat resurserna för den här artikeln i en resursgrupp som innehåller andra resurser som du vill behålla tar du bort varje resurs individuellt från respektive fönster i stället för att ta bort resursgruppen.
- Logga in på Azure Portal och välj Resursgrupper.
- I rutan Filtrera efter namn anger du namnet på resursgruppen.
- I resultatlistan väljer du resursgruppens namn för att se en översikt.
- Välj Ta bort resursgrupp.
- Du blir ombedd att bekräfta borttagningen av resursgruppen. Ange namnet på resursgruppen för att bekräfta och välj Ta bort.
Efter en liten stund tas resursgruppen och alla dess resurser bort.
Nästa steg
I den här snabbstarten har du integrerat Azure App Configuration med en Azure Functions-app. Om du vill lära dig hur du aktiverar funktionsappen för att dynamiskt uppdatera konfigurationsinställningarna fortsätter du till nästa självstudie.
Om du vill lära dig hur du använder funktionsflaggor från Azure App Configuration i din Azure Functions-app går du vidare till följande självstudie.
Om du vill lära dig hur du använder en hanterad Azure-identitet för att effektivisera åtkomsten till App Configuration, fortsätt till följande handledning.