Tutorial: Bereitstellen einer ASP.NET Core- und Azure SQL-Datenbank-App in Azure App Service

In diesem Tutorial erfahren Sie, wie Sie eine ASP.NET Core-Web-App in Azure App Service bereitstellen und eine Verbindung mit einer Azure SQL-Datenbank-Instanz herstellen. Azure App Service ist ein hochgradig skalierbarer Webhostingdienst mit Self-Patching, der Apps problemlos unter Windows oder Linux bereitstellen kann. Obwohl in diesem Tutorial eine ASP.NET Core 6.0-App verwendet wird, ist der Prozess für andere Versionen von ASP.NET Core und ASP.NET Framework identisch.

In diesem Artikel wird davon ausgegangen, dass Sie mit .NET vertraut sind und diese Komponente lokal installiert ist. Sie benötigen außerdem ein Azure-Konto mit einem aktiven Abonnement. Falls Sie kein Azure-Konto besitzen, können Sie kostenlos eines erstellen.

1. Einrichten der Beispielanwendung

Laden Sie für dieses Tutorial das Beispielprojekt aus dem Repository https://github.com/Azure-Samples/msdocs-app-service-sqldb-dotnetcore herunter, oder klonen Sie es mithilfe des folgenden Git-Befehls:

git clone https://github.com/Azure-Samples/msdocs-app-service-sqldb-dotnetcore.git
cd msdocs-app-service-sqldb-dotnetcore

This is an architecture diagram about how the solution works in Azure

2. Erstellen der App Service-Instanz

Erstellen Sie zunächst die Azure App Service-Instanz zum Hosten der bereitgestellten Web-App. Abhängig von Ihrem idealen Workflow gibt es verschiedene Möglichkeiten, eine App Service-Instanz zu erstellen.

Melden Sie sich beim Azure-Portal an, und führen Sie die folgenden Schritte aus, um Ihre Azure App Service-Ressourcen zu erstellen:

Anweisungen Screenshot
Führen Sie im Azure-Portal die folgenden Schritte aus:
  1. Geben Sie in der Suchleiste oben im Azure-Portal App Service ein, und wählen Sie das in den Ergebnissen angezeigte Element App Services aus.
A screenshot showing how to use the search box in the top tool bar to find App Services in Azure.
Wählen Sie auf der Seite App Services die Option + Erstellen aus. A screenshot showing the create button on the App Services page used to create a new web app.
Füllen Sie auf der Seite Web-App erstellen das Formular wie folgt aus.
  1. Ressourcengruppe → Klicken Sie auf Neu erstellen, und geben Sie den Namen msdocs-core-sql ein.
  2. Name → Geben Sie einen eindeutigen Namen Ihrer Wahl ein (z. B. coreSqlXYZ, wobei „XYZ“ Buchstaben oder Zahlen Ihrer Wahl sind). Dieser App Service-Name muss in Azure eindeutig sein.
  3. VeröffentlichenCode
  4. Runtimestapel.NET 6.0
  5. BetriebssystemWindows
  6. Region → Eine beliebige Azure-Region in Ihrer Nähe.
  7. App Service-Plan → Klicken Sie auf Neu erstellen, und geben Sie Ihrem App Service-Plan den Namen MyAppServicePlan.
  8. Klicken Sie unter den Einstellungen SKU und Größe auf Größe ändern, um die Spezifikationen für den App Service-Plan auszuwählen.
A screenshot showing the form to fill out to create a web app in Azure.
Der App Service-Plan steuert, welche Ressourcen (CPU/Arbeitsspeicher) Ihrer App zur Verfügung stehen und wie hoch die Kosten für diese Ressourcen sind. Weitere Informationen zur Auswahl eines App Service-Plans finden Sie im Artikel App Service-Plan – Übersicht.
Wählen Sie für dieses Beispiel oben auf dem Bildschirm Dev/Test und dann den Plan F1 (Free) aus.
Wenn Sie fertig sind, wählen Sie Übernehmen aus, um Ihre Änderungen zu übernehmen.
A screenshot of the Spec Picker dialog that lets you select the App Service plan to use for your web app.
Klicken Sie auf der Seite Web-App erstellen auf die Schaltfläche Überprüfen und erstellen unten auf dem Bildschirm.

Klicken Sie auf der Seite Überprüfen auf Erstellen, um Ihre App Service-Instanz zu erstellen. Die Bereitstellung dieser neuen App Service-Instanz kann einige Minuten dauern.
A screenshot of the main web app create page showing the button to select on to create your web app in Azure.

3. Erstellen der Datenbank

Erstellen Sie als Nächstes die Azure SQL-Datenbank-Instanz, die die Daten in der App verwaltet.

Melden Sie sich beim Azure-Portal an, und führen Sie die folgenden Schritte aus, um Ihre Azure App Service-Ressourcen zu erstellen:

Anweisungen Screenshot
Führen Sie im Azure-Portal die folgenden Schritte aus:
  1. Geben Sie in der Suchleiste oben im Azure-Portal SQL ein. Wählen Sie SQL Server aus den Suchergebnissen aus.
A screenshot showing how to use the search box in the top tool bar to find Azure SQL in Azure.
Klicken Sie auf der Seite „SQL Server“ auf + Erstellen. A screenshot showing the create button on the SQL Servers page used to create a new database server.
Füllen Sie das Formular auf der Seite „Neuen SQL-Datenbank-Server erstellen“ wie folgt aus.
  1. Ressourcengruppe: Wählen Sie die erstellte Gruppe ms-docs-core-sql aus.

  2. Servername: Geben Sie einen global eindeutigen Namen wie coredbserverXYZ ein, wobei „XYZ“ zufällige Zahlen sind.

  3. Standort: Wählen Sie eine Region in Ihrer Nähe aus.

  4. Authentifizierungsmethode: Wählen Sie SQL-Authentifizierung verwenden aus.

  5. Serveradministratoranmeldung: Geben Sie einen Benutzernamen Ihrer Wahl ein.

  6. Kennwort: Geben Sie ein Kennwort ein, das Sie sich merken können.

A screenshot showing the form to fill out to create a SQL Server in Azure.
Nachdem Ihre SQL Server-Instanz bereitgestellt wurde, geben Sie in der Suchleiste oben im Azure-Portal SQL ein. Wählen Sie SQL-Datenbanken aus den Suchergebnissen aus. A screenshot showing how to use the search box to find the SQL databases item in Azure.
Klicken Sie auf der Seite SQL-Datenbanken auf + Erstellen. A screenshot showing the create button in on the SQL databases page.
Füllen Sie das Formular auf der Seite Datenbank erstellen wie folgt aus.
  1. Ressourcengruppe: Wählen Sie die zuvor erstellte Gruppe ms-docs-core-sql aus.

  2. Datenbankname: Geben Sie den Wert coreDb ein.

  3. Server: Wählen Sie die zuvor erstellte Komponente coredbserverXYZ aus.

  4. Übernehmen Sie die restlichen Standardeinstellungen, und klicken Sie dann auf Überprüfen und erstellen.

  5. Klicken Sie auf die Schaltfläche Erstellen, sobald Azure Ihre Einstellungen überprüft hat. Die Bereitstellung der Datenbank kann einige Minuten dauern.

A screenshot showing the form to fill out to create a new SQL database in Azure.

4. Bereitstellen in App Service

Sie können die .NET-App jetzt in App Service bereitstellen.

Anweisungen Screenshot
Klicken Sie im Projektmappen-Explorer von Visual Studio mit der rechten Maustaste auf den Projektknoten DotNetCoreSqlDb und dann auf „Veröffentlichen“. Ein Dialogfeld für den Veröffentlichungsworkflow wird geöffnet. Wählen Sie Azure als Bereitstellungsziel aus, und klicken Sie dann auf Weiter. A screenshot showing the publish dialog in Visual Studio.
Wählen Sie Azure App Service (Windows) als Host Ihrer App aus, und klicken Sie dann auf Weiter. A screenshot showing how to select the deployment target in Azure.
Wenn Sie noch nicht bei einem Azure-Konto angemeldet sind, werden Sie dazu aufgefordert. Klicken Sie auf Anmelden, um die Azure-Anmeldeseite zu öffnen, und geben Sie dann Ihre Kontoanmeldeinformationen ein. Falls Sie noch nicht über ein Konto verfügen, können Sie auch auf Konto erstellen klicken, um ein neues Konto einzurichten. A screenshot showing the sign-in to Azure dialog in Visual Studio.
Stellen Sie beim App Service-Schritt sicher, dass Ihr Abonnement ausgewählt ist, und suchen Sie dann die App Service-Instanz, die Sie im Auswahlfeld App Service-Instanzen erstellt haben. Wählen Sie diese App Service-Instanz aus, und klicken Sie dann auf Fertig stellen. A screenshot showing the dialog to select the App Service instance to deploy to in Visual Studio.
Klicken Sie in der Zusammenfassungsansicht des Veröffentlichungsprofils auf Veröffentlichen, um Ihre App in Azure bereitzustellen. Dieser Vorgang kann einige Minuten dauern, aber sobald er abgeschlossen ist, wird Ihre App erfolgreich in Azure veröffentlicht. A screenshot showing the publishing profile summary dialog in Visual Studio and the location of the publish button used to publish the app.

5. Verbinden der App mit der Datenbank

Stellen Sie als Nächstes mithilfe einer Verbindungszeichenfolge eine Verbindung zwischen der in Ihrer App Service-Instanz gehosteten App und Ihrer Datenbank her. Sie können den Dienstconnector verwenden, um die Verbindung herzustellen.

Melden Sie sich beim Azure-Portal an, und führen Sie die Schritte zum Erstellen Ihrer Azure App Service-Ressourcen aus:

Anweisungen Screenshot
Führen Sie im Azure-Portal die folgenden Schritte aus:
  1. Geben Sie den Namen Ihrer App in das Suchfeld oben auf dem Bildschirm ein.
  2. Wählen Sie in den Suchergebnissen die App aus, um zu ihr zu navigieren.
A screenshot showing how to locate the app service in the Azure portal.
  1. Wählen Sie im linken Navigationsbereich Dienstconnector aus.
  2. Klicken Sie auf Erstellen.
A screenshot showing how to locate Service Connector from the Azure portal.
Auf der Seite Verbindung erstellen
  1. wählen Sie die folgenden Einstellungen aus, oder geben Sie sie ein:

    • Diensttyp: Wählen Sie SQL-Datenbank aus.
    • SQL Server: Geben Sie Ihren SQL-Datenbank-Servernamen ein.
    • SQL-Datenbank: Wählen Sie coreDB aus.
  2. Wählen Sie Weiter: Authentifizierung aus.

A screenshot showing how to create a connection to the SQL database for the app in the Azure portal.
Unter der Registerkarte Authentifizierung:
  1. Geben Sie den Benutzernamen und das Kennwort Ihrer SQL-Datenbank-Instanz an.
  2. Wählen Sie Weiter: Netzwerk und dann Weiter: Überprüfen + erstellen aus.
A screenshot showing how to enter username and password of SQL Database during service connection in the Azure portal.
Nachdem die Überprüfung abgeschlossen ist, wählen Sie Erstellen aus, um die Dienstverbindung zu erstellen. Es kann 1 Minute dauern, bis der Vorgang abgeschlossen ist. Klicken Sie auf die Schaltfläche Aktualisieren, um die SQL-Datenbankverbindung anzuzeigen. A screenshot showing how to review and create the connection in the Azure portal.
Auf der Seite Dienstconnector:
  1. Erweitern Sie die Verbindung, indem Sie neben der Verbindung > auswählen. AZURE_SQL_CONNECTIONSTRING ist die für Sie generierte Verbindungszeichenfolge.
  2. Wählen Sie Ausgeblendeter Wert. Klicken Sie, um den Wert anzuzeigen aus, und kopieren Sie die Verbindungszeichenfolge für später.
Ihre App kann jetzt eine Verbindung mit der SQL-Datenbank herstellen. Als Nächstes generieren Sie unter Verwendung von Entity Framework Core das Schema für die Daten.
A screenshot showing how to get the connection string for a service connector in the Azure portal.

6. Generieren des Datenbankschemas

Zum Generieren des Datenbankschemas muss auf dem SQL-Datenbankserver eine Firewallregel eingerichtet werden. Diese Regel ermöglicht Ihrem lokalen Computer, eine Verbindung mit Azure herzustellen. Für diesen Schritt wird die IP-Adresse des lokalen Computers benötigt. Wie Sie diese IP-Adresse finden, erfahren Sie hier.

Führen Sie im Azure-Portal die folgenden Schritte aus:

Anweisungen Screenshot
Führen Sie im Azure-Portal die folgenden Schritte aus:
  1. Suchen Sie in der Suchleiste oben nach dem zuvor erstellten Server coredbserverXYZ, und wählen Sie ihn aus den Ergebnissen aus.
A screenshot showing how to use the search box in the top tool bar to find database server for the app in the Azure portal.
  1. Klicken Sie im linken Navigationsbereich auf Firewalls und virtuelle Netzwerke.
  2. Geben Sie im Abschnitt „Firewallregeln“ den neuen Regelnamen „MyLocalAccess“ ein. Fügen Sie in die Felder Start-IP-Adresse und End-IP-Adresse die zuvor kopierte IP-Adresse ein.
  3. Klicken Sie am oberen Bildschirmrand auf Speichern, um Ihre Änderungen zu speichern.
A screenshot showing how to allow access to the database server from your workstation's IP address in the Azure portal.

Aktualisieren Sie als Nächstes die Datei appsettings.json im Beispielprojekt mit der Verbindungszeichenfolge „Azure SQL-Datenbank“. Dadurch können Migrationen lokal für Ihre in Azure gehostete Datenbank ausgeführt werden. Ersetzen Sie die Platzhalter für Benutzername und Kennwort durch die Werte, die Sie beim Erstellen Ihrer Datenbank verwendet haben.

"AZURE_SQL_CONNECTIONSTRING": "Data Source=<your-server-name>.database.windows.net,1433;Initial Catalog=coreDb;User ID=<username>;Password=<password>"

Aktualisieren Sie als Nächstes die Datei Startup.cs im Beispielprojekt, indem Sie den vorhandenen Verbindungszeichenfolgennamen MyDbConnection auf AZURE_SQL_CONNECTIONSTRING aktualisieren:

services.AddDbContext<MyDatabaseContext>(options =>
        options.UseSqlServer(Configuration.GetConnectionString("AZURE_SQL_CONNECTIONSTRING")));

Führen Sie abschließend die folgenden Befehle aus, um die erforderlichen CLI-Tools für Entity Framework Core zu installieren. Erstellen Sie eine erste Datenbankmigrationsdatei, und wenden Sie die folgenden Änderungen an, um die Datenbank zu aktualisieren:

dotnet tool install -g dotnet-ef \
dotnet ef migrations add InitialCreate \
dotnet ef database update

Nach Abschluss der Migration wird das korrekte Schema erstellt.

Wenn Sie die Fehlermeldung Client with IP address xxx.xxx.xxx.xxx is not allowed to access the server erhalten, bedeutet das, dass die in die Azure-Firewallregel eingegebene IP-Adresse falsch ist. Um dieses Problem zu beheben, aktualisieren Sie die Azure-Firewallregel mit der in der Fehlermeldung angegebenen IP-Adresse.

7. Durchsuchen der bereitgestellten Anwendung und des Dateiverzeichnisses

Wechseln Sie im Browser zurück zu Ihrer Web-App. Sie können jederzeit zu Ihrer Website zurückkehren, indem Sie im oberen Bereich der App Service-Übersichtsseite den Link Durchsuchen auswählen. Wenn Sie die Seite aktualisieren, können Sie jetzt To-Do-Elemente erstellen und auf der Startseite anzeigen. Herzlichen Glückwunsch!

A screenshot showing the app successfully deployed to Azure.

Als Nächstes sehen Sie sich die bereitgestellten Dateien Ihrer App mithilfe eines Tools namens „Kudu“ genauer an.

Azure App Service bietet eine webbasierte Diagnosekonsole namens „Kudu“. Mit Kudu können Sie die Serverhostingumgebung untersuchen, in Azure bereitgestellte Dateien anzeigen, den Bereitstellungsverlauf überprüfen und sogar eine SSH-Sitzung für die Hostingumgebung erstellen.

Besuchen Sie eine der folgenden URLs, um Kudu zu verwenden. Sie müssen sich mit Ihren Azure-Anmeldeinformationen bei der Kudu-Website anmelden.

  • Für Apps, die in den App Service-Plänen „Free“, „Shared“, „Basic“, „Standard“ und „Premium“ bereitgestellt werden: https:/<app-name>.scm.azurewebsites.net
  • Für in isolierten Dienstplänen bereitgestellte Apps: https://<app-name>.scm.<ase-name>.p.azurewebsites.net. Über die Hauptseite in Kudu können Sie nach Informationen zur Anwendungshostingumgebung, zu App-Einstellungen und zu Bereitstellungen suchen sowie die Dateien im Verzeichnis „wwwroot“ durchsuchen.

A screenshot showing the Kudu admin page.

8. Konfigurieren und Streamen von Anwendungsprotokollen

Azure App Service erfasst Nachrichten, die an der Konsole protokolliert werden, um Sie bei der Diagnose von Problemen mit Ihrer Anwendung zu unterstützen. Die Beispiel-App gibt Konsolenprotokollmeldungen an jedem ihrer Endpunkte aus, um diese Funktion zu veranschaulichen. Der Inhalt der App Service-Diagnoseprotokolle kann über das Azure-Portal, in Visual Studio Code oder mithilfe der Azure-Befehlszeilenschnittstelle angezeigt werden.

Anweisungen Screenshot
Als Erstes müssen Sie das Streamen von Protokollen in Azure App Service aktivieren. Navigieren Sie zur Seite für die App Service-Instanz im Azure-Portal.

  1. Wählen Sie im Menü auf der linken Seite unter der Überschrift Überwachung die Option App Service-Protokolle aus.
  2. Ändern Sie die Eigenschaft Anwendungsprotokollierung (Dateisystem) in Ein.
  3. Geben Sie für die Protokolle einen Aufbewahrungszeitraum von 30 Tagen ein.
  4. Wählen Sie Speichern, um Ihre Änderungen zu speichern.
A screenshot showing how to enable logging for the web app in the Azure portal.
Wählen Sie im Menü im Abschnitt „Überwachung“ das Element Protokolldatenstrom aus. Aktualisieren Sie die Homepage in der App, oder versuchen Sie mit anderen Anforderungen, einige Protokollmeldungen zu generieren.

In der Ausgabe werden alle von Ihrer App generierten Protokollmeldungen und alle vom Dienst generierten Nachrichten angezeigt.
A screenshot showing application logs in the Azure portal.

Bereinigen von Ressourcen

Wenn Sie fertig sind, können Sie alle Ressourcen aus Azure löschen, indem Sie die Ressourcengruppe für die Anwendung löschen. Dadurch werden alle in der Gruppe enthaltenen Ressourcen gelöscht.

Führen Sie zum Löschen einer Ressourcengruppe die folgenden Schritte aus, während Sie beim Azure-Portal angemeldet sind:

Anweisungen Screenshot
  1. Geben Sie im Azure-Portal in der Suchleiste den Namen der Ressourcengruppe ein.
  2. Wählen Sie den Namen der Ressourcengruppe in den Suchergebnissen aus, um zu dieser zu navigieren.
A screenshot showing how to search for and navigate to a resource group in the Azure portal.
Wählen Sie oben auf der Seite die Schaltfläche Ressourcengruppe löschen aus. A screenshot showing the location of the Delete Resource Group button in the Azure portal.
Geben Sie im Bestätigungsdialogfeld den Namen der Ressourcengruppe ein, um den Löschvorgang zu bestätigen. Wählen Sie unten auf der Seite die Schaltfläche Löschen aus, um die Ressourcengruppe zu löschen. A screenshot of the confirmation dialog for deleting a resource group in the Azure portal.

Nächste Schritte

Fahren Sie mit dem nächsten Tutorial fort, um zu erfahren, wie Sie Ihrer App einen benutzerdefinierten DNS-Namen zuordnen.

Oder sehen Sie sich weitere Ressourcen an: