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.
Aspire projekt är utformade för att köras i containerbaserade miljöer.
Azure Container Apps är en fullständigt hanterad miljö som gör att du kan köra mikrotjänster och containerbaserade program på en serverlös plattform. Den här artikeln beskriver hur du skapar en ny Aspire lösning och distribuerar den till Microsoft Azure Container Apps med hjälp av Azure Developer CLI (azd). Du får lära dig hur du utför följande uppgifter:
- Etablera en Azure resursgrupp och containerregister
- Aspire Publicera projekten som containeravbildningar i Azure Container Registry
- Etablera en Redis kontainer i Azure
- Distribuera apparna till en Azure Container Apps miljö
- Visa programkonsolloggar för att felsöka programproblem
Förutsättningar
För att arbeta med Aspirebehöver du följande installerat lokalt:
-
.NET 8.0 eller .NET 9.0.
- Från och med Aspire 9.4 .NET stöds 10 Förhandsversion 5 eller senare .
- En OCI-kompatibel containerkörmiljö, till exempel:
- Docker Desktop eller Podman. Mer information finns i Container Runtime.
- En IDE (Integrated Developer Environment) eller kodredigerare, till exempel:
- Visual Studio 2022 version 17.9 eller senare (valfritt)
-
Visual Studio Code (valfritt)
- C# Dev Kit: Tillägg (valfritt)
- JetBrains Rider med Aspire plugin (valfritt)
För mer information, se Aspire konfiguration och verktyg och Aspire SDK.
Ett alternativ till den här självstudien och en mer djupgående guide finns i Distribuera ett Aspire projekt till Azure Container Apps med hjälp av azd (djupgående guide).
Distribuera Aspire projekt med azd
Med Aspire och Azure Container Apps (ACA) har du ett bra värdscenario för att skapa dina molnbaserade appar med .NET. Vi har byggt in några utmärkta nya funktioner i Azure Developer CLI (azd) som är specifika för att göra utveckling och distribution av Aspire till Azure till en friktionsfri upplevelse. Information om produktionsscenarier som kräver detaljerad kontroll över infrastrukturen finns i Anpassa AspireAzure distributioner. Men för nya projekt hittar du ingen enklare väg till framgång för att få en ny mikrotjänsttopologi distribuerad till molnet.
Skapa ett Aspire projekt
Som utgångspunkt förutsätter den här artikeln att du har skapat ett Aspire projekt från mallen Aspire Startprogram . Mer information finns i Snabbstart: Skapa ditt första Aspire projekt.
Resursnamngivning
När du skapar nya Azure resurser är det viktigt att följa namngivningskraven. För Azure Container Appsmåste namnet vara 2–32 tecken långt och bestå av gemener, siffror och bindestreck. Namnet måste börja med en bokstav och sluta med ett alfanumeriskt tecken.
Mer information finns i Namngivningsregler och begränsningar för Azure resurser.
Installera Azure Developer CLI
Installationsprocessen azd varierar beroende på ditt operativsystem, men den är allmänt tillgänglig via winget, brew, apteller direkt via curl. För att installera azd, se Installera Azure Developer CLI.
Initiera mallen
Öppna ett nytt terminalfönster och kör
cdför att navigera till katalogen för din Aspire lösning.Kör kommandot
azd initför att initiera projektet medazd, som kommer att granska den lokala katalogstrukturen och fastställa typen av app.azd initMer information om kommandot
azd initfinns i azd init.Välj Använd kod i den aktuella katalogen när
azddu uppmanas att använda tre alternativ för appinitiering.? How do you want to initialize your app? [Use arrows to move, type to filter] > Use code in the current directory Select a template Create a minimal projectNär du har genomsökt katalogen
azduppmanas du att bekräfta att den hittade rätt AspireAppHost-projekt . Välj alternativet Bekräfta och fortsätt initiera min app.Detected services: .NET (Aspire) Detected in: D:\source\repos\AspireSample\AspireSample.AppHost\AspireSample.AppHost.csproj azd will generate the files necessary to host your app on Azure using Azure Container Apps. ? Select an option [Use arrows to move, type to filter] > Confirm and continue initializing my app Cancel and exitAnge ett miljönamn som används för att namnge etablerade resurser i Azure och hantera olika miljöer, till exempel
devochprod.Generating files to run your app on Azure: (✓) Done: Generating ./azure.yaml (✓) Done: Generating ./next-steps.md SUCCESS: Your app is ready for the cloud! You can provision and deploy your app to Azure by running the azd up command in this directory. For more information on configuring your app, see ./next-steps.md
azd genererar ett antal filer och placerar dem i arbetskatalogen. Dessa filer är:
- azure.yaml: Beskriver tjänsterna i appen, till exempel Aspire AppHost-projekt, och mappar dem till Azure resurser.
-
.azure/config.json: Konfigurationsfil som informerar
azdvad den aktuella aktiva miljön är. - .azure/aspireazddev/.env: Innehåller miljöspecifika åsidosättningar.
Använd mallen
När en
azdmall har initierats kan etablerings- och distributionsprocessen köras som ett enda kommando från AppHost-projektkatalogen med azd up:azd upVälj den prenumeration som du vill distribuera till i listan över tillgängliga alternativ:
Select an Azure Subscription to use: [Use arrows to move, type to filter] 1. SampleSubscription01 (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx) 2. SampleSubscription02 (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx)Välj önskad Azure plats att använda i listan över tillgängliga alternativ:
Select an Azure location to use: [Use arrows to move, type to filter] 42. (US) Central US (centralus) 43. (US) East US (eastus) > 44. (US) East US 2 (eastus2) 46. (US) North Central US (northcentralus) 47. (US) South Central US (southcentralus)
När du har valt azd kör du etablerings- och distributionsprocessen.
By default, a service can only be reached from inside the Azure Container Apps environment it is running in. Selecting a service here will also allow it to be reached from the Internet.
? Select which services to expose to the Internet webfrontend
? Select an Azure Subscription to use: 1. <YOUR SUBSCRIPTION>
? Select an Azure location to use: 1. <YOUR LOCATION>
Packaging services (azd package)
Provisioning Azure resources (azd provision)
Provisioning Azure resources can take some time.
Subscription: <YOUR SUBSCRIPTION>
Location: <YOUR LOCATION>
You can view detailed progress in the Azure Portal:
<LINK TO DEPLOYMENT>
(✓) Done: Resource group: <YOUR RESOURCE GROUP>
(✓) Done: Container Registry: <ID>
(✓) Done: Log Analytics workspace: <ID>
(✓) Done: Container Apps Environment: <ID>
SUCCESS: Your application was provisioned in Azure in 1 minute 13 seconds.
You can view the resources created under the resource group <YOUR RESOURCE GROUP> in Azure Portal:
<LINK TO RESOURCE GROUP OVERVIEW>
Deploying services (azd deploy)
(✓) Done: Deploying service apiservice
- Endpoint: <YOUR UNIQUE apiservice APP>.azurecontainerapps.io/
(✓) Done: Deploying service webfrontend
- Endpoint: <YOUR UNIQUE webfrontend APP>.azurecontainerapps.io/
Aspire Dashboard: <LINK TO DEPLOYED Aspire DASHBOARD>
SUCCESS: Your up workflow to provision and deploy to Azure completed in 3 minutes 50 seconds.
Kommandot azd up fungerar som omslutning för följande enskilda azd kommandon för att etablera och distribuera dina resurser i ett enda steg:
-
azd package: Appprojekten och deras beroenden paketeras i containrar. -
azd provision: De Azure resurser som appen behöver tillhandahålls. -
azd deploy: Projekten skickas som containrar till en Azure Container Registry-instans och används sedan för att skapa nya revisioner av Azure Container Apps där koden kommer att finnas.
azd up När stegen är klara blir din app tillgänglig på Azureoch du kan öppna portalen Azure för att utforska resurserna.
azd matar också ut URL:er för att komma åt de distribuerade apparna direkt.
Testa den driftsatta appen
Nu när appen har etablerats och distribuerats kan du gå till portalen Azure. I resursgruppen där du distribuerade appen visas de tre containerapparna och andra resurser.
Klicka på containerappen web för att öppna den i portalen.
Klicka på länken Program-URL för att öppna klientdelen i webbläsaren.
När du klickar på Väder-noden i navigeringsfältet gör frontendscontainerappen web en anrop till containerappen apiservice för att hämta data. Frontendens utdata kommer att cachelagras med hjälp av redis containerappen och utdatacacheintegreringenAspireRedis. När du uppdaterar klientdelen några gånger ser du att väderdata cachelagras. Den uppdateras efter några sekunder.
Aspire Aktivera instrumentpanelen
Du kan distribuera Aspire instrumentpanelen som en del av din värdbaserade app. Den här funktionen stöds nu fullt ut. När du distribuerar skriver azd-utdataloggarna ut ytterligare en URL till den distribuerade informationspanelen.
Du kan köra azd monitor för att automatiskt starta instrumentpanelen.
azd monitor
Rensa resurser
Kör följande Azure CLI-kommando för att ta bort resursgruppen när du inte längre behöver de Azure resurser som du skapade. Om du tar bort resursgruppen tas även de resurser som ingår i den bort.
az group delete --name <your-resource-group-name>
Mer information finns i Rensa resurser i Azure.