Développer une API de données à l’aide d’Azure Web App pour conteneurs
Le développement d’une API de données à l’aide d’Azure Web App pour conteneurs offre une solution robuste et évolutive pour les applications modernes. En s’appuyant sur la puissance des conteneurs et des services managés d’Azure, les développeurs peuvent créer, déployer et gérer des API performantes et fiables en toute simplicité. Cette approche est un choix idéal pour le paysage logiciel moderne, car elle permet non seulement de simplifier le processus de développement, mais aussi d’améliorer la portabilité et la scalabilité des applications.
Découvrir les avantages liés à l’utilisation de Web App pour conteneurs
Portabilité : les conteneurs encapsulent l’application et ses dépendances, garantissant ainsi une exécution cohérente dans différents environnements. Cela permet d’éliminer les problèmes de type « ça marche sur ma machine » et de rendre le déploiement sur différentes plateformes fluide.
Extensibilité : Azure Web App pour conteneurs autorise la mise à l’échelle automatique en fonction de la demande. Cela signifie que votre API de données peut gérer une charge accrue sans intervention manuelle, garantissant ainsi un haut niveau de disponibilité et de performance.
Gestion simplifiée : Azure gère l’infrastructure sous-jacente, notamment la mise à jour corrective du système d’exploitation, l’équilibrage de charge et l’approvisionnement des capacités. Les développeurs peuvent ainsi se concentrer sur l’écriture de code plutôt que sur la gestion des serveurs.
Générer une API de données à l’aide d’Azure Web App pour conteneurs
Pour générer une API de données à l’aide d’Azure Web App pour conteneurs, vous devez créer une application conteneur avec l’image DAB, attribuer les autorisations nécessaires, configurer un fichier Dockerfile et mettre à jour l’application avec la nouvelle image et les informations d’identification. Enfin, vous récupérez le nom de domaine et testez l’API.
Avant de commencer, vérifiez que vous disposez d’un abonnement Azure, d’un groupe de ressources et d’un accès à Azure Cloud Shell.
Créer une application de conteneur
Vous pouvez créer une instance Azure Container Apps en effectuant les étapes suivantes.
Utilisez
az containerapp env createpour créer un environnement Azure Container Apps.az containerapp env create \ --resource-group $RESOURCE_GROUP_NAME \ --name $CONTAINER_ENV_NAME \ --logs-destination none \ --location $LOCATIONUtilisez la commande
az containerapp createpour créer une application conteneur à l’aide de l’image conteneur DAB mcr.microsoft.com/azure-databases/data-api-builder.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
Vous pouvez ensuite obtenir l’identificateur principal de l’identité managée avec az identity show.
Attribuer des autorisations
Attribuez les autorisations de l’identité managée affectée par le système pour lire des données à partir d’Azure SQL et lire et écrire dans Azure Container Registry.
az role assignment create \
--assignee $CURRENT_USER_PRINCIPAL_ID \
--role $ROLE_ID \
--scope $RESOURCE_GROUP_ID
Créer une instance Azure Container Registry
Pour créer une instance Azure Container Registry, exécutez la commande suivante.
az acr create \
--resource-group $RESOURCE_GROUP_NAME \
--name <CONTAINER_REGISTRY_NAME> \
--sku "Standard" \
--location <LOCATION> \
--admin-enabled false
Générer et déployer une image conteneur
Pour la phase de génération, utilisez l’image conteneur mcr.microsoft.com/dotnet/sdk.
Installez DAB CLI.
RUN dotnet tool install Microsoft.DataApiBuilderCréez un fichier de configuration pour votre connexion Azure SQL Database à la base de données source en exécutant
RUN dotnet tool run dab -- init.Créez des entités à mapper aux tables de la base de données source.
RUN dotnet tool run dab -- add Address --source "SalesLT.Address" --permissions "anonymous:read"Copiez le fichier de configuration dans l’image conteneur mcr.microsoft.com/azure-databases/data-api-builder finale.
Générez l’image en tant que tâche Azure Container Registry en exécutant
az acr buildpour générer votre image.Configurez l’application conteneur pour qu’elle utilise le registre de conteneurs.
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>Créez un secret avec la chaîne de connexion Azure SQL.
az containerapp secret set \ --name <container-app-name> \ --resource-group <resource-group-name> \ --secrets "SQLConnectionString=<your-sql-connection-string>"Mettez à jour l’application conteneur avec la nouvelle image conteneur personnalisée et la chaîne de connexion.
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>"Récupérez le nom de domaine complet de l’application conteneur.
az containerapp show \ --name <container-app-name> \ --resource-group <resource-group-name> \ --query "properties.configuration.ingress.fqdn" \ --output "tsv"
Ces étapes mettent à jour l’application conteneur Azure avec la nouvelle image conteneur personnalisée et les informations d’identification, et récupèrent le nom de domaine complet de l’application conteneur.
Enfin, accédez à l’URL et testez l’API pour vous assurer que tout fonctionne correctement.
Remarque
Pour obtenir des étapes détaillées sur le déploiement du générateur d’API de données sur Azure Container Apps avec Azure CLI, consultez Tutoriel : Déployer le générateur d’API de données sur Azure Container Apps avec Azure CLI.