Erkunden des Daten-API-Generators für Azure SQL-Datenbank

Abgeschlossen

In der heutigen datengesteuerten Welt ist die Fähigkeit, effizient auf Daten zuzugreifen und sie zu bearbeiten, für Unternehmen und Entwickler von entscheidender Bedeutung. Der Daten-API-Generator (Data API Builder, DAB) bietet eine leistungsstarke Lösung zum Erstellen moderner REST- und GraphQL-Endpunkte für Ihre Azure SQL-Datenbank und ersetzt benutzerdefinierte APIs, die CRUD-Vorgänge (Create, Read, Update, Delete) für eine Datenbank ausführen.

Der Azure Daten-API-Generator ist ein Open-Source-Tool für Entwickler, das die Bereitstellung Ihrer Datenbankobjekte als Endpunkte vereinfacht. Er unterstützt viele Datenbanken, einschließlich, aber nicht beschränkt auf Azure SQL, SQL Server, PostgreSQL und Azure Cosmos DB. Mit DAB können Sie sichere, skalierbare und leistungsstarke APIs ohne zusätzliche Kosten und ohne Programmierung erstellen.

Diagramm, das die Beziehung zwischen allen Komponenten des Daten-API-Generators zeigt.

Die wichtigsten Features

Die Verwendung von DAB in Ihrem Entwicklungsprozess bietet viele Vorteile. Hier sind einige wichtige Vorteile, mit denen Sie ermitteln können, wie gut er Ihren Projektanforderungen entspricht.

  • Plattformübergreifende Kompatibilität: DAB ist plattformübergreifend und kann in jeder beliebigen Cloud- oder lokalen Umgebung ausgeführt werden. Er unterstützt mehrere Back-End-Datenquellen, einschließlich relationaler und NoSQL-Datenbanken.
  • Sicherheit und Authentifizierung: DAB ist in verschiedene Authentifizierungsmethoden integriert, einschließlich OAuth2, EasyAuth und Microsoft Entra ID. Er unterstützt auch rollenbasierte Autorisierung und granulare Sicherheitskontrollen. Dies bedeutet, dass Sie Ihre Daten verfügbar machen und gleichzeitig die Kontrolle darüber behalten können, wer darauf zugreifen kann und was damit getan werden kann.
  • Benutzerfreundlichkeit: Mit einer einzigen Konfigurationsdatei können Sie Ihre API-Endpunkte definieren und den Einrichtungsprozess unkompliziert und effizient gestalten.
  • Integration mit Azure-Diensten: DAB ist nahtlos in Azure Static Web Apps, Azure Container Apps und andere Azure-Dienste integriert, wodurch Funktionalität und Skalierbarkeit verbessert werden.

Eine Liste der für den Daten-API-Generator verfügbaren Features finden Sie unter Featureverfügbarkeit für den Daten-API-Generator.

Verwenden des Daten-API-Generators

Um mit dem Azure Daten-API-Generator zu beginnen, stellen Sie sicher, dass Sie über ein Azure-Abonnement verfügen und die erforderlichen Tools installiert sind, z. B. das neueste .NET 8 und die Azure Developer CLI.

  1. Erstellen eines neuen Projekts: Verwenden Sie die Azure Developer CLI, um die erforderlichen Dienste zu erstellen und bereitzustellen. Verwenden Sie beispielsweise die Azure Developer CLI, um eine Azure Static Web App bereitzustellen, die den Daten-API-Generator hostet. Navigieren Sie zu dem Verzeichnis, in dem Sie Ihr Projekt erstellen möchten, und führen Sie den folgenden Befehl aus, um ein neues Azure Static Web App-Projekt zu erstellen.

    azd init --template staticwebapp
    azd up
    
  2. Konfigurieren der Datenbankverbindung: Verknüpfen Sie Ihre Azure SQL-Datenbank mithilfe des Datenbankverbindungsfeatures mit der bereitgestellten statischen Web-App. Navigieren Sie zu der von Ihnen erstellten Azure Static Web App, und verknüpfen Sie unter Einstellungen eine vorhandene Datenbank auf der Seite Datenbankverbindung.

  3. Definieren von API-Endpunkten: Erstellen Sie eine Konfigurationsdatei, um Ihre REST- oder GraphQL-Endpunkte zu definieren. Diese Datei gibt die Datenbankobjekte, die verfügbar gemacht werden sollen, und die zulässigen Vorgänge an. Sie können beispielsweise den folgenden Befehl ausführen, um die Datenbankentitäten zur Konfigurationsdatei hinzuzufügen.

    dab add "Address" --source "dbo.Address" --permissions "anonymous:*" --config "swa-db-connections/staticwebapp.database.config.json"
    

Überprüfen einer Konfigurationsdatei

Hier ist ein einfaches Beispiel für eine Konfigurationsdatei zum Verfügbarmachen einer Tabelle in Ihrer Azure SQL-Datenbank.

{
  "data-source": {
    "database-type": "mssql",
    "connection-string": "Server=tcp:your_server.database.windows.net,1433;Initial Catalog=your_database;Persist Security Info=False;User ID=your_user;Password=your_password;MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;"
  },
  "entities": {
    "products": {
      "source": "Address",
      "rest": true,
      "graphql": true,
      "permissions": [
        {
          "role": "anonymous",
          "actions": ["read"]
        }
      ]
    }
  }
}

Diese Konfiguration macht die Address-Tabelle sowohl als REST- als auch als GraphQL-Endpunkt verfügbar und ermöglicht den Lesezugriff für anonyme Benutzer.