Freigeben über


Schnellstart: Verwenden des Daten-API-Generators mit NoSQL

In dieser Schnellstartanleitung erstellen Sie eine Reihe von Daten-API-Konfigurationsdateien für den Azure Cosmos DB for NoSQL-Emulator.

Voraussetzungen

Tipp

Alternativ können Sie diese Schnellstartanleitung in GitHub Codespaces mit allen bereits installierten Entwicklervoraussetzungen öffnen. Bringen Sie einfach Ihr eigenes Azure-Abonnement mit. GitHub-Konten enthalten eine Berechtigung für Speicher und Kernstunden ohne Kosten. Weitere Informationen finden Sie unter Enthaltene Speicher- und Kernstunden für GitHub-Konten.

In GitHub Codespaces öffnen

Installieren der Daten-API-Generator-CLI

Installieren Sie das Microsoft.DataApiBuilder Paket aus NuGet als .NET-Tool.

  1. Verwenden Sie dotnet tool install , um die neueste Version von Microsoft.DataApiBuilder mit dem --global -Argument zu installieren.

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Hinweis

    Wenn das Paket bereits installiert ist, aktualisieren Sie das Paket stattdessen mithilfe von dotnet tool update.

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Vergewissern Sie sich, dass das Tool mit dotnet tool list installiert ist, indem Sie das --global -Argument verwenden.

    dotnet tool list --global
    

Konfigurieren der lokalen Datenbank

Führen Sie zunächst den lokalen Emulator aus. Anschließend können Sie ein Seeding für einen neuen Container mit Beispieldaten durchführen.

  1. Rufen Sie die neueste Kopie des mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest Containerimages von Docker Hub ab.

    docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  2. Starten Sie den Docker-Container, indem Sie Port 8081 und den Portbereich 10250-10255 veröffentlichen.

    docker run \
        --publish 8081:8081 \
        --publish 10250-10255:10250-10255 \
        --detach \
        mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  3. Herunterladen des selbstsignierten Zertifikats für den Emulator

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. Installieren Sie das selbstsignierte Zertifikat entweder mithilfe der Bash-Schritte für Linux oder der PowerShell-Schritte für Windows.

    sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
    certutil -f -addstore "Root" emulatorcert.crt
    
  5. Stellen Sie mithilfe Ihrer bevorzugten Datenverwaltungsumgebung eine Verbindung mit Ihrer lokalen Datenbank her. Beispiele sind, sind jedoch nicht beschränkt auf: Azure Data Studio und die Azure Databases-Erweiterung für Visual Studio Code.

    Tipp

    Die Standard-Verbindungszeichenfolge für den Emulator ist AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;.

  6. Create eine neue Datenbank und authors einen neuen bookshelf Container.

  7. Seeding des Containers mit diesen grundlegenden JSON-Daten.

    [
      {
        "id": "01",
        "firstName": "Henry",
        "lastName": "Ross"
      },
      {
        "id": "02",
        "firstName": "Jacob",
        "middleName": "A.",
        "lastName": "Hancock"
      },
      {
        "id": "03",
        "firstName": "Sydney",
        "lastName": "Mattos"
      },
      {
        "id": "04",
        "firstName": "Jordan",
        "lastName": "Mitchell"
      },
      {
        "id": "05",
        "firstName": "Victoria",
        "lastName": "Burke"
      },
      {
        "id": "06",
        "firstName": "Vance",
        "lastName": "DeLeon"
      },
      {
        "id": "07",
        "firstName": "Reed",
        "lastName": "Flores"
      },
      {
        "id": "08",
        "firstName": "Felix",
        "lastName": "Henderson"
      },
      {
        "id": "09",
        "firstName": "Avery",
        "lastName": "Howard"
      },
      {
        "id": "10",
        "firstName": "Violet",
        "lastName": "Martinez"
      }
    ]
    

    Tipp

    Die Methode, die zum Seeden von Daten verwendet wird, hängt weitgehend vom Datenverwaltungstool ab. Für Azure Data Studio können Sie dieses JSON-Array als .json-Datei speichern und dann die Importfunktion verwenden.

Erstellen von Konfigurationsdateien

Create eine Baselinekonfigurationsdatei mithilfe der DAB CLI. Fügen Sie dann eine Entwicklungskonfigurationsdatei mit Ihren aktuellen Anmeldeinformationen hinzu.

  1. Create eine neue Datei namens schema.graphql mit diesem Schemainhalt.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. Create eine typische Konfigurationsdatei mit dab init. Fügen Sie das --connection-string Argument mit dem Standard-Verbindungszeichenfolge des Emulators hinzu.

    dab init --database-type "cosmosdb_nosql" --host-mode "Development" --cosmosdb_nosql-database bookshelf --graphql-schema schema.graphql --connection-string "AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;"
    
  3. Fügen Sie mithilfe dab addvon eine Author-Entität hinzu.

    dab add Author --source "authors" --permissions "anonymous:*"
    

Testen der API mit der lokalen Datenbank

Starten Sie nun das Daten-API-Generatortool, um zu überprüfen, ob Ihre Konfigurationsdateien während der Entwicklung zusammengeführt werden.

  1. Verwenden Sie dab start , um das Tool auszuführen und API-Endpunkte für Ihre Entität zu erstellen.

    dab start
    
  2. Die Ausgabe des Tools sollte die Adresse enthalten, die zum Navigieren zur ausgeführten API verwendet werden soll.

          Successfully completed runtime initialization.
    info: Microsoft.Hosting.Lifetime[14]
          Now listening on: <http://localhost:5000>
    info: Microsoft.Hosting.Lifetime[0]
    

    Tipp

    In diesem Beispiel wird die Anwendung an localhost Port 5000 ausgeführt. Ihre ausgeführte Anwendung verfügt möglicherweise über eine andere Adresse und einen anderen Port.

  3. Navigieren Sie zum GraphQL Endpunkt, indem Sie zu /graphql navigieren und diesen Vorgang ausführen.

    query {
      authors {
        items {
          id
          firstName
          lastName
        }
      }
    }
    

    Tipp

    In diesem Beispiel lautet https://localhost:5000/graphqldie URL . Sie können mit Ihrem Webbrowser zu dieser URL navigieren.

Nächster Schritt