Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
V této příručce se dozvíte, jak nasadit tvůrce rozhraní DATA API (DAB) do Azure App Service pomocí modelu nasazení založeného na kódu, aniž byste museli vytvářet nebo spravovat image kontejnerů. App Service poskytuje integrovanou podporu protokolu TLS, vlastních domén, škálování, monitorování a ověřování Microsoft Entra.
Tip
Pokud vaše prostředí používá kontejnery, přečtěte si místo toho Deploy k Azure Container Apps nebo Deploy na Azure Kubernetes Service.
Předpoklady
- Účet Azure s aktivním předplatným. Vytvořte si bezplatný účet.
- Rozhraní příkazového řádku pro tvorbu API dat. Nainstalujte rozhraní příkazového řádku.
- Azure CLI. Nainstalujte Azure CLI.
- .NET 8 nebo novější místně nainstalované.
- Existující podporovaná databáze adresovatelná z Azure.
Sestavení konfiguračního souboru
Vytvořte konfigurační soubor DAB pro připojení k existující databázi.
Vytvořte na místním počítači prázdný adresář pro uložení konfiguračního souboru a artefaktů nasazení.
Inicializace nového základního konfiguračního souboru pomocí
dab init.@env()Pomocí funkce můžete odkazovat naDATABASE_CONNECTION_STRINGproměnnou prostředí, aby se přihlašovací údaje neukládaly do konfiguračního souboru.dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"Important
Nahraďte
<database-type>podporovaným typem databáze, napříkladmssql,postgresql,mysqlnebocosmosdb_nosql. Některé typy databází vyžadují při inicializaci další nastavení konfigurace.Přidejte do konfigurace aspoň jednu entitu databáze.
dab addPomocí příkazu nakonfigurujte entitu. Opakujtedab addtolikrát, kolikrát potřebujete pro své entity.dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"Otevřete a zkontrolujte obsah souboru dab-config.json . Ověřte, že:
-
data-source.connection-stringPoužívá@env('DATABASE_CONNECTION_STRING') - Vaše entity a oprávnění jsou správné.
Important
Nezakládejte doslovné připojovací řetězce nebo hesla v
dab-config.json. Použijte funkci@env(), aby se hodnoty vyhodnotily z proměnných prostředí za běhu aplikace.-
Vytvoření manifestu místního nástroje
Použijte místní manifest nástroje .NET, aby balíček nasazení zahrnoval DAB jako závislost projektu. Tento přístup se vyhne spoléhat na globálně nainstalovaný nástroj ve službě App Service.
V adresáři projektu vytvořte manifest místního nástroje .NET.
dotnet new tool-manifestNainstalujte tvůrce rozhraní Data API jako místní nástroj.
dotnet tool install microsoft.dataapibuilder --prereleaseOvěřte, že manifest existuje na adrese
.config/dotnet-tools.json.Note
Příznak
--prereleasenainstaluje nejnovější předběžnou verzi tvůrce rozhraní Data API. Místo toho odeberte příznak pro instalaci nejnovější stabilní verze.
Místní testování
Před nasazením do Azure potvrďte spuštění modulu runtime a fungování koncových bodů.
Nastavte připojovací řetězec jako místní proměnnou prostředí.
$env:DATABASE_CONNECTION_STRING = "<your-connection-string>"Spusťte runtime DAB lokálně.
dab startOtestujte koncový bod REST tak, že přejdete do uživatelského rozhraní Swaggeru nebo provedete požadavek na
/api/<entity-name>.Otestujte koncový bod GraphQL na adrese
/graphql.Po ověření všech koncových bodů zastavte modul runtime.
Vytvoření prostředků služby App Service
Vytvořte Azure prostředky potřebné k hostování DAB ve službě App Service.
Vytvořte novou skupinu prostředků. Tuto skupinu prostředků použijete pro všechny nové prostředky v této příručce.
az group create \ --name <resource-group-name> \ --location <location>Tip
Zvažte pojmenování skupiny prostředků msdocs-dab-appservice.
Vytvořte plán služby App Service.
az appservice plan create \ --name <plan-name> \ --resource-group <resource-group-name> \ --sku B1 \ --is-linuxNote
Tato příručka používá úroveň B1 (Basic) v Linuxu.
Vytvořte webovou aplikaci pomocí modulu runtime .NET 8.
az webapp create \ --name <app-name> \ --resource-group <resource-group-name> \ --plan <plan-name> \ --runtime "DOTNETCORE:8.0"Tip
Ověřte dostupné moduly runtime pro váš plán pomocí
az webapp list-runtimes --os linux.
Konfigurace nastavení služby App Service
Nakonfigurujte proměnné prostředí a spouštěcí příkaz, který app Service potřebuje ke spuštění DAB.
Nakonfigurujte zprostředkovatele ověřování pro Službu App Service. Toto nastavení určuje, že DAB má důvěřovat integrovanému ověřování služby App Service, známému jako Easy Auth, pro informace o identitě.
dab configure --runtime.host.authentication.provider AppServiceNastavte řetězec pro připojení k databázi jako nastavení aplikace služby App Service.
az webapp config appsettings set \ --name <app-name> \ --resource-group <resource-group-name> \ --settings DATABASE_CONNECTION_STRING="<your-connection-string>"Tip
Použijte připojovací řetězec, který neobsahuje tajné kódy. Místo toho ke správě přístupu mezi vaší databází a službou App Service používejte spravované identity a ověřování Microsoft Entra. Další informace najdete v tématu Služby Azure, které používají spravované identity.
Vytvořte spouštěcí skript, který obnoví manifest místního nástroje a spustí DAB. Vytvořte soubor s názvem
startup.shv adresáři projektu.#!/bin/sh dotnet tool restore dotnet tool run dab startImportant
Ujistěte se, že
startup.shpoužívá konce řádků LF (Unix), nikoli CRLF. Windows textové editory mohou ve výchozím nastavení ukládat s CRLF, což způsobí selhání skriptu na hostiteli služby Linux App Service.Nastavte spouštěcí příkaz ve službě App Service.
az webapp config set \ --name <app-name> \ --resource-group <resource-group-name> \ --startup-file "startup.sh"
Nasazení do služby App Service
Zabalte soubory projektu a nasaďte je do služby App Service pomocí nasazení ZIP.
Vytvořte balíček pro nasazení obsahující soubory projektu. Minimálně uveďte:
dab-config.json.config/dotnet-tools.jsonstartup.sh
Compress-Archive -Path dab-config.json, .config, startup.sh -DestinationPath deploy.zip -ForceImportant
Soubor ZIP musí obsahovat soubory na kořenové úrovni. Nezazipujte nadřazenou složku, která obsahuje soubory. Kořen archivu by měl přímo obsahovat
dab-config.json,.config/astartup.sh.Nasaďte balíček ZIP do služby App Service.
az webapp deploy \ --resource-group <resource-group-name> \ --name <app-name> \ --src-path deploy.zip \ --type zip
Ověření nasazení
Po nasazení ověřte, že se DAB úspěšně spustí ve službě App Service.
Otevřete adresu URL služby App Service.
https://<app-name>.azurewebsites.netZkontrolujte koncový bod stavu.
https://<app-name>.azurewebsites.net/healthOtestujte koncové body REST a GraphQL pomocí stejných cest entit, které jste testovali místně. Nasazená aplikace používá stejný
dab-config.json, takže chování koncového bodu by mělo odpovídat vašemu lokálnímu runtime.Pokud některý koncový bod vrátí neočekávanou chybu, povolte protokolování aplikace a zkontrolujte protokoly.
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>
Konfigurace ověřování (volitelné)
Chraňte koncový bod služby App Service pomocí Microsoft Entra ID pro použití v produkčním prostředí.
Podrobný postup najdete v tématu Konfigurace ověřování pomocí služby App Service.
Important
AppService Poskytovatel ověřování v dab-config.json důvěřuje hlavičkám vloženým ověřováním služby App Service. Ujistěte se, že je při použití tohoto zprostředkovatele v produkčním prostředí povolené ověřování služby App Service. Další informace najdete v tématu Snadné ověřování (App Service).
Note
Ověřování služby App Service chrání přístup do koncového bodu. Oprávnění entity DAB stále řídí, jaké operace modul runtime umožňuje. Pokud chcete mít přístup na základě role, aktualizujte oprávnění entity tak, aby místo toho používala určité role anonymous:*.
Vyčistěte zdroje
Pokud už ukázkovou aplikaci nebo prostředky nepotřebujete, odeberte odpovídající nasazení a všechny prostředky.
az group delete \
--name <resource-group-name> \
--yes \
--no-wait