Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Panduan ini menunjukkan kepada Anda cara menyebarkan penyusun API Data (DAB) untuk Azure App Service menggunakan model penyebaran berbasis kode, tanpa membangun atau mengelola gambar kontainer. App Service menyediakan dukungan bawaan untuk TLS, domain kustom, penskalaan, pemantauan, dan autentikasi Microsoft Entra.
Petunjuk / Saran
Jika lingkungan Anda menggunakan kontainer, lihat Deploy untuk Azure Container Apps atau Deploy untuk Azure Kubernetes Service sebagai gantinya.
Prasyarat
- Sebuah akun Azure dengan langganan aktif. Buat akun secara gratis.
- CLI pembangun API Data. PasangCLI .
- Azure CLI. Instal Azure CLI.
- .NET 8 atau yang lebih baru diinstal secara lokal.
- Database yang sudah ada dan didukung dapat diakses dari Azure.
Membangun file konfigurasi
Buat file konfigurasi DAB untuk menyambungkan ke database Anda yang sudah ada.
Buat direktori kosong di komputer lokal Anda untuk menyimpan file konfigurasi dan artefak penyebaran.
Inisialisasi file konfigurasi dasar baru menggunakan
dab init. Gunakan fungsi@env()untuk mereferensikan variabel lingkunganDATABASE_CONNECTION_STRINGagar kredensial tidak disimpan di dalam file konfigurasi.dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"Important
Ganti
<database-type>dengan jenis database yang didukung, sepertimssql, ,postgresql,mysqlataucosmosdb_nosql. Beberapa jenis database memerlukan pengaturan konfigurasi tambahan pada inisialisasi.Tambahkan setidaknya satu entitas database ke konfigurasi. Gunakan perintah
dab adduntuk mengonfigurasi entitas. Ulangidab addsebanyak yang Anda butuhkan untuk entitas Anda.dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"Buka dan tinjau konten file dab-config.json. Verifikasi bahwa:
-
data-source.connection-stringmenggunakan@env('DATABASE_CONNECTION_STRING') - Entitas dan izin Anda sudah benar
Important
Jangan sematkan string koneksi literal atau rahasia di
dab-config.json. Gunakan fungsi@env()agar nilai diambil dari variabel lingkungan saat waktu berjalan.-
Membuat manifes alat lokal
Gunakan manifes alat .NET lokal sehingga paket penyebaran menyertakan DAB sebagai dependensi proyek. Pendekatan ini menghindari mengandalkan alat yang diinstal secara global di dalam App Service.
Buat manifes alat lokal .NET di direktori proyek Anda.
dotnet new tool-manifestInstal penyusun API Data sebagai alat lokal.
dotnet tool install microsoft.dataapibuilder --prereleasePastikan manifes ada di
.config/dotnet-tools.json.Note
Parameter
--prereleasemenginstal versi prarilis terbaru Data API Builder. Hapus bendera untuk menginstal rilis stabil terbaru sebagai gantinya.
Uji secara lokal
Sebelum menyebarkan ke Azure, pastikan runtime telah dimulai dan titik akhir Anda berjalan dengan baik.
Atur string koneksi sebagai variabel lingkungan lokal.
$env:DATABASE_CONNECTION_STRING = "<your-connection-string>"Mulai runtime DAB secara lokal.
dab startUji titik akhir REST dengan menavigasi ke antarmuka pengguna Swagger atau membuat permintaan ke
/api/<entity-name>.Uji titik akhir GraphQL di
/graphql.Hentikan runtime setelah memverifikasi semua titik akhir.
Membuat sumber daya App Service
Buat sumber daya Azure yang diperlukan untuk menghosting DAB di App Service.
Buat grup sumber daya baru. Anda menggunakan grup sumber daya ini untuk semua sumber daya baru dalam panduan ini.
az group create \ --name <resource-group-name> \ --location <location>Petunjuk / Saran
Pertimbangkan untuk memberi nama grup sumber daya msdocs-dab-appservice.
Buat paket App Service.
az appservice plan create \ --name <plan-name> \ --resource-group <resource-group-name> \ --sku B1 \ --is-linuxNote
Panduan ini menggunakan tingkat B1 (Dasar) di Linux.
Buat aplikasi web dengan runtime .NET 8.
az webapp create \ --name <app-name> \ --resource-group <resource-group-name> \ --plan <plan-name> \ --runtime "DOTNETCORE:8.0"Petunjuk / Saran
Validasi runtime yang tersedia untuk paket Anda dengan
az webapp list-runtimes --os linux.
Mengonfigurasi pengaturan Layanan Aplikasi
Konfigurasikan variabel lingkungan dan perintah startup yang diperlukan App Service untuk menjalankan DAB.
Konfigurasikan penyedia autentikasi untuk App Service. Pengaturan ini memberi tahu DAB untuk mempercayai autentikasi bawaan App Service (Easy Auth) untuk informasi identitas.
dab configure --runtime.host.authentication.provider AppServiceTetapkan string koneksi database sebagai pengaturan aplikasi App Service.
az webapp config appsettings set \ --name <app-name> \ --resource-group <resource-group-name> \ --settings DATABASE_CONNECTION_STRING="<your-connection-string>"Petunjuk / Saran
Gunakan string koneksi yang tidak menyertakan rahasia. Sebagai gantinya, gunakan identitas terkelola dan autentikasi Microsoft Entra untuk mengelola akses antara database Anda dan App Service. Untuk informasi selengkapnya, lihat Layanan Azure yang menggunakan identitas terkelola.
Buat skrip startup yang memulihkan manifes alat lokal dan memulai DAB. Buat file bernama
startup.shdi direktori proyek Anda.#!/bin/sh dotnet tool restore dotnet tool run dab startImportant
Pastikan
startup.shmenggunakan akhiran baris LF (Unix), bukan CRLF. Windows editor dapat menyimpan dengan CRLF secara default, yang menyebabkan skrip gagal pada host Linux App Service.Atur perintah startup di App Service.
az webapp config set \ --name <app-name> \ --resource-group <resource-group-name> \ --startup-file "startup.sh"
Terapkan ke App Service
Kemas file proyek Anda dan sebarkan ke App Service menggunakan penyebaran ZIP.
Buat paket penyebaran yang berisi file proyek Anda. Minimal, meliputi:
dab-config.json.config/dotnet-tools.jsonstartup.sh
Compress-Archive -Path dab-config.json, .config, startup.sh -DestinationPath deploy.zip -ForceImportant
ZIP harus berisi file di tingkat akar. Jangan zip folder induk yang berisi file. Akar arsip harus mencakup
dab-config.json,.config/, danstartup.shsecara langsung.Sebarkan paket ZIP ke App Service.
az webapp deploy \ --resource-group <resource-group-name> \ --name <app-name> \ --src-path deploy.zip \ --type zip
Verifikasi proses penyebaran
Setelah penyebaran, konfirmasikan bahwa DAB berhasil dimulai di App Service.
Buka URL Layanan Aplikasi.
https://<app-name>.azurewebsites.netPeriksa titik akhir kesehatan.
https://<app-name>.azurewebsites.net/healthUji titik akhir REST dan GraphQL menggunakan jalur entitas yang sama dengan yang Anda uji secara lokal. Aplikasi yang disebarkan menggunakan
dab-config.jsonyang sama, sehingga perilaku endpoint harus sesuai dengan runtime lokal Anda.Jika ada titik akhir yang mengembalikan kesalahan yang tidak terduga, aktifkan pengelogan aplikasi dan tinjau log.
az webapp log config \ --name <app-name> \ --resource-group <resource-group-name> \ --application-logging filesystem \ --level information az webapp log tail \ --name <app-name> \ --resource-group <resource-group-name>
Mengonfigurasi autentikasi (opsional)
Lindungi titik akhir App Service Anda dengan Microsoft Entra ID untuk penggunaan produksi.
Untuk langkah-langkah mendetail, lihat Mengonfigurasi autentikasi App Service.
Important
Penyedia AppService autentikasi di dab-config.json mempercayai header yang dimasukkan oleh autentikasi App Service. Pastikan autentikasi App Service diaktifkan saat menggunakan penyedia ini dalam produksi. Untuk informasi selengkapnya, lihat Easy Auth (App Service).
Note
Autentikasi App Service melindungi akses masuk ke endpoint Anda. Izin entitas DAB tetap mengatur operasi yang diizinkan oleh runtime. Jika Anda menginginkan akses berbasis peran, perbarui izin entitas Anda untuk menggunakan peran tertentu alih-alih anonymous:*.
Membersihkan sumber daya
Saat Anda tidak lagi memerlukan aplikasi contoh atau sumber daya, hapus penerapan dan semua sumber daya yang terkait.
az group delete \
--name <resource-group-name> \
--yes \
--no-wait
Konten terkait
- Autentikasi Easy Auth (App Service)
- Referensi file konfigurasi
- Konfigurasi host dan autentikasi runtime
- Menyebarkan ke Azure Container Apps
- Terintegrasi dengan Application Insights