Entwickeln einer Daten-API mit Azure Web-App für Container
Die Entwicklung einer Daten-API mit Azure Web-App für Container bietet eine robuste und skalierbare Lösung für moderne Anwendungen. Mithilfe der Leistungsfähigkeit von Containern und verwalteten Azure-Diensten können Entwickler APIs mühelos erstellen, bereitstellen und verwalten, um Leistung und Zuverlässigkeit sicherzustellen. Dieser Ansatz vereinfacht nicht nur den Entwicklungsprozess, sondern verbessert auch die Portabilität und Skalierbarkeit von Anwendungen und macht es zu einer idealen Wahl für die heutige moderne Softwarelandschaft.
Entdecken Sie die Vorteile der Verwendung von Web-App für Container
Portabilität: Container kapseln die Anwendung und ihre Abhängigkeiten, um sicherzustellen, dass sie in verschiedenen Umgebungen konsistent ausgeführt wird. Dadurch wird das Problem „das funktioniert auf meinem Computer” beseitigt, wodurch die Bereitstellung auf verschiedenen Plattformen nahtlos erfolgt.
Skalierbarkeit: Azure Web-App für Container ermöglicht die automatische bedarfsabhängige Skalierung. Das bedeutet, dass Ihre Daten-API ohne manuelle Eingriffe eine erhöhte Last verarbeiten kann, um hohe Verfügbarkeit und Leistung sicherzustellen.
Vereinfachte Verwaltung: Azure verwaltet die zugrunde liegende Infrastruktur, einschließlich Betriebssystempatching, Lastenausgleich und Kapazitätsbereitstellung. Auf diese Weise können Entwickler sich auf das Schreiben von Code konzentrieren, anstatt Server verwalten zu müssen.
Erstellen einer Daten-API mit Azure Web-App für Container
Um eine Daten-API mit Azure Web-App für Container zu erstellen, müssen Sie eine Container-App mit dem DAB-Image erstellen, erforderliche Berechtigungen zuweisen, eine Dockerfile einrichten und die App mit dem neuen Image und den Anmeldeinformationen aktualisieren. Rufen Sie schließlich den Domänennamen ab, und testen Sie die API.
Bevor Sie beginnen, stellen Sie sicher, dass Sie über ein Azure-Abonnement, eine Ressourcengruppe und Zugriff auf Azure Cloud Shell verfügen.
Erstellen einer Container-App
Mit den folgenden Schritten können Sie eine Azure Container Apps-Instanz erstellen.
Verwenden Sie
az containerapp env create, um eine Azure Container Apps-Umgebung zu erstellen.az containerapp env create \ --resource-group $RESOURCE_GROUP_NAME \ --name $CONTAINER_ENV_NAME \ --logs-destination none \ --location $LOCATIONVerwenden Sie den Befehl
az containerapp create, um eine neue Container-App mithilfe des DAB-Containerimages mcr.microsoft.com/azure-databases/data-api-builder zu erstellen.az containerapp create \ --resource-group $RESOURCE_GROUP_NAME \ --environment $CONTAINER_ENV_NAME \ --name $API_CONTAINER_NAME \ --image "mcr.microsoft.com/azure-databases/data-api-builder" \ --ingress "external" \ --target-port "5000" \ --system-assigned
Anschließend können Sie den Prinzipalbezeichner der verwalteten Identität mithilfe von az identity show abrufen.
Zuweisen von Berechtigungen
Weisen Sie die Berechtigungen für die systemseitig zugewiesene verwaltete Identität zu, um Daten aus Azure SQL zu lesen und in Azure Container Registry zu lesen und zu schreiben.
az role assignment create \
--assignee $CURRENT_USER_PRINCIPAL_ID \
--role $ROLE_ID \
--scope $RESOURCE_GROUP_ID
Erstellen einer Azure Container Registry-Instanz
Um eine neue Azure Container Registry-Instanz zu erstellen, führen Sie den folgenden Befehl aus.
az acr create \
--resource-group $RESOURCE_GROUP_NAME \
--name <CONTAINER_REGISTRY_NAME> \
--sku "Standard" \
--location <LOCATION> \
--admin-enabled false
Erstellen und Bereitstellen eines Containerimages
Verwenden Sie für die Buildphase das Containerimage mcr.microsoft.com/dotnet/sdk.
Installieren Sie die DAB CLI.
RUN dotnet tool install Microsoft.DataApiBuilderErstellen Sie eine Konfigurationsdatei für Ihre Azure SQL-Datenbankverbindung mit der Quelldatenbank, indem Sie
RUN dotnet tool run dab -- initausführen.Erstellen Sie Entitäten, die den Tabellen in der Quelldatenbank zugeordnet werden sollen.
RUN dotnet tool run dab -- add Address --source "SalesLT.Address" --permissions "anonymous:read"Kopieren Sie die Konfigurationsdatei in das endgültige Containerimage mcr.microsoft.com/azure-databases/data-api-builder.
Erstellen Sie das Image als Azure Container Registry-Aufgabe, indem Sie
az acr buildausführen, um Ihr Image zu erstellen.Konfigurieren Sie die Container-App für die Verwendung der Containerregistrierung.
az containerapp registry set \ --name <container-app-name> \ --resource-group <resource-group-name> \ --server <container-registry-login-server> \ --username <container-registry-username> \ --password <container-registry-password>Erstellen Sie einen geheimen Schlüssel mit der Azure SQL-Verbindungszeichenfolge.
az containerapp secret set \ --name <container-app-name> \ --resource-group <resource-group-name> \ --secrets "SQLConnectionString=<your-sql-connection-string>"Aktualisieren Sie die Container-App mit dem neuen benutzerdefinierten Containerimage und der Verbindungszeichenfolge.
az containerapp update \ --name <container-app-name> \ --resource-group <resource-group-name> \ --image <container-registry-login-server>/<image-name>:<tag> \ --secrets "SQLConnectionString=<your-sql-connection-string>"Rufen Sie den vollqualifizierten Domänennamen der Container-App ab.
az containerapp show \ --name <container-app-name> \ --resource-group <resource-group-name> \ --query "properties.configuration.ingress.fqdn" \ --output "tsv"
Mit diesen Schritten wird die Azure-Container-App mit dem neuen benutzerdefinierten Containerimage und den Anmeldeinformationen aktualisiert und der vollqualifizierte Domänenname der Container-App wird abgerufen.
Navigieren Sie schließlich zur URL, und testen Sie die API, um sicherzustellen, dass alles ordnungsgemäß funktioniert.
Hinweis
Ausführliche Schritte zum Bereitstellen des Daten-API-Generators für Azure Container Apps mit Azure CLI finden Sie im Tutorial: Bereitstellen des Daten-API-Generators in Azure Container Apps mit Azure CLI.