Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Aspire projecten zijn ontworpen om te worden uitgevoerd in containeromgevingen.
Azure Container Apps is een volledig beheerde omgeving waarmee u microservices en toepassingen in containers kunt uitvoeren op een serverloos platform. In dit artikel wordt stapsgewijs uitgelegd hoe u een nieuwe Aspire oplossing maakt en deze implementeert in Microsoft Azure Container Apps met behulp van de Azure Developer CLI (azd). U leert hoe u de volgende taken uitvoert:
- Azure Een resourcegroep en Container Registry inrichten
- Publiceer de projecten als containerafbeeldingen in de Aspire Container Registry
- RedisEen container provisioneren in Azure
- De apps implementeren in een Azure Container Apps omgeving
- Toepassingsconsolelogboeken weergeven om toepassingsproblemen op te lossen
Vereiste voorwaarden
Om met Aspire te werken, moet u het volgende lokaal geïnstalleerd hebben:
-
.NET 8,0 of .NET 9,0.
- Aspire Vanaf 9.4 .NET wordt 10 Preview 5 of hoger ondersteund.
- Een OCI-compatibele containerruntime, zoals:
- Docker Desktop of Podman. Voor meer informatie, zie Container runtime.
- Een IDE (Integrated Developer Environment) of code-editor, zoals:
- Visual Studio 2022 versie 17.9 of hoger (optioneel)
-
Visual Studio Code (optioneel)
- C# Dev Kit: extensie- (optioneel)
- JetBrains Rider met Aspire plugin (optioneel)
Zie setup en hulpprogramma's en SDK voor meer informatieAspire.Aspire
Als alternatief voor deze zelfstudie, en voor een meer uitgebreide handleiding, zie Aspire project uitrollen naar Azure Container Apps met behulp van azd (uitgebreidere handleiding).
Projecten implementeren Aspire met azd
Met Aspire en Azure Container Apps (ACA) hebt u een geweldig hostingscenario voor het bouwen van uw cloudeigen apps met .NET. We hebben een aantal geweldige nieuwe functies ingebouwd in de Azure Developer CLI (azd) die specifiek zijn voor het maken van Aspire ontwikkeling en implementatie tot Azure een probleemloze ervaring. Zie Implementaties aanpassen AspireAzurevoor productiescenario's waarvoor gedetailleerde controle over de infrastructuur is vereist. Maar voor nieuwe projecten vindt u geen eenvoudiger pad naar succes voor het verkrijgen van een nieuwe microservicetopologie die in de cloud is geïmplementeerd.
Aspire Een project maken
In dit artikel wordt ervan uitgegaan dat u een Aspire project hebt gemaakt op basis van de Aspire starterstoepassingssjabloon . Zie Quickstart: Uw eerste Aspire project bouwen voor meer informatie.
Naamgeving van hulpbronnen
Wanneer u nieuwe Azure resources maakt, is het belangrijk om de naamgevingsvereisten te volgen. Voor Azure Container Appsmoet de naam 2-32 tekens lang zijn en bestaan uit kleine letters, cijfers en afbreekstreepjes. De naam moet beginnen met een letter en eindigen met een alfanumerieke teken.
Zie Naamgevingsregels en -beperkingen voor resources voor Azuremeer informatie.
Installeer de Azure Developer CLI
Het installatieproces azd varieert op basis van uw besturingssysteem, maar is algemeen beschikbaar via winget, brewof aptrechtstreeks via curl. Zie azd voor installatie-instructies.
De sjabloon initialiseren
Open een nieuw terminalvenster en
cdga naar de map van uw Aspire oplossing.Voer de opdracht
azd inituit om uw project te initialiseren metazd, waarmee de lokale mapstructuur wordt gecontroleerd en het type app wordt bepaald.azd initSelecteer Code gebruiken in de huidige map wanneer
azdu wordt gevraagd om drie opties voor app-initialisatie.? 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 projectNadat u de map hebt gescand,
azdwordt u gevraagd om te bevestigen dat het juiste AspireAppHost-project is gevonden. Selecteer de optie Bevestigen en ga verder met het initialiseren van mijn app optie.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 exitVoer een omgevingsnaam in die wordt gebruikt om ingerichte resources in Azure een naam te geven en verschillende omgevingen zoals
devenprodte beheren.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 genereert een aantal bestanden en plaatst deze in de werkmap. Deze bestanden zijn:
- azure.yaml: beschrijft de services van de app, zoals Aspire AppHost-project, en wijst deze toe aan Azure resources.
-
.azure/config.json: configuratiebestand dat
azdinformeert wat de huidige actieve omgeving is. - .azure/aspireazddev/.env: Bevat omgevingsspecifieke overschrijvingen.
De sjabloon implementeren
Zodra een
azdsjabloon is geïnitialiseerd, kan het inrichtings- en implementatieproces worden uitgevoerd als één opdracht vanuit de appHost-projectmap met behulp van azd up:azd upSelecteer het abonnement waarnaar u wilt implementeren in de lijst met beschikbare opties:
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)Selecteer de gewenste Azure locatie in de lijst met beschikbare opties:
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)
Nadat u uw selecties hebt uitgevoerd, azd voert u het inrichtings- en implementatieproces uit.
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.
De azd up opdracht fungeert als wrapper voor de volgende afzonderlijke azd opdrachten om uw resources in één stap in te richten en te implementeren:
-
azd package: De app-projecten en hun afhankelijkheden worden verpakt in containers. -
azd provision: De Azure resources die de app nodig heeft, worden voorzien. -
azd deploy: De projecten worden gepusht als containers naar een Azure Container Registry-exemplaar en vervolgens gebruikt om nieuwe revisies Azure Container Apps te maken waarin de code wordt gehost.
Wanneer de azd up fasen zijn voltooid, is uw app beschikbaar op Azureen kunt u de Azure portal openen om de resources te verkennen.
azd voert ook URL's uit om rechtstreeks toegang te krijgen tot de geïmplementeerde apps.
De geïmplementeerde app testen
Nu de app is ingericht en geïmplementeerd, kunt u naar de Azure portal bladeren. In de resourcegroep waarin u de app hebt geïmplementeerd, ziet u de drie container-apps en andere resources.
Klik op de web containerapp om deze te openen in het portaal.
Klik op de Applicatie-URL om de front-end in de browser te openen.
Wanneer u op het knooppunt 'Weer' in de navigatiebalk klikt, roept de front-endcontainer-app web de apiservice container-app aan om gegevens op te halen. De uitvoer van de front-end wordt in de cache opgeslagen met behulp van de redis container-app en de AspireRedis uitvoercache-integratie. Wanneer u de front-end een paar keer vernieuwt, ziet u dat de weergegevens in de cache worden opgeslagen. Deze wordt na een paar seconden bijgewerkt.
Aspire Het dashboard implementeren
U kunt het Aspire dashboard implementeren als onderdeel van uw gehoste app. Deze functie wordt nu volledig ondersteund. Bij de implementatie worden in de azd-uitvoerlogboeken een extra URL naar het geïmplementeerde dashboard afgedrukt.
U kunt uitvoeren azd monitor om het dashboard automatisch te starten.
azd monitor
De hulpbronnen opschonen
Voer de volgende Azure CLI-opdracht uit om de resourcegroep te verwijderen wanneer u de Azure resources die u hebt gemaakt niet meer nodig hebt. Als u de resourcegroep verwijdert, worden ook de resources in de resourcegroep verwijderd.
az group delete --name <your-resource-group-name>
Zie Resources opschonen in Azurevoor meer informatie.