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.
Notitie
De Basic-, Standard- en Enterprise-abonnementen hebben op 17 maart 2025 een pensioenperiode ingevoerd. Zie de aankondiging over buitengebruikstelling van Azure Spring Apps voor meer informatie.
Dit artikel is van toepassing op:✅ Basic/Standard ❎ Enterprise
In deze quickstart wordt uitgelegd hoe u Spring-toepassingen bouwt en implementeert in Azure Spring Apps met behulp van de Azure CLI.
Vereisten
- Voltooiing van de vorige quickstarts in deze reeks:
De voorbeeld-app downloaden
Gebruik de volgende stappen om de voorbeeld-app te downloaden. Als u De Azure Cloud Shell hebt gebruikt, schakelt u over naar een lokale opdrachtprompt.
Maak een nieuwe map en kloon de opslagplaats van de voorbeeld-app.
mkdir source-codecd source-codegit clone https://github.com/Azure-Samples/azure-spring-apps-samplesNavigeer naar de map van de opslagplaats.
cd azure-spring-apps-samples
PlanetWeatherProvider implementeren
Gebruik de volgende stappen om het PlanetWeatherProvider-project te implementeren.
Maak een app voor het
PlanetWeatherProviderproject in uw Azure Spring Apps-exemplaar.az spring app create --name planet-weather-provider --runtime-version NetCore_31Als u automatische serviceregistratie wilt inschakelen, hebt u de app dezelfde naam gegeven als de waarde in het appsettings.json-bestand van
spring.application.namehet project:"spring": { "application": { "name": "planet-weather-provider" } }Het uitvoeren van deze opdracht kan enkele minuten duren.
Wijzig de map in de projectmap PlanetWeatherProvider .
cd steeltoe-sample/src/planet-weather-providerMaak de binaire bestanden en het ZIP-bestand dat moet worden geïmplementeerd.
dotnet publish -c release -o ./publishTip
Het projectbestand bevat de volgende XML om de binaire bestanden in een ZIP-bestand te verpakken nadat ze naar de map ./publish zijn geschreven:
<Target Name="Publish-Zip" AfterTargets="Publish"> <ZipDirectory SourceDirectory="$(PublishDir)" DestinationFile="$(MSBuildProjectDirectory)/publish-deploy-planet.zip" Overwrite="true" /> </Target>Implementeer het project in Azure.
Zorg ervoor dat de opdrachtprompt zich in de projectmap bevindt voordat u de volgende opdracht uitvoert.
az spring app deploy \ --name planet-weather-provider \ --runtime-version NetCore_31 \ --main-entry Microsoft.Azure.SpringCloud.Sample.PlanetWeatherProvider.dll \ --artifact-path ./publish-deploy-planet.zipMet de optie
--main-entrygeeft u het relatieve pad op vanaf de hoofdmap van het . ZIP-bestand naar het DLL-bestand met het beginpunt van de toepassing. Nadat de service het .zip-bestand heeft geüpload, worden alle bestanden en mappen geëxtraheerd en wordt vervolgens geprobeerd het invoerpunt uit te voeren in het opgegeven .dll-bestand .Het uitvoeren van deze opdracht kan enkele minuten duren.
SolarSystemWeather implementeren
Gebruik de volgende stappen om het SolarSystemWeather-project te implementeren.
Maak een andere app in uw Azure Spring Apps-exemplaar voor het project.
az spring app create --name solar-system-weather --runtime-version NetCore_31solar-system-weatheris de naam die is opgegeven in het bestandSolarSystemWeathervan het project .Het uitvoeren van deze opdracht kan enkele minuten duren.
Wijzig de map in de map van het project
SolarSystemWeather.cd ../solar-system-weatherMaak de binaire bestanden en het ZIP-bestand dat u wilt implementeren.
dotnet publish -c release -o ./publishImplementeer het project in Azure.
az spring app deploy \ --name solar-system-weather \ --runtime-version NetCore_31 \ --main-entry Microsoft.Azure.SpringCloud.Sample.SolarSystemWeather.dll \ --artifact-path ./publish-deploy-solar.zipHet uitvoeren van deze opdracht kan enkele minuten duren.
Openbaar eindpunt toewijzen
Voordat u de toepassing test, moet u een openbaar eindpunt voor een HTTP GET-aanvraag voor de solar-system-weather toepassing ophalen.
Voer de volgende opdracht uit om het eindpunt toe te wijzen.
az spring app update --name solar-system-weather --assign-endpoint trueVoer de volgende opdracht uit om de URL van het eindpunt op te halen.
Windows:
az spring app show --name solar-system-weather --output tableLinux:
az spring app show --name solar-system-weather | grep url
De toepassing testen
Als u de toepassing wilt testen, verzendt u een GET-aanvraag naar de solar-system-weather app. Navigeer in een browser naar de openbare URL waaraan /weatherforecast deze is toegevoegd. Bijvoorbeeld: https://servicename-solar-system-weather.azuremicroservices.io/weatherforecast
De uitvoer is JSON:
[{"Key":"Mercury","Value":"very warm"},{"Key":"Venus","Value":"quite unpleasant"},{"Key":"Mars","Value":"very cool"},{"Key":"Saturn","Value":"a little bit sandy"}]
In dit antwoord ziet u dat beide Spring-apps werken. De app SolarSystemWeather retourneert gegevens die zijn opgehaald uit de app PlanetWeatherProvider.
In dit artikel wordt uitgelegd hoe u Spring-toepassingen bouwt en implementeert in Azure Spring Apps. U kunt Azure CLI, de Maven-invoegtoepassing of IntelliJ gebruiken. In dit artikel wordt elk alternatief beschreven.
Vereisten
- Voltooiing van de vorige quickstarts in deze reeks:
- JDK 17
- Maven 3.0 of hoger
- Een Azure-abonnement. Als u geen abonnement hebt, maakt u een gratis account voordat u begint.
- Optioneel, Azure CLI versie 2.45.0 of hoger. Installeer de Azure Spring Apps-extensie met de volgende opdracht:
az extension add --name spring - Optioneel, de Azure-toolkit voor IntelliJ.
Spring-toepassingen lokaal bouwen
Gebruik de volgende opdrachten om de voorbeeldopslagplaats te klonen, naar de voorbeeldmap te gaan en vervolgens het project te bouwen.
git clone https://github.com/azure-samples/spring-petclinic-microservices
cd spring-petclinic-microservices
mvn clean package -DskipTests -Denv=cloud
Het compileren van het project duurt 5-10 minuten. Wanneer het project is gecompileerd, moet u afzonderlijke JAR-bestanden voor elke service in hun respectieve mappen hebben.
Apps maken en implementeren in Azure Spring Apps
Gebruik de volgende stappen om apps te maken en te implementeren in Azure Spring Apps met behulp van de CLI.
Als u de volgende opdrachten in de vorige quickstarts niet hebt uitgevoerd, voert u deze nu uit om de CLI-standaardwaarden in te stellen.
az configure --defaults group=<resource-group-name> spring=<service-name>Maak de twee kern spring-toepassingen voor PetClinic:
api-gatewayencustomers-service.az spring app create \ --name api-gateway \ --runtime-version Java_17 \ --instance-count 1 \ --memory 2Gi \ --assign-endpoint az spring app create \ --name customers-service \ --runtime-version Java_17 \ --instance-count 1 \ --memory 2GiImplementeer de JAR-bestanden die in de vorige stap zijn gebouwd.
az spring app deploy \ --name api-gateway \ --artifact-path spring-petclinic-api-gateway/target/api-gateway-3.0.1.jar \ --jvm-options="-Xms2048m -Xmx2048m" az spring app deploy \ --name customers-service \ --artifact-path spring-petclinic-customers-service/target/customers-service-3.0.1.jar \ --jvm-options="-Xms2048m -Xmx2048m"Voer een query uit voor de app-status na implementaties met de volgende opdracht.
az spring app list --output tableMet deze opdracht wordt uitvoer geproduceerd die vergelijkbaar is met het volgende voorbeeld:
Name Location ResourceGroup Production Deployment Public Url Provisioning Status CPU Memory Running Instance Registered Instance Persistent Storage ----------------- ---------- --------------- ----------------------- --------------------------------------------------- --------------------- ----- -------- ------------------ --------------------- -------------------- api-gateway eastus xxxxxx-sp default https://<service name>-api-gateway.azuremicroservices.io Succeeded 1 2 1/1 1/1 - customers-service eastus <service name> default Succeeded 1 2 1/1 1/1 -
De services controleren
Open api-gateway en customers-service vanuit een browser met de openbare URL die eerder werd weergegeven, in de indeling van https://<service name>-api-gateway.azuremicroservices.io.
Tip
Als u problemen met implementaties wilt oplossen, kunt u de volgende opdracht gebruiken om logboeken in realtime te streamen wanneer de app wordt uitgevoerd az spring app logs --name <app name> --follow.
Extra apps implementeren
Als u wilt dat de PetClinic-app werkt met alle functies zoals Beheerserver, Bezoeken en Dierenartsen, implementeert u de andere apps met de volgende opdrachten:
az spring app create \
--name admin-server \
--runtime-version Java_17 \
--instance-count 1 \
--memory 2Gi \
--assign-endpoint
az spring app create \
--name vets-service \
--runtime-version Java_17 \
--instance-count 1 \
--memory 2Gi
az spring app create \
--name visits-service \
--runtime-version Java_17 \
--instance-count 1 \
--memory 2Gi
az spring app deploy \
--name admin-server \
--runtime-version Java_17 \
--artifact-path spring-petclinic-admin-server/target/admin-server-3.0.1.jar \
--jvm-options="-Xms1536m -Xmx1536m"
az spring app deploy \
--name vets-service \
--runtime-version Java_17 \
--artifact-path spring-petclinic-vets-service/target/vets-service-3.0.1.jar \
--jvm-options="-Xms1536m -Xmx1536m"
az spring app deploy \
--name visits-service \
--runtime-version Java_17 \
--artifact-path spring-petclinic-visits-service/target/visits-service-3.0.1.jar \
--jvm-options="-Xms1536m -Xmx1536m"
Resources opschonen
Als u van plan bent om verder te gaan met volgende snelstarts en zelfstudies, kunt u deze resources het beste intact laten. Als u de resourcegroep niet meer nodig hebt, verwijdert u deze. Hierdoor worden ook de resources in de resourcegroep verwijderd. Als u de resourcegroep wilt verwijderen met behulp van Azure CLI, gebruikt u de volgende opdrachten:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."