Mengembangkan API data menggunakan Azure Web App untuk Kontainer
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.
Gunakan
az containerapp env createuntuk membuat lingkungan aplikasi kontainer Azure baru.az containerapp env create \ --resource-group $RESOURCE_GROUP_NAME \ --name $CONTAINER_ENV_NAME \ --logs-destination none \ --location $LOCATIONaz containerapp createGunakan 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
Untuk tahap build, gunakan gambar kontainer mcr.microsoft.com/dotnet/sdk .
Instal DAB CLI.
RUN dotnet tool install Microsoft.DataApiBuilderBuat file konfigurasi untuk koneksi Azure SQL Database Anda ke database sumber dengan menjalankan
RUN dotnet tool run dab -- init.Buat entitas untuk dipetakan ke tabel di database sumber.
RUN dotnet tool run dab -- add Address --source "SalesLT.Address" --permissions "anonymous:read"Salin file konfigurasi ke gambar kontainer mcr.microsoft.com/azure-databases/data-api-builder akhir.
Buat gambar sebagai tugas registri kontainer Azure dengan menjalankan
az acr builduntuk membangun gambar Anda.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>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>"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>"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.