Freigeben über


Bereitstellen des Daten-API-Generators für Azure-Containerinstanzen

Diagramm der aktuellen Position ('Veröffentlichen') in der Abfolge des Bereitstellungshandbuchs.

Diagramm des Ablaufs des Bereitstellungshandbuchs einschließlich dieser Schritte in der Reihenfolge: Übersicht, Planen, Vorbereiten, Veröffentlichen, Überwachen und Optimieren. Der Bereich 'Veröffentlichen' ist momentan hervorgehoben.

Stellen Sie den Daten-API-Generator schnell in Azure bereit, indem Sie nur eine Konfigurationsdatei und keinen benutzerdefinierten Code verwenden. Dieses Handbuch enthält Schritte zum Hosten des Daten-API-Generator-Containerimages aus Docker als Container in Azure-Containerinstanzen.

Führen Sie in diesem Handbuch die Schritte zum Erstellen einer Konfigurationsdatei des Daten-API-Generators durch, hosten Sie die Datei in Azure Files, und stellen Sie die Datei dann in einem Container in Azure-Containerinstanzen bereit.

Voraussetzungen

Erstellen der Konfigurationsdatei

Erstellen Sie zunächst eine DAB-Konfigurationsdatei (Data API Builder), um eine Verbindung mit Ihrer vorhandenen Datenbank herzustellen. Diese Datei wird später mit dem endgültigen Container verwendet.

  1. Erstellen Sie ein leeres Verzeichnis auf Ihrem lokalen Computer, um die Konfigurationsdatei zu speichern.

  2. Initialisieren Sie eine neue Basiskonfigurationsdatei mit dab init. Verwenden Sie bei der Initialisierung mindestens die folgenden Einstellungen.

    Einstellung Wert
    Datenbanktyp Wählen Sie einen unterstützten Datenbanktyp aus.
    Verbindungszeichenfolge Verwenden Sie die @env()-Funktion, um auf die DATABASE_CONNECTION_STRING Umgebungsvariable zu verweisen.
    dab init --database-type "<database-type>" --connection-string "@env('DATABASE_CONNECTION_STRING')"
    

    Wichtig

    Einige Datenbanktypen erfordern zusätzliche Konfigurationseinstellungen für die Initialisierung.

  3. Fügen Sie der Konfiguration mindestens eine Datenbankentität hinzu. Verwenden Sie den Befehl dab add, um eine Entität zu konfigurieren. Konfigurieren Sie jede Entität, um alle Berechtigungen für anonyme Benutzer zuzulassen. Wiederholen Sie dab add so oft, wie Sie möchten, für Ihre Entitäten.

    dab add "<entity-name>" --source "<schema>.<table>" --permissions "anonymous:*"
    
  4. Öffnen und überprüfen Sie den Inhalt der dab-config.json Datei. Sie verwenden diese Datei an späterer Stelle in diesem Handbuch.

Hostkonfiguration in Azure Files

Laden Sie als Nächstes die Konfigurationsdatei in eine Dateifreigabe hoch, die in Azure Files erstellt ist. Diese Dateifreigabe wird letztendlich als Datenvolumen an den endgültigen Container bereitgestellt.

  1. Melden Sie sich beim Azure-Portal an (https://portal.azure.com).

  2. Erstellen Sie eine neue Ressourcengruppe. Sie verwenden diese Ressourcengruppe für alle neuen Ressourcen in diesem Handbuch.

    Screenshot der Registerkarte

    Trinkgeld

    Es wird empfohlen, die Ressourcengruppe msdocs-dab-acizu benennen. Alle Screenshots in diesem Handbuch verwenden diesen Namen.

  3. Erstellen Sie ein Azure Storage-Konto. Verwenden Sie diese Einstellungen, um das Konto zu konfigurieren.

    Einstellung Wert
    Ressourcengruppe Wählen Sie die Zuvor erstellte Ressourcengruppe aus.
    Name des Speicherkontos Geben Sie einen global eindeutigen Namen ein.
    Region Auswählen einer Azure-Region
    Leistung Wählen Sie Standard-
    Redundanz Wählen Sie lokal redundanter Speicher (LRS)
    Aktivieren des Zugriffs auf den Speicherkontoschlüssel Wählen Sie "Aktiviert" aus.

    Screenshot der Registerkarte 'Erweitert' auf der Seite 'Speicherkonto erstellen' im Azure-Portal.

  4. Navigieren Sie zum neuen Speicherkonto im Azure-Portal.

  5. Wählen Sie Dateifreigaben im Abschnitt Datenspeicher des Ressourcenmenüs aus. Wählen Sie dann Dateifreigabe aus der Befehlsleiste aus, um eine neue Freigabe im Speicherkonto zu erstellen. Verwenden Sie die folgenden Einstellungen, um die neue Dateifreigabe zu konfigurieren.

    Einstellung Wert
    Name Geben Sie config ein.
    Zugriffs-Stufe Wählen Sie Hot- aus.
    Sicherung aktivieren Nicht auswählen

    Screenshot des Ressourcenmenüs **Dateifreigabe** und der Befehlsleistenoptionen im Azure-Portal.

  6. Laden Sie die dab-config.json und alle anderen erforderlichen Dateien in den freigegebenen Ordner hoch. Verwenden Sie die Option Hochladen in der Befehlsleiste, um das Dialogfeld Dateien hochladen zu öffnen. Wählen Sie zuerst beide Dateien aus und klicken Sie dann auf Upload.

    Screenshot des Dialogfelds **Dateien hochladen** im Azure-Portal.

  7. Wählen Sie Zugriffstasten im Abschnitt Sicherheit + Netzwerk des Ressourcenmenüs aus. Notieren Sie dann den Namen des Speicherkontos und den Wert des Schlüssels auf dieser Seite. Sie werden diese Werte später in diesem Handbuch verwenden.

    Screenshot der Seite

Erstellen der Basiscontainerinstanz

Erstellen Sie schließlich den Container in Azure mithilfe von Azure-Containerinstanzen. Dieser Container hostt das Daten-API-Generator-Image mit einer Konfigurationsdatei, um eine Verbindung mit Ihrer Datenbank herzustellen.

Wichtig

Heute ist die einzige Möglichkeit, eine Containerinstanz mit einem bereitgestellten Volume zu erstellen, mit der Azure CLI.

  1. Erstellen Sie eine Azure Container Instances-Ressource mithilfe von az container create. Verwenden Sie diese Einstellungen, um die Ressource zu konfigurieren.

    Einstellung Wert
    Ressourcengruppe Verwenden Sie die Ressourcengruppe, die Sie zuvor erstellt haben
    Containername Geben Sie einen global eindeutigen Namen ein.
    Region Verwenden der gleichen Region wie das Speicherkonto
    SKU- Verwenden Sie Standard
    Bildtyp Verwenden Sie Öffentliches
    Bild Geben Sie mcr.microsoft.com/azure-databases/data-api-builder:latest ein.
    Betriebssystemtyp- Verwenden Sie Linux
    Netzwerktyp Verwenden Sie Öffentliches
    Netzwerkports Geben Sie 5000 ein.
    DNS-Namensbezeichnung Geben Sie eine global eindeutige Bezeichnung ein.
    Umgebungsvariablen Geben Sie DATABASE_CONNECTION_STRING und die Verbindungszeichenfolge für Ihre Datenbank ein.
    az container create \
        --resource-group "<resource-group-name>" \
        --name "<unique-container-instance-name>" \
        --image "mcr.microsoft.com/azure-databases/data-api-builder:latest" \
        --location "<region>" \
        --sku "Standard" \
        --os-type "Linux" \
        --ip-address "public" \
        --ports "5000" \
        --dns-name-label "<unique-dns-label>" \
        --environment-variables "DATABASE_CONNECTION_STRING=<database-connection-string>" \
        --azure-file-volume-mount-path "/cfg" \
        --azure-file-volume-account-name "<storage-account-name>" \
        --azure-file-volume-account-key "<storage-account-key>" \
        --azure-file-volume-share-name "config" \
        --command-line "dotnet Azure.DataApiBuilder.Service.dll --ConfigFileName /cfg/dab-config.json"
        --
    

    Trinkgeld

    Es wird empfohlen, eine Verbindungszeichenfolge zu verwenden, die keine Autorisierungsschlüssel enthält. Verwenden Sie stattdessen verwaltete Identitäten und rollenbasierte Zugriffssteuerung, um den Zugriff zwischen Ihrer Datenbank und Ihrem Host zu verwalten. Weitere Informationen finden Sie unter Azure-Dienste, die verwaltete Identitätenverwenden.

  2. Verwenden Sie az container show, um den vollqualifizierten Domänennamen (Fully Qualified Domain Name, FQDN) für Ihre neue Containerinstanz abzufragen. Navigieren Sie dann zur Website der Containerinstanz.

    az container show \
        --resource-group "<resource-group-name>" \
        --name "<unique-container-instance-name>" \
        --query "join('://', ['https', ipAddress.fqdn])" \
        --output "tsv"
    
  3. Beachten Sie die Antwort, die angibt, dass der DAB-Container läuft und der Status fehlerfreiist.

    {
        "status": "healthy",
        "version": "1.1.7",
        "app-name": "dab_oss_1.1.7"
    }
    

    Anmerkung

    Die Versionsnummer und der Name variieren je nach ihrer aktuellen Version des Daten-API-Generators. An diesem Punkt können Sie nicht zu api-Endpunkten navigieren. Diese Endpunkte sind verfügbar, sobald Sie eine DAB-Konfigurationsdatei bereitstellen.

  4. Navigieren Sie zum /api/swagger Pfad für die aktuelle ausgeführte Anwendung. Verwenden Sie die Swagger-Benutzeroberfläche, um eine HTTP GET- Anforderung für eine Ihrer Entitäten ausstellen zu können.

Bereinigen von Ressourcen

Wenn Sie die Beispielanwendung oder Ressourcen nicht mehr benötigen, entfernen Sie die entsprechende Bereitstellung und alle Ressourcen.

  1. Navigieren Sie mithilfe des Azure-Portals zur Ressourcengruppe.

  2. In der -Befehlsleistewählen Sie Löschenaus.

Nächster Schritt