Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu kılavuzda, kapsayıcı görüntülerini oluşturmadan veya yönetmeden kod tabanlı dağıtım modeli kullanarak Azure App Service için Veri API oluşturucusu 'nu (DAB) nasıl dağıtabileceğiniz gösterilmektedir. App Service TLS, özel etki alanları, ölçeklendirme, izleme ve Microsoft Entra kimlik doğrulaması için yerleşik destek sağlar.
Tip
Ortamınızda kapsayıcılar kullanılıyorsa bkz. Deploy to Azure Container Apps veya Deploy to Azure Kubernetes Service.
Prerequisites
- Aktif bir aboneliğe sahip bir Azure hesabı. Ücretsiz bir hesap oluşturun.
- Veri API'si oluşturucu CLI. CLI'yi yükleyin.
- Azure CLI. Azure CLI'yi yükleyin.
- .NET 8 veya üzeri yerel olarak yüklenir.
- Azure'dan adreslenebilen mevcut desteklenen veritabanı.
Yapılandırma dosyasını oluşturma
Mevcut veritabanınıza bağlanmak için bir DAB yapılandırma dosyası oluşturun.
Yapılandırma dosyasını ve dağıtım yapıtlarını depolamak için yerel makinenizde boş bir dizin oluşturun.
kullanarak
dab inityeni bir temel yapılandırma dosyası başlatın.@env()işlevini, kimlik bilgilerinin yapılandırma dosyasında depolanmasını önlemek içinDATABASE_CONNECTION_STRINGortam değişkenine başvurmak amacıyla kullanın.dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"Important
öğesini, , , veya gibi desteklenen bir veritabanı türüyle değiştirin. Bazı veritabanı türleri başlatma için ek yapılandırma ayarları gerektirir. Yapılandırmaya en az bir veritabanı varlığı ekleyin.
dab addBir varlığı yapılandırmak için komutunu kullanın. Gerektiği kadar çok varlıklarınız içindab addparçasını tekrarlayın.dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"dab-config.json dosyasının içeriğini açın ve gözden geçirin. Aşağıdakileri doğrulayın:
-
data-source.connection-stringkullanır@env('DATABASE_CONNECTION_STRING') - Varlıklarınız ve izinleriniz doğru
Important
Sabit bağlantı dizelerini veya gizli anahtarları
dab-config.jsoniçerisine gömmeyin.@env()işlevini kullanarak değerlerin çalışma zamanında ortam değişkenlerinden çözümlenmesini sağlayın.-
Yerel araç bildirimi oluşturma
Dağıtım paketinin proje bağımlılığı olarak DAB içermesi için yerel bir .NET araç bildirimi kullanın. Bu yaklaşım, App Service içinde global bir şekilde yüklenmiş olan bir araca güvenmekten kaçınıyor.
Proje dizininizde bir .NET yerel araç bildirimi oluşturun.
dotnet new tool-manifestData API builder'ı yerel bir araç olarak yükleyin.
dotnet tool install microsoft.dataapibuilder --prereleaseManifesto'nun
.config/dotnet-tools.jsonkonumunda mevcut olduğunu doğrulayın.Note
--prereleasebayrağı en son Veri API Yapı Aracı ön sürümünü yükler. Bunun yerine en son kararlı sürümü yüklemek için bayrağı devre dışı bırakın.
Yerel olarak test et
Azure dağıtmadan önce çalışma zamanının başladığını ve uç noktalarınızın çalıştığını onaylayın.
bağlantı dizesi yerel ortam değişkeni olarak ayarlayın.
$env:DATABASE_CONNECTION_STRING = "<your-connection-string>"DAB çalışma zamanını yerel olarak başlatın.
dab startSwagger kullanıcı arabirimine giderek veya
/api/<entity-name>'a istekte bulunarak REST uç noktasını test edin.GraphQL uç noktasını
/graphqladresinde test edin.Tüm uç noktaları doğruladıktan sonra çalışma zamanını durdurun.
App Service kaynaklarını oluşturma
App Service'te DAB barındırmak için gereken Azure kaynaklarını oluşturun.
Yeni bir kaynak grubu oluşturun. Bu kılavuzdaki tüm yeni kaynaklar için bu kaynak grubunu kullanırsınız.
az group create \ --name <resource-group-name> \ --location <location>Tip
msdocs-dab-appservice kaynak grubunu adlandırmayı göz önünde bulundurun.
App Service planı oluşturun.
az appservice plan create \ --name <plan-name> \ --resource-group <resource-group-name> \ --sku B1 \ --is-linuxNote
Bu kılavuz, Linux'ta B1 (Temel) katmanını kullanır.
.NET 8 çalışma zamanı ile web uygulamasını oluşturun.
az webapp create \ --name <app-name> \ --resource-group <resource-group-name> \ --plan <plan-name> \ --runtime "DOTNETCORE:8.0"Tip
ile
az webapp list-runtimes --os linuxplanınız için kullanılabilir çalışma zamanlarını doğrulayın.
App Service ayarlarını yapılandırma
App Service'in DAB çalıştırmak için ihtiyaç duyduğu ortam değişkenlerini ve başlangıç komutunu yapılandırın.
App Service için kimlik doğrulama sağlayıcısını yapılandırın. Bu ayar DAB'ye kimlik bilgileri için App Service'in yerleşik kimlik doğrulamasına (Kolay Kimlik Doğrulaması) güvenmesini söyler.
dab configure --runtime.host.authentication.provider AppServiceVeritabanı bağlantı dizesini bir App Service uygulama ayarı olarak ayarlayın.
az webapp config appsettings set \ --name <app-name> \ --resource-group <resource-group-name> \ --settings DATABASE_CONNECTION_STRING="<your-connection-string>"Tip
Sırlar içermeyen bir bağlantı dizesi kullanın. Bunun yerine, veritabanınızla App Service arasındaki erişimi yönetmek için yönetilen kimlikleri ve Microsoft Entra kimlik doğrulamasını kullanın. Daha fazla bilgi için bkz. Yönetilen kimlikleri kullanan Azure hizmetleri.
Yerel araç bildirimini geri yükleyen ve DAB'yi başlatan bir başlangıç betiği oluşturun. Proje dizininizde adlı
startup.shbir dosya oluşturun.#!/bin/sh dotnet tool restore dotnet tool run dab startImportant
startup.sh'nin CRLF yerine LF (Unix) satır sonları kullandığından emin olun. Windows düzenleyicileri varsayılan olarak CRLF ile kaydedebilir ve bu da betiğin Linux App Service ana bilgisayarında başarısız olmasına neden olur.App Service'te başlangıç komutunu ayarlayın.
az webapp config set \ --name <app-name> \ --resource-group <resource-group-name> \ --startup-file "startup.sh"
App Service’e dağıtım yapın
Proje dosyalarınızı paketleyin ve ZIP dağıtımı kullanarak App Service'e dağıtın.
Proje dosyalarınızı içeren bir dağıtım paketi oluşturun. En azından şunları ekleyin:
dab-config.json.config/dotnet-tools.jsonstartup.sh
Compress-Archive -Path dab-config.json, .config, startup.sh -DestinationPath deploy.zip -ForceImportant
ZIP kök düzeyinde dosya içermelidir. Dosyaları içeren bir ebeveyn klasörü sıkıştırmayın. Arşiv kökü
dab-config.json,.config/vestartup.sh'yi doğrudan içermelidir.ZIP paketini App Service'e dağıtın.
az webapp deploy \ --resource-group <resource-group-name> \ --name <app-name> \ --src-path deploy.zip \ --type zip
Dağıtımı doğrulayın.
Dağıtımdan sonra DAB'nin App Service'te başarıyla başlatıldığını onaylayın.
App Service URL'sini açın.
https://<app-name>.azurewebsites.netSağlık uç noktasını kontrol edin.
https://<app-name>.azurewebsites.net/healthYerel olarak test ettiğiniz varlık yollarını kullanarak REST ve GraphQL uç noktalarını test edin. Dağıtılan uygulama aynı
dab-config.jsonkullanır, bu nedenle uç nokta davranışı yerel çalışma zamanınızla eşleşmelidir.Herhangi bir uç nokta beklenmeyen bir hata döndürürse uygulama günlüğünü etkinleştirin ve günlükleri gözden geçirin.
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>
Kimlik doğrulamayı yapılandırma (isteğe bağlı)
Üretim kullanımı için Microsoft Entra ID ile App Service uç noktanızı koruyun.
Ayrıntılı adımlar için bkz. App Service kimlik doğrulamasını yapılandırma.
Important
içindeki AppService kimlik doğrulama sağlayıcısı dab-config.json , App Service kimlik doğrulaması tarafından eklenen üst bilgilere güvenir. Bu sağlayıcı üretimde kullanılırken App Service kimlik doğrulamasının etkinleştirildiğinden emin olun. Daha fazla bilgi için bkz. Kolay Kimlik Doğrulaması (App Service).
Note
App Service kimlik doğrulaması uç noktanıza girişi korur. DAB varlık izinleri, çalışma zamanının hangi işlemlere izin verdiğine karar verir. Rol tabanlı erişim istiyorsanız, varlık izinlerinizi anonymous:* yerine belirli rolleri kullanacak şekilde güncelleyin.
Kaynakları temizle
Örnek uygulamaya veya kaynaklara artık ihtiyacınız kalmadığında, ilgili dağıtımı ve tüm kaynakları kaldırın.
az group delete \
--name <resource-group-name> \
--yes \
--no-wait