Mengembangkan API data menggunakan Azure Web App untuk Kontainer

Selesai

Mengembangkan API data menggunakan Azure Web App for Containers menawarkan solusi yang kuat dan dapat diskalakan untuk aplikasi modern. Dengan menggunakan kekuatan kontainer dan layanan terkelola Azure, pengembang dapat membangun, menyebarkan, dan mengelola API dengan mudah, memastikan performa dan keandalan. Pendekatan ini tidak hanya menyederhanakan proses pengembangan tetapi juga meningkatkan portabilitas dan skalabilitas aplikasi, menjadikannya pilihan yang ideal untuk lanskap perangkat lunak modern saat ini.

Menjelajahi manfaat menggunakan Aplikasi Web untuk Kontainer

  • Portabilitas: Kontainer merangkum aplikasi dan dependensinya, memastikannya berjalan secara konsisten di berbagai lingkungan. Ini menghilangkan masalah "ini berfungsi pada komputer saya" , membuat penyebaran ke berbagai platform tanpa hambatan.

  • Skalabilitas: Azure Web App for Containers memungkinkan penskalaan otomatis berdasarkan permintaan. Ini berarti API data Anda dapat menangani peningkatan beban tanpa intervensi manual, memastikan ketersediaan dan performa tinggi.

  • Manajemen yang disederhanakan: Azure mengelola infrastruktur yang mendasarinya, termasuk patching OS, penyeimbangan beban, dan provisi kapasitas. Hal ini memungkinkan pengembang untuk fokus menulis kode daripada mengelola server.

Membangun API data menggunakan Azure Web App untuk Kontainer

Untuk membuat API data menggunakan Azure Web App for Containers, Anda perlu membuat aplikasi kontainer dengan gambar DAB, menetapkan izin yang diperlukan, menyiapkan Dockerfile, dan memperbarui aplikasi dengan gambar dan kredensial baru. Terakhir, ambil nama domain dan uji API.

Sebelum memulai, pastikan Anda memiliki langganan Azure, grup sumber daya, dan akses ke Azure Cloud Shell.

Membuat aplikasi kontainer

Anda dapat membuat Azure Container Apps dengan langkah-langkah berikut.

  1. Gunakan az containerapp env create untuk membuat lingkungan aplikasi kontainer Azure baru.

    az containerapp env create \ 
      --resource-group $RESOURCE_GROUP_NAME \
      --name $CONTAINER_ENV_NAME \
      --logs-destination none \
      --location $LOCATION
    
  2. az containerapp create Gunakan perintah untuk membuat aplikasi kontainer baru menggunakan gambar kontainer MCR.MICROSOFT.COM/AZURE-DATABASES/DATA-API-BUILDER 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
    

Anda kemudian bisa mendapatkan pengidentifikasi utama identitas terkelola menggunakan az identity show.

Tetapkan izin

Tetapkan izin identitas terkelola yang ditetapkan sistem untuk membaca data dari Azure SQL dan membaca dan menulis ke Azure Container Registry.

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

Buat instans Azure Container Registry

Untuk membuat instans Azure Container Registry baru, jalankan perintah berikut.

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

Membangun dan menyebarkan gambar kontainer

  1. Untuk tahap build, gunakan gambar kontainer mcr.microsoft.com/dotnet/sdk .

  2. Instal DAB CLI.

    RUN dotnet tool install Microsoft.DataApiBuilder
    
  3. Buat file konfigurasi untuk koneksi Azure SQL Database Anda ke database sumber dengan menjalankan RUN dotnet tool run dab -- init.

  4. Buat entitas untuk dipetakan ke tabel di database sumber.

    RUN dotnet tool run dab -- add Address --source "SalesLT.Address" --permissions "anonymous:read"
    
  5. Salin file konfigurasi ke gambar kontainer mcr.microsoft.com/azure-databases/data-api-builder akhir.

  6. Buat gambar sebagai tugas registri kontainer Azure dengan menjalankan az acr build untuk membangun gambar Anda.

  7. Konfigurasikan aplikasi kontainer untuk menggunakan registri kontainer.

    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. Buat rahasia dengan string koneksi Azure SQL.

    az containerapp secret set \
      --name <container-app-name> \
      --resource-group <resource-group-name> \
      --secrets "SQLConnectionString=<your-sql-connection-string>"
    
  9. Perbarui aplikasi kontainer dengan gambar kontainer kustom baru dan string koneksi.

    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. Ambil nama domain yang sepenuhnya memenuhi syarat dari aplikasi kontainer.

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

Langkah-langkah ini memperbarui aplikasi kontainer Azure dengan gambar dan kredensial kontainer kustom baru, dan mengambil nama domain yang sepenuhnya memenuhi syarat dari aplikasi kontainer.

Terakhir, navigasikan ke URL dan uji API untuk memastikan semuanya berfungsi dengan benar.

Catatan

Untuk langkah-langkah terperinci tentang cara menyebarkan penyusun API Data ke Azure Container Apps dengan Azure CLI, lihat Tutorial: Menyebarkan pembangun API Data ke Azure Container Apps dengan Azure CLI.