Freigeben über


Schnellstart: Verwenden des Daten-API-Generators mit NoSQL

In diesem Quickstart erstellen Sie eine Reihe von Konfigurationsdateien mit dem Data API builder, um die Azure Cosmos DB für den NoSQL-Emulator anzusprechen.

Voraussetzungen

Tipp

Öffnen Sie alternativ diese Schnellstartanleitung in GitHub Codespaces mit allen bereits installierten Entwicklervoraussetzungen. Bringen Sie einfach Ihr eigenes Azure Abonnement mit. GitHub Konten umfassen einen Nutzungsanspruch für kostenlosen Speicher und Kernstunden. Weitere Informationen finden Sie unter enthaltener Speicherplatz und Kernstunden für GitHub-Konten.

Open in GitHub Codespaces

Installieren des Daten-API-Generators CLI

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

  1. Verwenden Sie , um die neueste Version von mit dem 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 --global Microsoft.DataApiBuilder
    
  2. Stellen Sie sicher, dass das Tool mit dem Argument installiert ist, indem Sie verwenden.

    dotnet tool list --global
    

Konfigurieren der lokalen Datenbank

Führen Sie zunächst den lokalen Emulator aus. Anschließend können Sie einen neuen Container mit Beispieldaten seeden.

  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 Schritte Bash für Linux oder mit den Schritten PowerShell 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 jedoch nicht beschränkt auf: die Erweiterung Azure Databases für Visual Studio Code.

    Tipp

    Der Standard-Emulator Verbindungszeichenfolge ist AccountEndpoint=https://localhost:8081/;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==.

  6. Erstellen Sie eine neue Datenbank und einen neuen Container.

  7. Seeden Sie den Container 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"
      }
    ]
    

Erstellen von Konfigurationsdateien

Erstellen Sie eine Basiskonfigurationsdatei mit der DAB CLI. Fügen Sie dann eine Entwicklungskonfigurationsdatei mit Ihren aktuellen Anmeldeinformationen hinzu.

  1. Erstellen Sie eine neue Datei mit dem Namen "schema.gql " mit diesem Schemainhalt.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    

    Hinweis

    In diesem Beispiel wird kein Argument angegeben. Wenn dieser Parameter nicht angegeben wird, ordnet DAB den GraphQL-Typnamen () dem Entitätsnamen () zu. Die Namen müssen exakt übereinstimmen, und die Groß- und Kleinschreibung wird beachtet.

  2. Erstellen Sie eine typische Konfigurationsdatei mithilfe von . Fügen Sie das Argument --connection-string mit der Standard-Verbindungszeichenfolge des Emulators hinzu.

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

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

Testen der API mit der lokalen Datenbank

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

  1. Verwenden Sie , 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 Port ausgeführt. Ihre ausgeführte Anwendung verfügt möglicherweise über eine andere Adresse und einen anderen Port.

  3. Gehen Sie zum GraphQL-Endpunkt, indem Sie aufrufen und diesen Vorgang ausführen.

    Vor dem Abfragen von GraphQL können Sie den Start überprüfen, indem Sie den Stammendpunkt () öffnen. Eine gesunde Antwort enthält Felder wie , , und .

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

    Tipp

    In diesem Beispiel lautet die URL .

    Da diese Schnellstartanleitung die Browsernavigation verwendet, um Nitro zu öffnen. Im Produktionsmodus wird Nitro nicht für die Browsernavigation angezeigt.

Nächster Schritt