Dela via


Snabbstart: Använda Data API Builder med NoSQL

I den här snabbstarten skapar du en uppsättning konfigurationsfiler för Data API Builder för att rikta in sig på Azure Cosmos DB for NoSQL-emulatorn.

Förutsättningar

Tips

Du kan också öppna den här snabbstarten i GitHub Codespaces med alla krav för utvecklare som redan är installerade. Ta bara med din egen Azure-prenumeration. GitHub-konton innehåller berättigande till lagring och kärntimmar utan kostnad. Mer information finns i inkluderade lagrings- och kärntimmar för GitHub-konton.

Öppna i GitHub Codespaces

Installera DATA API Builder CLI

Microsoft.DataApiBuilder Installera paketet från NuGet som ett .NET-verktyg.

  1. Använd dotnet tool install för att installera den senaste versionen av Microsoft.DataApiBuilder med --global argumentet .

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Anteckning

    Om paketet redan är installerat uppdaterar du paketet i stället med .dotnet tool update

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Kontrollera att verktyget har installerats med dotnet tool list argumentet --global .

    dotnet tool list --global
    

Konfigurera den lokala databasen

Börja med att köra den lokala emulatorn. Sedan kan du skapa en ny container med exempeldata.

  1. Hämta den senaste kopian av containeravbildningen mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest från Docker Hub.

    docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  2. Starta docker-containern genom att publicera port 8081 och portintervallet 10250-10255.

    docker run \
        --publish 8081:8081 \
        --publish 10250-10255:10250-10255 \
        --detach \
        mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  3. Ladda ned det självsignerade certifikatet för emulatorn

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. Installera det självsignerade certifikatet med antingen Bash-stegen för Linux eller PowerShell-stegen för Windows.

    sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
    certutil -f -addstore "Root" emulatorcert.crt
    
  5. Anslut till din lokala databas med din önskade datahanteringsmiljö. Exempel är, men är inte begränsade till: Azure Data Studio och Azure Databases-tillägget för Visual Studio Code.

    Tips

    Standard anslutningssträng för emulatorn är AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;.

  6. Skapa en ny bookshelf databas och authors container.

  7. Seed containern med dessa grundläggande JSON-data.

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

    Tips

    Vilken metod som används för att hämta data beror till stor del på datahanteringsverktyget. För Azure Data Studio kan du spara den här JSON-matrisen som en .json fil och sedan använda importfunktionen .

Skapa konfigurationsfiler

Skapa en baslinjekonfigurationsfil med HJÄLP av DAB CLI. Lägg sedan till en utvecklingskonfigurationsfil med dina aktuella autentiseringsuppgifter.

  1. Skapa en ny fil med namnet schema.graphql med det här schemainnehållet.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. Skapa en typisk konfigurationsfil med .dab init --connection-string Lägg till argumentet med emulatorns standard anslutningssträng.

    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. Lägg till en entitet för författare med .dab add

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

Testa API:et med den lokala databasen

Starta nu verktyget Data API Builder för att verifiera att dina konfigurationsfiler slås samman under utvecklingen.

  1. Använd dab start för att köra verktyget och skapa API-slutpunkter för din entitet.

    dab start
    
  2. Utdata för verktyget bör innehålla den adress som ska användas för att navigera till api:et som körs.

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

    Tips

    I det här exemplet körs programmet på localhost port 5000. Ditt program som körs kan ha en annan adress och port.

  3. Gå till GraphQL-slutpunkten genom att gå till /graphql och köra den här åtgärden.

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

    Tips

    I det här exemplet skulle URL:en vara https://localhost:5000/graphql. Du kan navigera till den här URL:en med hjälp av webbläsaren.

Nästa steg