Delen via


Quickstart: Data API Builder gebruiken met NoSQL

In deze quickstart bouwt u een set configuratiebestanden voor data-API-opbouwfunctie voor de Azure Cosmos DB for NoSQL-emulator.

Vereisten

Tip

U kunt ook deze quickstart openen in GitHub Codespaces met alle vereisten voor ontwikkelaars die al zijn geïnstalleerd. Neem gewoon uw eigen Azure-abonnement mee. GitHub-accounts hebben gratis recht op opslag en kernuren. Zie Inbegrepen opslag- en kernuren voor GitHub-accounts voor meer informatie.

Openen in GitHub Codespaces

De Data API Builder-CLI installeren

Installeer het Microsoft.DataApiBuilder pakket van NuGet als een .NET-hulpprogramma.

  1. Gebruik dotnet tool install om de nieuwste versie van de Microsoft.DataApiBuilder te installeren met het --global argument .

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Notitie

    Als het pakket al is geïnstalleerd, werkt u het pakket bij met behulp van dotnet tool update.

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Controleer of het hulpprogramma is geïnstalleerd met dotnet tool list behulp van het --global argument .

    dotnet tool list --global
    

De lokale database configureren

Begin met het uitvoeren van de lokale emulator. Vervolgens kunt u een nieuwe container met voorbeeldgegevens seeden.

  1. Haal de meest recente kopie van de mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest containerinstallatiekopie op uit Docker Hub.

    docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  2. Start de docker-container door poort 8081 en het poortbereik 10250-10255 te publiceren.

    docker run \
        --publish 8081:8081 \
        --publish 10250-10255:10250-10255 \
        --detach \
        mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  3. Het zelfondertekende certificaat voor de emulator downloaden

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. Installeer het zelfondertekende certificaat met behulp van de Bash-stappen voor Linux of de PowerShell-stappen voor Windows.

    sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
    certutil -f -addstore "Root" emulatorcert.crt
    
  5. Maak verbinding met uw lokale database met behulp van uw voorkeursomgeving voor gegevensbeheer. Voorbeelden zijn, maar zijn niet beperkt tot: Azure Data Studio en de Azure Databases-extensie voor Visual Studio Code.

    Tip

    De standaard verbindingsreeks voor de emulator is AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;.

  6. Creatie een nieuwe bookshelf database en authors container.

  7. Seed de container met deze JSON-basisgegevens.

    [
      {
        "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"
      }
    ]
    

    Tip

    De methode die wordt gebruikt om gegevens te seeden, is grotendeels afhankelijk van het hulpprogramma voor gegevensbeheer. Voor Azure Data Studio kunt u deze JSON-matrix opslaan als een .json-bestand en vervolgens de functie Importeren gebruiken.

Creatie configuratiebestanden

Creatie een basislijnconfiguratiebestand met behulp van de DAB CLI. Voeg vervolgens een configuratiebestand voor de ontwikkeling toe met uw huidige referenties.

  1. Creatie een nieuw bestand met de naam schema.graphql met deze schema-inhoud.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. Creatie een typisch configuratiebestand met behulp van dab init. Voeg het --connection-string argument toe met de standaard verbindingsreeks van de emulator.

    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. Voeg een auteurentiteit toe met behulp van dab add.

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

API testen met de lokale database

Start nu het hulpprogramma Data API Builder om te controleren of uw configuratiebestanden tijdens de ontwikkeling worden samengevoegd.

  1. Gebruik dab start om het hulpprogramma uit te voeren en API-eindpunten voor uw entiteit te maken.

    dab start
    
  2. De uitvoer van het hulpprogramma moet het adres bevatten dat moet worden gebruikt om naar de actieve API te navigeren.

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

    Tip

    In dit voorbeeld wordt de toepassing uitgevoerd op localhost poort 5000. Uw actieve toepassing heeft mogelijk een ander adres en een andere poort.

  3. Ga naar het GraphQL-eindpunt door te navigeren naar /graphql en deze bewerking uit te voeren.

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

    Tip

    In dit voorbeeld is https://localhost:5000/graphqlde URL . U kunt naar deze URL navigeren met behulp van uw webbrowser.

Volgende stap