Dezvoltarea unui API de date utilizând Azure Web App pentru containere

Finalizat

Dezvoltarea unui API de date utilizând Azure Web App for Containers oferă o soluție robustă și scalabilă pentru aplicațiile moderne. Folosind puterea containerelor și a serviciilor gestionate Azure, dezvoltatorii pot construi, implementa și gestiona API-uri cu ușurință, asigurând performanță și fiabilitate. Această abordare nu numai că simplifică procesul de dezvoltare, dar îmbunătățește și portabilitatea și scalabilitatea aplicațiilor, făcându-l o alegere ideală pentru peisajul software modern de astăzi.

Explorați beneficiile utilizării aplicației web pentru containere

  • Portabilitate: Containerele încapsulează aplicația și dependențele sale, asigurându-se că rulează în mod consecvent în diferite medii. Acest lucru elimină problema "funcționează pe mașina mea", făcând implementarea pe diverse platforme fără probleme.

  • Scalabilitate: Azure Web App for Containers permite scalarea automată în funcție de cerere. Acest lucru înseamnă că API-ul de date poate gestiona o sarcină crescută fără intervenție manuală, asigurând disponibilitate și performanță ridicate.

  • Gestionare simplificată: Azure gestionează infrastructura de bază, inclusiv corecțiile sistemului de operare, echilibrarea încărcării și asigurarea accesului la capacitate. Acest lucru permite dezvoltatorilor să se concentreze pe scrierea codului, mai degrabă decât pe gestionarea serverelor.

Construiți un API de date utilizând Azure Web App for Containers

Pentru a construi un API de date utilizând Azure Web App for Containers, trebuie să creați o aplicație container cu imaginea DAB, să atribuiți permisiunile necesare, să configurați un Dockerfile și să actualizați aplicația cu noua imagine și acreditări. În cele din urmă, preluați numele domeniului și testați API-ul.

Înainte de a începe, asigurați-vă că aveți un abonament Azure, un grup de resurse și acces la Azure Cloud Shell.

Crearea unei aplicații container

Puteți crea o aplicație Azure Container cu următorii pași.

  1. Utilizați az containerapp env create pentru a crea un nou mediu de aplicații de containere Azure.

    az containerapp env create \ 
      --resource-group $RESOURCE_GROUP_NAME \
      --name $CONTAINER_ENV_NAME \
      --logs-destination none \
      --location $LOCATION
    
  2. Utilizați az containerapp create comanda pentru a crea o nouă aplicație container utilizând imaginea mcr.microsoft.com/azure-databases/data-api-builder container DAB.

    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
    

Apoi puteți obține identificatorul principal al identității gestionate utilizând az identity show.

Atribuiți permisiuni

Atribuiți permisiunile de identitate gestionată atribuite de sistem pentru a citi date din Azure SQL și pentru a citi și scrie în Azure Container Registry.

az role assignment create \
  --assignee $CURRENT_USER_PRINCIPAL_ID \
  --role $ROLE_ID \
  --scope $RESOURCE_GROUP_ID

Crearea unei instanțe Azure Container Registry

Pentru a crea o nouă instanță Azure Container Registry, rulați următoarea comandă.

az acr create \
  --resource-group $RESOURCE_GROUP_NAME \
  --name <CONTAINER_REGISTRY_NAME> \
  --sku "Standard" \
  --location <LOCATION> \
  --admin-enabled false

Construiți și implementați o imagine de container

  1. Pentru etapa de construcție, utilizați imaginea containerului mcr.microsoft.com/dotnet/sdk .

  2. Instalați DAB CLI.

    RUN dotnet tool install Microsoft.DataApiBuilder
    
  3. Creați un fișier de configurare pentru conexiunea bazei de date SQL Azure la baza de date sursă rulând RUN dotnet tool run dab -- init.

  4. Creați entități de mapat la tabelele din baza de date sursă.

    RUN dotnet tool run dab -- add Address --source "SalesLT.Address" --permissions "anonymous:read"
    
  5. Copiați fișierul de configurare în imaginea finală a containerului mcr.microsoft.com/azure-databases/data-api-builder .

  6. Construiți imaginea ca activitate de registry de containere Azure rulând pentru az acr build a vă construi imaginea.

  7. Configurați aplicația container pentru a utiliza registrul de containere.

    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>
    
  8. Creați un secret cu șirul de conexiune Azure SQL.

    az containerapp secret set \
      --name <container-app-name> \
      --resource-group <resource-group-name> \
      --secrets "SQLConnectionString=<your-sql-connection-string>"
    
  9. Actualizați aplicația container cu noua imagine de container particularizată și șirul de conexiune.

    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>"
    
  10. Preluați numele de domeniu complet calificat al aplicației container.

    az containerapp show \
      --name <container-app-name> \
      --resource-group <resource-group-name> \
      --query "properties.configuration.ingress.fqdn" \
      --output "tsv"
    

Acești pași actualizează aplicația container Azure cu noua imagine și acreditări de container particularizate și pregătesc numele de domeniu complet calificat al aplicației container.

În cele din urmă, navigați la adresa URL și testați API-ul pentru a vă asigura că totul funcționează corect.

Notă

Pentru pași detaliați despre cum să implementați generatorul de API de date în aplicațiile Azure Container cu Azure CLI, consultați Tutorial: Implementarea generatorului de API de date în aplicațiile Azure Container cu Azure CLI.