Schnellstart: Erstellen und Bereitstellen von Anwendungen in Azure Spring Apps mithilfe des Enterprise-Plans
Hinweis
Die Pläne Basic, Standard und Enterprise gelten ab Mitte März 2025 als veraltet und werden über einen Zeitraum von drei Jahren eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie in der Ankündigung zur Einstellung von Azure Spring Apps.
Der Plan Standardverbrauch und dediziert gilt ab dem 30. September 2024 als veraltet und wird nach sechs Monaten vollständig eingestellt. Es wird empfohlen, auf Azure Container Apps umzustellen. Weitere Informationen finden Sie unter Migrieren des Plans „Standardverbrauch und dediziert“ von Azure Spring Apps zu Azure Container Apps.
Dieser Artikel gilt für: ❎ Basic/Standard ✅ Enterprise
In dieser Schnellstartanleitung wird das Erstellen und Bereitstellen von Anwendungen in Azure Spring Apps über den Enterprise-Plan veranschaulicht.
Voraussetzungen
- Ein Azure-Konto mit einem aktiven Abonnement. Sie können kostenlos ein Konto erstellen.
- Verstehen und Erfüllen des Abschnitts Anforderungen des Enterprise-Plans in Azure Marketplace.
- Die Azure CLI Version 2.45.0 oder höher.
- Git.
- Die Erweiterung des Azure Spring Apps Enterprise-Plans. Verwenden Sie den folgenden Befehl, um frühere Versionen zu entfernen und die neueste Erweiterung des Enterprise-Plans zu installieren. Wenn Sie zuvor die
spring-cloud
-Erweiterung installiert hatten, deinstallieren Sie diese Erweiterung, um Konfigurations- und Versionskonflikte zu vermeiden.az extension add --upgrade --name spring az extension remove --name spring-cloud
Herunterladen der Beispiel-App
Verwenden Sie die folgenden Befehle, um das Beispiel herunterzuladen:
git clone https://github.com/Azure-Samples/acme-fitness-store
cd acme-fitness-store
Bereitstellen einer Dienstinstanz
Führen Sie die folgenden Schritte aus, um eine Azure Spring Apps-Dienstinstanz bereitstellen.
Verwenden Sie den folgenden Befehl, um sich bei der Azure CLI anzumelden und Ihr aktives Abonnement auszuwählen:
az login az account list --output table az account set --subscription <subscription-ID>
Führen Sie den folgenden Befehl aus, um die rechtlichen Bedingungen und Datenschutzbestimmungen für den Enterprise-Plan zu akzeptieren. Dieser Schritt ist nur erforderlich, wenn Ihr Abonnement noch nie zum Erstellen einer Instanz des Enterprise-Plans von Azure Spring Apps verwendet wurde.
az provider register --namespace Microsoft.SaaS az term accept \ --publisher vmware-inc \ --product azure-spring-cloud-vmware-tanzu-2 \ --plan asa-ent-hr-mtr
Wählen Sie einen Standort aus. Dieser Speicherort muss ein Speicherort sein, der den Azure Spring Apps Enterprise-Plan unterstützt. Weitere Informationen finden Sie in den Häufig gestellten Fragen zu Azure Spring Apps.
Erstellen Sie Variablen zur Aufnahme der Ressourcennamen, indem Sie die folgenden Befehle verwenden. Ersetzen Sie die Platzhalter durch Ihre eigenen Werte. Der Name Ihrer Azure Spring Apps-Dienstinstanz muss zwischen 4 und 32 Zeichen lang sein und darf nur Kleinbuchstaben, Zahlen und Bindestriche enthalten. Das erste Zeichen des Dienstnamens muss ein Buchstabe und das letzte Zeichen entweder ein Buchstabe oder eine Ziffer sein.
export LOCATION="<location>" export RESOURCE_GROUP="<resource-group-name>" export SERVICE_NAME="<Azure-Spring-Apps-service-instance-name>" export WORKSPACE_NAME="<workspace-name>"
Verwenden Sie den folgenden Befehl, um eine Ressourcengruppe zu erstellen:
az group create \ --name ${RESOURCE_GROUP} \ --location ${LOCATION}
Weitere Informationen zu Ressourcengruppen finden Sie unter Was ist Azure Resource Manager?.
Verwenden Sie den folgenden Befehl, um eine Azure Spring Apps-Dienstinstanz zu erstellen:
az spring create \ --resource-group ${RESOURCE_GROUP} \ --name ${SERVICE_NAME} \ --sku enterprise \ --enable-application-configuration-service \ --enable-service-registry \ --enable-gateway \ --enable-api-portal
Verwenden Sie den folgenden Befehl, um einen Log Analytics-Arbeitsbereich zu erstellen, der für Ihren Azure Spring Apps-Dienst verwendet werden soll:
az monitor log-analytics workspace create \ --resource-group ${RESOURCE_GROUP} \ --workspace-name ${WORKSPACE_NAME} \ --location ${LOCATION}
Verwenden Sie die folgenden Befehle, um die Ressourcen-ID für Ihren Log Analytics-Arbeitsbereich und die Azure Spring Apps-Dienstinstanz abzurufen:
export LOG_ANALYTICS_RESOURCE_ID=$(az monitor log-analytics workspace show \ --resource-group ${RESOURCE_GROUP} \ --workspace-name ${WORKSPACE_NAME} \ --query id \ --output tsv) export AZURE_SPRING_APPS_RESOURCE_ID=$(az spring show \ --resource-group ${RESOURCE_GROUP} \ --name ${SERVICE_NAME} \ --query id \ --output tsv)
Verwenden Sie den folgenden Befehl, um Diagnoseeinstellungen für den Azure Spring Apps-Dienst zu konfigurieren:
az monitor diagnostic-settings create \ --name "send-logs-and-metrics-to-log-analytics" \ --resource ${AZURE_SPRING_APPS_RESOURCE_ID} \ --workspace ${LOG_ANALYTICS_RESOURCE_ID} \ --logs '[ { "category": "ApplicationConsole", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } }, { "category": "SystemLogs", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } }, { "category": "IngressLogs", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } } ]' \ --metrics '[ { "category": "AllMetrics", "enabled": true, "retentionPolicy": { "enabled": false, "days": 0 } } ]'
Verwenden Sie die folgenden Befehle, um Anwendungen für
cart-service
,order-service
,payment-service
,catalog-service
undfrontend
zu erstellen:az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name cart-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name order-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name payment-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name catalog-service \ --service ${SERVICE_NAME} az spring app create \ --resource-group ${RESOURCE_GROUP} \ --name frontend \ --service ${SERVICE_NAME}
Externe Konfiguration mit Anwendungskonfigurationsdienst
Führen Sie die folgenden Schritte aus, um den Anwendungskonfigurationsdienst zu konfigurieren.
Verwenden Sie den folgenden Befehl, um ein Konfigurationsrepository für den Anwendungskonfigurationsdienst zu erstellen:
az spring application-configuration-service git repo add \ --resource-group ${RESOURCE_GROUP} \ --name acme-fitness-store-config \ --service ${SERVICE_NAME} \ --label main \ --patterns "catalog/default,catalog/key-vault,identity/default,identity/key-vault,payment/default" \ --uri "https://github.com/Azure-Samples/acme-fitness-store-config"
Verwenden Sie die folgenden Befehle, um Anwendungen an den Anwendungskonfigurationsdienst zu binden:
az spring application-configuration-service bind \ --resource-group ${RESOURCE_GROUP} \ --app payment-service \ --service ${SERVICE_NAME} az spring application-configuration-service bind \ --resource-group ${RESOURCE_GROUP} \ --app catalog-service \ --service ${SERVICE_NAME}
Aktivieren der Dienstregistrierung und -ermittlung
Verwenden Sie zum Aktivieren der Dienstregistrierung und -ermittlung die folgenden Befehle, um Anwendungen an die Dienstregistrierung zu binden:
az spring service-registry bind \
--resource-group ${RESOURCE_GROUP} \
--app payment-service \
--service ${SERVICE_NAME}
az spring service-registry bind \
--resource-group ${RESOURCE_GROUP} \
--app catalog-service \
--service ${SERVICE_NAME}
Bereitstellen von Polyglot-Anwendungen mit dem Tanzu Build Service
Führen Sie die folgenden Schritte aus, um die Anwendungen bereitzustellen und zu erstellen: Stellen Sie für diese Schritte sicher, dass Sie sich im Terminal im Projektordner befinden, bevor Sie Befehle ausführen.
Verwenden Sie den folgenden Befehl, um einen benutzerdefinierten Generator in Tanzu Build Service zu erstellen:
az spring build-service builder create \ --resource-group ${RESOURCE_GROUP} \ --name quickstart-builder \ --service ${SERVICE_NAME} \ --builder-file azure-spring-apps-enterprise/resources/json/tbs/builder.json
Verwenden Sie den folgenden Befehl, um den Zahlungsdienst zu erstellen und bereitzustellen:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name payment-service \ --service ${SERVICE_NAME} \ --config-file-pattern payment/default \ --source-path apps/acme-payment \ --build-env BP_JVM_VERSION=17
Verwenden Sie den folgenden Befehl, um den Katalogdienst zu erstellen und bereitzustellen:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name catalog-service \ --service ${SERVICE_NAME} \ --config-file-pattern catalog/default \ --source-path apps/acme-catalog \ --build-env BP_JVM_VERSION=17
Verwenden Sie den folgenden Befehl, um den Auftragsdienst zu erstellen und bereitzustellen:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name order-service \ --service ${SERVICE_NAME} \ --builder quickstart-builder \ --source-path apps/acme-order
Verwenden Sie den folgenden Befehl, um den Einkaufskorbdienst zu erstellen und bereitzustellen:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name cart-service \ --service ${SERVICE_NAME} \ --builder quickstart-builder \ --env "CART_PORT=8080" \ --source-path apps/acme-cart
Verwenden Sie den folgenden Befehl, um die Frontend-Anwendung zu erstellen und bereitzustellen:
az spring app deploy \ --resource-group ${RESOURCE_GROUP} \ --name frontend \ --service ${SERVICE_NAME} \ --source-path apps/acme-shopping
Tipp
Zum Beheben von Problemen bei der Bereitstellung können Sie den folgenden Befehl verwenden, um Protokollstreaming in Echtzeit zu erhalten, wenn die App ausgeführt wird: az spring app logs --name <app name> --follow
.
Weiterleiten von Anforderungen an Apps mit Spring Cloud Gateway
Führen Sie die folgenden Schritte aus, um das Spring Cloud Gateway zu konfigurieren und Routen zu Anwendungen zu konfigurieren.
Verwenden Sie den folgenden Befehl, um dem Spring Cloud Gateway einen Endpunkt zuzuweisen:
az spring gateway update \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --assign-endpoint true
Verwenden Sie die folgenden Befehle, um die Informationen der Spring Cloud Gateway-API zu konfigurieren:
export GATEWAY_URL=$(az spring gateway show \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --query properties.url \ --output tsv) az spring gateway update \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --api-description "Fitness Store API" \ --api-title "Fitness Store" \ --api-version "v1.0" \ --server-url "https://${GATEWAY_URL}" \ --allowed-origins "*"
Verwenden Sie den folgenden Befehl, um Routen für den Einkaufswagendienst zu erstellen:
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name cart-routes \ --service ${SERVICE_NAME} \ --app-name cart-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/cart-service.json
Verwenden Sie den folgenden Befehl, um Routen für den Auftragsdienst zu erstellen:
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name order-routes \ --service ${SERVICE_NAME} \ --app-name order-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/order-service.json
Verwenden Sie den folgenden Befehl, um Routen für den Katalogdienst zu erstellen:
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name catalog-routes \ --service ${SERVICE_NAME} \ --app-name catalog-service \ --routes-file azure-spring-apps-enterprise/resources/json/routes/catalog-service.json
Verwenden Sie den folgenden Befehl, um Routen für das Frontend zu erstellen:
az spring gateway route-config create \ --resource-group ${RESOURCE_GROUP} \ --name frontend-routes \ --service ${SERVICE_NAME} \ --app-name frontend \ --routes-file azure-spring-apps-enterprise/resources/json/routes/frontend.json
Verwenden Sie die folgenden Befehle, um die URL für das Spring Cloud Gateway abzurufen:
export GATEWAY_URL=$(az spring gateway show \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --query properties.url \ --output tsv) echo "https://${GATEWAY_URL}"
Sie können die Ausgabe-URL in einem Browser öffnen, um die bereitgestellte Anwendung zu erkunden.
Durchsuchen und Testen von APIs mit API-Portal
Führen Sie die folgenden Schritte aus, um das API-Portal zu konfigurieren.
Verwenden Sie den folgenden Befehl, um dem API-Portal einen Endpunkt zuzuweisen:
az spring api-portal update \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --assign-endpoint true
Verwenden Sie die folgenden Befehle, um die URL für das API-Portal abzurufen:
export PORTAL_URL=$(az spring api-portal show \ --resource-group ${RESOURCE_GROUP} \ --service ${SERVICE_NAME} \ --query properties.url \ --output tsv) echo "https://${PORTAL_URL}"
Sie können die Ausgabe-URL in einem Browser öffnen, um die Anwendungs-APIs zu erkunden.
Bereinigen von Ressourcen
Falls Sie mit weiteren Schnellstartanleitungen und Tutorials fortfahren möchten, sollten Sie die Ressourcen nicht bereinigen. Wenn Sie die Ressourcen nicht mehr benötigen, löschen Sie die Ressourcengruppe. Dadurch werden die Ressourcen in der Ressourcengruppe gelöscht. Wenn Sie die Ressourcengruppe mithilfe der Azure CLI löschen möchten, verwenden Sie die folgenden Befehle:
echo "Enter the Resource Group name:" &&
read resourceGroupName &&
az group delete --name $resourceGroupName &&
echo "Press [ENTER] to continue ..."
Nächste Schritte
Nachdem Sie Ihre App erfolgreich erstellt und bereitgestellt haben, fahren Sie mit einem der folgenden optionalen Schnellstarts fort:
- Konfigurieren von einmaligem Anmelden
- Integrieren von Azure Database for PostgreSQL und Azure Cache for Redis
- Laden von Anwendungsgeheimnissen mithilfe von Key Vault
- End-to-End-Überwachung von Anwendungen
- Festlegen von Grenzwerten für Anforderungsraten
- Automatisieren von Bereitstellungen
- Integrieren von Azure OpenAI