Erstellen einer Ruby- und Postgres-App in Azure App Service für Linux

Von Azure App Service wird ein hochgradig skalierbarer Webhostingdienst mit Self-Patching bereitgestellt. In diesem Tutorial wird gezeigt, wie Sie eine Ruby-App erstellen und mit einer PostgreSQL-Datenbank verbinden. Nachdem Sie diese Schritte ausgeführt haben, verfügen Sie über eine Ruby on Rails-App, die in App Service unter Linux ausgeführt wird.

Screenshot: Ruby on Rails-App-Beispiel mit dem Titel „Aufgaben“

In diesem Tutorial lernen Sie Folgendes:

  • Erstellen einer PostgreSQL-Datenbank in Azure
  • Herstellen einer Verbindung zwischen einer Ruby on Rails-App und PostgreSQL
  • Bereitstellen der Anwendung in Azure
  • Aktualisieren des Datenmodells und erneutes Bereitstellen der App
  • Streamen von Diagnoseprotokollen aus Azure
  • Verwalten der App im Azure-Portal

Wenn Sie kein Azure-Abonnement haben, erstellen Sie ein kostenloses Azure-Konto, bevor Sie beginnen.

Voraussetzungen

Für dieses Tutorial benötigen Sie Folgendes:

  • Verwenden Sie die Bash-Umgebung in Azure Cloud Shell. Weitere Informationen finden Sie unter Azure Cloud Shell-Schnellstart: Bash.

    Starten von Cloud Shell in einem neuen Fenster

  • Wenn Sie CLI-Referenzbefehle lieber lokal ausführen, installieren Sie die Azure CLI. Wenn Ihr Computer unter Windows oder macOS läuft, sollten Sie die Azure CLI in einem Docker-Container ausführen. Weitere Informationen finden Sie unter Ausführen der Azure CLI in einem Docker-Container.

    • Wenn Sie eine lokale Installation verwenden, melden Sie sich mithilfe des Befehls az login bei der Azure CLI an. Führen Sie die in Ihrem Terminal angezeigten Schritte aus, um den Authentifizierungsprozess abzuschließen. Informationen zu anderen Anmeldeoptionen finden Sie unter Anmelden mit der Azure CLI.

    • Installieren Sie die Azure CLI-Erweiterung beim ersten Einsatz, wenn Sie dazu aufgefordert werden. Weitere Informationen zu Erweiterungen finden Sie unter Verwenden von Erweiterungen mit der Azure CLI.

    • Führen Sie az version aus, um die installierte Version und die abhängigen Bibliotheken zu ermitteln. Führen Sie az upgrade aus, um das Upgrade auf die aktuelle Version durchzuführen.

Vorbereiten der lokalen Postgres-Instanz

In diesem Schritt erstellen Sie eine Datenbank auf einem lokalen Postgres-Server für die Verwendung in diesem Tutorial.

Herstellen einer Verbindung mit dem lokalen Postgres-Server

  1. Öffnen Sie das Terminalfenster, und führen Sie psql aus, um eine Verbindung mit Ihrem lokalen Postgres-Server herzustellen.

    sudo -u postgres psql
    

    Wenn die Verbindung hergestellt wurde, wird die Postgres-Datenbank ausgeführt. Ist dies nicht der Fall, stellen Sie sicher, dass die lokale Postgres-Datenbank gestartet wurde, indem Sie die Schritte unter Downloads: PostgreSQL Core Distribution ausführen.

  2. Geben Sie \q ein, um den Postgres-Client zu beenden.

  3. Erstellen Sie einen Postgres Benutzer, der Datenbanken erstellen kann. Führen Sie dazu unter Verwendung des angemeldeten Linux-Benutzernamenn den folgenden Befehl aus:

    sudo -u postgres createuser -d <signed-in-user>
    

Lokales Erstellen einer Ruby on Rails-App

In diesem Schritt rufen Sie eine Ruby on Rails-Beispielanwendung ab, konfigurieren ihre Datenbankverbindung und führen sie lokal aus.

Klonen des Beispiels

  1. Wechseln Sie im Terminalfenster mit cd in ein Arbeitsverzeichnis.

  2. Klonen Sie das Beispielrepository, und wechseln Sie zum Repositorystamm.

    git clone https://github.com/Azure-Samples/rubyrails-tasks.git
    cd rubyrails-tasks
    
  3. Stellen Sie sicher, dass der Standardbranch main ist.

    git branch -m main
    

    Tipp

    Die Änderung des Branchnamens ist für App Service nicht erforderlich. Da aber viele Repositorys ihren Standardbranch in main ändern, zeigt Ihnen dieses Tutorial auch, wie Sie ein Repository aus main bereitstellen. Weitere Informationen finden Sie unter Ändern des Bereitstellungsbranches.

  4. Installieren Sie die erforderlichen Pakete.

    bundle install --path vendor/bundle
    

Lokales Ausführen des Beispiels

  1. Führen Sie die Rails-Migrationen aus, um die von der Anwendung benötigten Tabellen zu erstellen. Im Git-Repository können Sie im Verzeichnis db/migrate sehen, welche Tabellen bei den Migrationen erstellt werden.

    rake db:create
    rake db:migrate
    
  2. Führen Sie die Anwendung aus.

    rails server
    
  3. Navigieren Sie in einem Browser zu http://localhost:3000. Fügen Sie auf der Seite einige Aufgaben hinzu.

    Erfolgreiche Verbindung zwischen Ruby on Rails und Postgres

  4. Um den Rails-Server zu beenden, geben Sie Ctrl + C im Terminal ein.

Erstellen einer Postgres-Instanz in Azure

In diesem Schritt erstellen Sie eine Postgres-Datenbank in Azure Database for PostgreSQL. Später konfigurieren Sie die Ruby on Rails-Anwendung für eine Verbindung mit dieser Datenbank.

Erstellen einer Ressourcengruppe

Eine Ressourcengruppe ist ein logischer Container, in dem Azure-Ressourcen wie Web-Apps, Datenbanken und Speicherkonten bereitgestellt und verwaltet werden. Sie können z.B. die gesamte Ressourcengruppe später in einem einfachen Schritt löschen.

Erstellen Sie in Cloud Shell mit dem Befehl az group create eine Ressourcengruppe. Das folgende Beispiel erstellt eine Ressourcengruppe mit dem Namen myResourceGroup am Standort Europa, Westen. Wenn Sie alle unterstützten Standorte für App Service unter Linux im Basic-Tarif anzeigen möchten, führen Sie den Befehl az appservice list-locations --sku B1 --linux-workers-enabled aus.

az group create --name myResourceGroup --location "West Europe"

Im Allgemeinen erstellen Sie Ressourcengruppen und Ressourcen in einer Region in Ihrer Nähe.

Nach Ausführung dieses Befehls werden die Ressourcengruppeneigenschaften in einer JSON-Ausgabe angezeigt.

Erstellen einer Postgres-Datenbankinstanz in Azure

  1. Installieren Sie mit folgendem Befehl die db-up-Erweiterung:

    az extension add --name db-up
    
  2. Erstellen Sie die Postgres-Datenbankinstanz wie im folgenden Beispiel gezeigt mit dem Befehl az postgres up in Azure. Ersetzen Sie <postgresql-name> durch einen eindeutigen Namen (der Serverendpunkt ist https://<postgresql-name>.postgres.database.azure.com). Geben Sie für <admin-username> und <admin-password > Anmeldeinformationen ein, um einen Administratorbenutzer für diese Postgres-Serverinstanz zu erstellen.

    az postgres up --resource-group myResourceGroup --location westeurope --server-name <postgresql-name> --database-name sampledb --admin-user <admin-username> --admin-password <admin-password> --ssl-enforcement Enabled
    

    Dieser Befehl kann einige Zeit in Anspruch nehmen, da er Folgendes bewirkt:

    • Er erstellt eine Ressourcengruppe namens myResourceGroup, wenn diese noch nicht vorhanden ist. Jede Azure-Ressource muss sich in einer dieser Ressourcengruppen befinden. --resource-group ist optional.
    • Er erstellt eine Postgres-Serverinstanz mit dem Administratorbenutzer.
    • Er erstellt eine sampledb-Datenbank.
    • Er ermöglicht den Zugriff über Ihre lokale IP-Adresse.
    • Er ermöglicht den Zugriff über Azure-Dienste.
    • Er erstellt einen neuen Datenbankbenutzer mit Zugriff auf die sampledb-Datenbank.

    Sie können alle Schritte separat mit anderen az postgres-Befehlen und psql ausführen, aber az postgres up führt alle in einem Schritt für Sie aus.

    Wenn der Befehl abgeschlossen ist, suchen Sie die Ausgabezeilen, die mit Ran Database Query: beginnen. Sie zeigen den Datenbankbenutzer, der für Sie erstellt wurde, mit Benutzernamen root und Kennwort Sampledb1 an. Sie werden sie später verwenden, um die Verbindung Ihrer App mit der Datenbank herzustellen.

    Tipp

    --location <location-name>: Kann auf eine beliebige Azure-Region festgelegt werden. Sie können die Regionen, die für Ihr Abonnement verfügbar sind, mit dem az account list-locations-Befehl abrufen. Legen Sie bei Produktions-Apps für Ihre Datenbank und Ihre App den gleichen Standort fest.

Herstellen einer Verbindung zwischen der App und Azure Postgres

In diesem Schritt stellen Sie eine Verbindung zwischen der Ruby on Rails-Anwendung und der Postgres-Datenbank her, die Sie in Azure Database for PostgreSQL erstellt haben.

Konfigurieren der Datenbankverbindung

Öffnen Sie im Repository die Datei config/database.yml. Ersetzen Sie am Ende der Datei die Produktionsvariablen durch den folgenden Code.

production:
  <<: *default
  host: <%= ENV['DB_HOST'] %>
  database: <%= ENV['DB_DATABASE'] %>
  username: <%= ENV['DB_USERNAME'] %>
  password: <%= ENV['DB_PASSWORD'] %>

Speichern Sie die Änderungen.

Lokales Testen der Anwendung

  1. Legen Sie im lokalen Terminal die folgenden Umgebungsvariablen fest:

    export DB_HOST=<postgres-server-name>.postgres.database.azure.com
    export DB_DATABASE=sampledb 
    export DB_USERNAME=root@<postgres-server-name>
    export DB_PASSWORD=Sampledb1
    
  2. Führen Sie die Rails-Datenbankmigrationen mit den Produktionswerten aus, die Sie soeben konfiguriert haben, um die Tabellen in Ihrer Postgres-Datenbank in Azure Database for PostgreSQL zu erstellen.

    rake db:migrate RAILS_ENV=production
    
  3. Bei Ausführung in der Produktionsumgebung benötigt die Rails-Anwendung vorkompilierte Ressourcen. Generieren Sie die erforderlichen Ressourcen mit dem folgenden Befehl:

    rake assets:precompile
    
  4. In der Rails-Produktionsumgebung werden auch geheime Schlüssel zum Verwalten der Sicherheit verwendet. Generieren Sie einen geheimen Schlüssel.

    rails secret
    
  5. Speichern Sie den geheimen Schlüssel für die jeweiligen Variablen, die von der Rails-Produktionsumgebung verwendet werden. Verwenden Sie der Einfachheit halber für beide Variablen den gleichen Schlüssel.

    export RAILS_MASTER_KEY=<output-of-rails-secret>
    export SECRET_KEY_BASE=<output-of-rails-secret>
    
  6. Aktivieren Sie die Rails-Produktionsumgebung für die Bereitstellung von JavaScript- und CSS-Dateien.

    export RAILS_SERVE_STATIC_FILES=true
    
  7. Führen Sie die Beispielanwendung in der Produktionsumgebung aus.

    rails server -e production
    
  8. Navigieren Sie zu http://localhost:3000. Wenn die Seite ohne Fehler geladen wird, stellt die Ruby on Rails-Anwendung eine Verbindung mit der Postgres-Datenbank in Azure her.

  9. Fügen Sie auf der Seite einige Aufgaben hinzu.

    Erfolgreiche Verbindung zwischen Ruby on Rails und Azure Database for PostgreSQL

  10. Um den Rails-Server zu beenden, geben Sie Ctrl + C im Terminal ein.

Committen Ihrer Änderungen

  1. Führen Sie die folgenden Git-Befehle aus, um für Ihre Änderungen einen Commit durchzuführen:

    git add .
    git commit -m "database.yml updates"
    

Ihre App kann jetzt bereitgestellt werden.

Bereitstellen in Azure

In diesem Schritt stellen Sie die mit Postgres verbundene Rails-Anwendung in Azure App Service bereit.

Konfigurieren eines Bereitstellungsbenutzers

Für die Bereitstellung in einer Azure-Web-App über FTP oder ein lokales Git kann ein Bereitstellungsbenutzer verwendet werden. Nach der Konfiguration des Bereitstellungsbenutzers können Sie ihn für alle Azure-Bereitstellungen verwenden. Der Benutzername und das Kennwort für die Bereitstellung auf Kontoebene unterscheiden sich von den Anmeldeinformationen für Ihr Azure-Abonnement.

Führen Sie zum Konfigurieren des Bereitstellungsbenutzers den Befehl az webapp deployment user set in Azure Cloud Shell aus. Ersetzen Sie <Benutzername> und <Kennwort> durch einen Benutzernamen und ein Kennwort der Bereitstellungsbenutzerin oder des Bereitstellungsbenutzers.

  • Der Benutzername muss in Azure eindeutig sein und darf bei lokalen Git-Pushes nicht das Symbol „@“ enthalten.
  • Das Kennwort muss mindestens acht Zeichen lang sein und zwei der folgenden drei Elemente enthalten: Buchstaben, Zahlen und Symbole.
az webapp deployment user set --user-name <username> --password <password>

In der JSON-Ausgabe wird das Kennwort als null angezeigt. Wenn Sie den Fehler 'Conflict'. Details: 409 erhalten, müssen Sie den Benutzernamen ändern. Wenn Sie den Fehler 'Bad Request'. Details: 400 erhalten, müssen Sie ein sichereres Kennwort verwenden.

Notieren Sie Ihren Benutzernamen und Ihr Kennwort für die Bereitstellung Ihrer Web-Apps.

Wie erstelle ich einen Plan?

Erstellen Sie in Cloud Shell mit dem Befehl az appservice plan create einen App Service-Plan.

Im folgenden Beispiel wird ein App Service-Plan namens myAppServicePlan mit dem Tarif myAppServicePlan erstellt:

az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku FREE --is-linux

Nach Erstellung des App Service-Plans zeigt die Azure-Befehlszeilenschnittstelle Informationen wie im folgenden Beispiel an:

{ 
  "freeOfferExpirationTime": null,
  "geoRegion": "West Europe",
  "hostingEnvironmentProfile": null,
  "id": "/subscriptions/0000-0000/resourceGroups/myResourceGroup/providers/Microsoft.Web/serverfarms/myAppServicePlan",
  "kind": "linux",
  "location": "West Europe",
  "maximumNumberOfWorkers": 1,
  "name": "myAppServicePlan",
  < JSON data removed for brevity. >
  "targetWorkerSizeId": 0,
  "type": "Microsoft.Web/serverfarms",
  "workerTierName": null
} 

Erstellen einer Web-App

Erstellen Sie eine Web-App im App Service-Plan .

In Cloud Shell können Sie den Befehl az webapp create verwenden. Ersetzen Sie im folgenden Beispiel <app-name> durch einen global eindeutigen App-Namen (gültige Zeichen sind a-z, 0-9 und -). Die Runtime ist auf RUBY|2.6.2 festgelegt. Führen Sie az webapp list-runtimes --os linux aus, um alle unterstützten Runtimes anzuzeigen.

az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime 'RUBY|2.6.2' --deployment-local-git

Nach Erstellung der Web-App zeigt die Azure CLI eine Ausgabe wie im folgenden Beispiel an:

Local git is configured with url of 'https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git'
{
  "availabilityState": "Normal",
  "clientAffinityEnabled": true,
  "clientCertEnabled": false,
  "cloningInfo": null,
  "containerSize": 0,
  "dailyMemoryTimeQuota": 0,
  "defaultHostName": "<app-name>.azurewebsites.net",
  "deploymentLocalGitUrl": "https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git",
  "enabled": true,
  < JSON data removed for brevity. >
}

Sie haben eine leere neue Web-App mit aktivierter Git-Bereitstellung erstellt.

Hinweis

Die URL des Git-Remotespeicherorts wird in der deploymentLocalGitUrl-Eigenschaft im Format https://<username>@<app-name>.scm.azurewebsites.net/<app-name>.git angezeigt. Speichern Sie diese URL, da Sie sie später noch benötigen.

Konfigurieren der Datenbankeinstellungen

Verwenden Sie in App Service den Befehl az webapp config appsettings set in Cloud Shell, um Umgebungsvariablen als App-Einstellungen festzulegen.

Mit dem folgenden Cloud Shell-Befehl werden die App-Einstellungen DB_HOST, DB_DATABASE, DB_USERNAME und DB_PASSWORD konfiguriert. Ersetzen Sie die Platzhalter <appname> und <postgres-server-name>.

az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DB_HOST="<postgres-server-name>.postgres.database.azure.com" DB_DATABASE="sampledb" DB_USERNAME="root@<postgres-server-name>" DB_PASSWORD="Sampledb1"

Konfigurieren der Rails-Umgebungsvariablen

  1. Generieren Sie im lokalen Terminal ein neues Geheimnis für die Rails-Produktionsumgebung in Azure.

    rails secret
    
  2. Ersetzen Sie im folgenden Cloud Shell-Befehl die beiden <output-of-rails-secret>Platzhalter durch den neuen geheimen Schlüssel, den Sie im lokalen Terminal generiert haben.

    az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings RAILS_MASTER_KEY="<output-of-rails-secret>" SECRET_KEY_BASE="<output-of-rails-secret>" RAILS_SERVE_STATIC_FILES="true" ASSETS_PRECOMPILE="true"
    

    ASSETS_PRECOMPILE="true" weist den Ruby-Standardcontainer an, bei jeder Git-Bereitstellung Ressourcen vorzukompilieren. Weitere Informationen finden Sie unter Vorkompilieren von Ressourcen und Bereitstellen von statischen Ressourcen.

Übertragen von Git an Azure mithilfe von Push

  1. Da Sie den Branch main bereitstellen, müssen Sie den Standardbereitstellungsbranch für Ihre App Service-App auf main festlegen (siehe main). Legen Sie die App-Einstellung DEPLOYMENT_BRANCH in Cloud Shell mit dem Befehl az webapp config appsettings set fest.

    az webapp config appsettings set --name <app-name> --resource-group myResourceGroup --settings DEPLOYMENT_BRANCH='main'
    
  2. Fügen Sie im lokalen Terminal Ihrem lokalen Git-Repository eine Azure-Remoteinstanz hinzu.

    git remote add azure <paste-copied-url-here>
    
  3. Führen Sie einen Pushvorgang an die Azure-Remoteinstanz durch, um die Ruby on Rails-Anwendung bereitzustellen. Sie werden zur Angabe des Kennworts aufgefordert, das Sie zuvor bei der Erstellung des Bereitstellungsbenutzers angegeben haben.

    git push azure main
    

    Während der Bereitstellung meldet Azure App Service seinen Status mit Git.

     Counting objects: 3, done.
     Delta compression using up to 8 threads.
     Compressing objects: 100% (3/3), done.
     Writing objects: 100% (3/3), 291 bytes | 0 bytes/s, done.
     Total 3 (delta 2), reused 0 (delta 0)
     remote: Updating branch 'main'.
     remote: Updating submodules.
     remote: Preparing deployment for commit id 'a5e076db9c'.
     remote: Running custom deployment command...
     remote: Running deployment command...
     ...
     < Output has been truncated for readability >
     

Navigieren zur Azure-App

Browsen Sie zu http://<app-name>.azurewebsites.net, und fügen Sie der Liste einige Aufgaben hinzu.

Screenshot: Azure-App-Beispiel mit dem Titel „Aufgaben“, das zeigt, wie der Liste Aufgaben hinzugefügt werden

Glückwunsch! Sie führen eine datengesteuerte Ruby on Rails-App in Azure App Service aus.

Lokales Aktualisieren und erneutes Bereitstellen des Modells

In diesem Schritt nehmen Sie eine einfache Änderung am task-Datenmodell und der Web-App vor und veröffentlichen das Update dann in Azure.

Für das tasks-Szenario ändern Sie die Anwendung, damit Sie eine Aufgabe als abgeschlossen kennzeichnen können.

Hinzufügen eines Spaltennamens

  1. Navigieren Sie im Terminal zum Stamm des Git-Repositorys.

  2. Generieren Sie eine neue Migration, die der Tabelle Tasks eine boolesche Spalte namens Done hinzufügt:

    rails generate migration AddDoneToTasks Done:boolean
    

    Mit diesem Befehl wird im Verzeichnis db/migrate eine neue Migrationsdatei generiert.

  3. Führen Sie im Terminal Rails-Datenbankmigrationen aus, um die Änderung in der lokalen Datenbank vorzunehmen.

    rake db:migrate
    

Aktualisieren der Anwendungslogik

  1. Öffnen Sie die Datei app/controllers/tasks_controller.rb. Suchen Sie am Ende der Datei nach der folgenden Zeile:

    params.require(:task).permit(:Description)
    
  2. Ändern Sie diese Zeile so, dass sie den neuen Parameter Done enthält.

    params.require(:task).permit(:Description, :Done)
    

Aktualisieren der Ansichten

  1. Öffnen Sie die Datei app/views/tasks/_form.html.erb, bei der es sich um das Bearbeitungsformular handelt.

  2. Suchen Sie die Zeile <%=f.error_span(:Description) %>, und fügen Sie direkt darunter den folgenden Code ein:

    <%= f.label :Done, :class => 'control-label col-lg-2' %>
    <div class="col-lg-10">
      <%= f.check_box :Done, :class => 'form-control' %>
    </div>
    
  3. Öffnen Sie die Datei app/views/tasks/show.html.erb, bei der es sich um die Ansichtsseite mit einem Datensatz handelt.

    Suchen Sie die Zeile <dd><%= @task.Description %></dd>, und fügen Sie direkt darunter den folgenden Code ein:

      <dt><strong><%= model_class.human_attribute_name(:Done) %>:</strong></dt>
      <dd><%= check_box "task", "Done", {:checked => @task.Done, :disabled => true}%></dd>
    

    Öffnen Sie die Datei app/views/tasks/index.html.erb, bei der es sich um die Indexseite für alle Datensätze handelt.

    Suchen Sie die Zeile <th><%= model_class.human_attribute_name(:Description) %></th>, und fügen Sie direkt darunter den folgenden Code ein:

    <th><%= model_class.human_attribute_name(:Done) %></th>
    
  4. Suchen Sie in derselben Datei die Zeile <td><%= task.Description %></td>, und fügen Sie direkt darunter den folgenden Code ein:

    <td><%= check_box "task", "Done", {:checked => task.Done, :disabled => true} %></td>
    

Lokales Testen der Änderungen

  1. Führen Sie im lokalen Terminal den Rails-Server aus.

    rails server
    
  2. Navigieren Sie zu http://localhost:3000, um die Änderung des Aufgabenstatus anzuzeigen, und fügen Sie Elemente hinzu, oder bearbeiten Sie die Elemente.

    Hinzugefügtes Kontrollkästchen in der Aufgabe

  3. Um den Rails-Server zu beenden, geben Sie Ctrl + C im Terminal ein.

Veröffentlichen von Änderungen in Azure

  1. Führen Sie im Terminal Rails-Datenbankmigrationen für die Produktionsumgebung aus, um die Änderung in der Azure-Datenbank vorzunehmen.

    rake db:migrate RAILS_ENV=production
    
  2. Führen Sie für alle Änderungen in Git einen Commit aus, und übertragen Sie dann die Codeänderungen per Pushvorgang an Azure.

    git add .
    git commit -m "added complete checkbox"
    git push azure main
    
  3. Wechseln Sie nach Abschluss des git push-Vorgangs zur Azure-App, und testen Sie die neuen Funktionen.

    Auf Azure veröffentlichte Änderungen an Modell und Datenbank

    Wenn Sie Aufgaben hinzugefügt haben, werden sie in der Datenbank beibehalten. Bei Updates des Datenschemas bleiben vorhandene Daten erhalten.

Streamen von Diagnoseprotokollen

Aktivieren Sie die Diagnoseprotokollierung, indem Sie den folgenden Befehl in Cloud Shellausführen, um auf die Konsolenprotokolle zuzugreifen, die innerhalb des Anwendungscodes in App Service generiert wurden:

az webapp log config --resource-group <resource-group-name> --name <app-name> --docker-container-logging filesystem --level Verbose

Mögliche Werte für --level sind Error, WarningInfo oder Verbose. Jede nachfolgende Ebene enthält die vorherige Ebene. Beispiel: Error enthält nur Fehlermeldungen, und Verbose enthält alle Meldungen.

Führen Sie den folgenden Befehl aus, um den Protokolldatenstrom anzuzeigen, nachdem die Diagnoseprotokollierung aktiviert wurde:

az webapp log tail --resource-group <resource-group-name> --name <app-name>

Falls Sie nicht sofort Konsolenprotokolle sehen, können Sie es nach 30 Sekunden noch einmal versuchen.

Hinweis

Sie können die Protokolldateien auch im Browser unter https://<app-name>.scm.azurewebsites.net/api/logs/docker untersuchen.

Um das Protokollstreaming jederzeit zu beenden, geben Sie Ctrl+C ein.

Verwalten der Azure-App

  1. Wechseln Sie zum Azure-Portal, um die erstellte App zu verwalten.

  2. Klicken Sie im linken Menü auf App Services und anschließend auf den Namen Ihrer Azure-App.

    Portalnavigation zur Azure-App

    Die Übersichtsseite Ihrer App wird angezeigt. Hier können Sie einfache Verwaltungsaufgaben wie Beenden, Starten, Neustarten, Durchsuchen und Löschen durchführen.

    Im linken Menü werden Seiten für die Konfiguration Ihrer App angezeigt.

    App Service-Seite im Azure-Portal

Bereinigen von Ressourcen

In den vorherigen Schritten haben Sie Azure-Ressourcen in einer Ressourcengruppe erstellt. Wenn Sie diese Ressourcen in Zukunft nicht mehr benötigen, löschen Sie die Ressourcengruppe, indem Sie den folgenden Befehl in Cloud Shell ausführen:

az group delete --name myResourceGroup

Die Ausführung dieses Befehls kann eine Minute in Anspruch nehmen.

Nächste Schritte

In diesem Tutorial haben Sie Folgendes gelernt:

  • Erstellen einer Postgres-Datenbank in Azure
  • Herstellen einer Verbindung zwischen einer Ruby on Rails-App und Postgres
  • Bereitstellen der Anwendung in Azure
  • Aktualisieren des Datenmodells und erneutes Bereitstellen der App
  • Streamen von Diagnoseprotokollen aus Azure
  • Verwalten der App im Azure-Portal

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: