Udostępnij za pośrednictwem


Szybki start: używanie konstruktora interfejsu API danych z bazą danych NoSQL

W tym przewodniku Szybki start utworzysz zestaw plików konfiguracji konstruktora interfejsu API danych przeznaczonych dla emulatora usługi Azure Cosmos DB for NoSQL.

Wymagania wstępne

Porada

Alternatywnie otwórz ten przewodnik Szybki start w usłudze GitHub Codespaces ze wszystkimi wymaganiami wstępnymi dla deweloperów, które zostały już zainstalowane. Po prostu przynieś własną subskrypcję platformy Azure. Konta usługi GitHub obejmują uprawnienia do magazynowania i godzin podstawowych bez kosztów. Aby uzyskać więcej informacji, zobacz uwzględnione godziny magazynowania i rdzeni dla kont usługi GitHub.

Otwórz w usłudze GitHub Codespaces

Instalowanie interfejsu wiersza polecenia konstruktora interfejsu API danych

Microsoft.DataApiBuilder Zainstaluj pakiet z narzędzia NuGet jako narzędzia .NET.

  1. Użyj dotnet tool install polecenia , aby zainstalować najnowszą wersję Microsoft.DataApiBuilder argumentu --global .

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Uwaga

    Jeśli pakiet jest już zainstalowany, zamiast tego zaktualizujesz pakiet przy użyciu polecenia dotnet tool update.

    dotnet tool update --global Microsoft.DataApiBuilder
    
  2. Sprawdź, czy narzędzie jest zainstalowane przy dotnet tool list użyciu argumentu --global .

    dotnet tool list --global
    

Konfigurowanie lokalnej bazy danych

Rozpocznij od uruchomienia emulatora lokalnego. Następnie możesz zainicjować nowy kontener z przykładowymi danymi.

  1. Pobierz najnowszą kopię obrazu kontenera mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest z Docker Hub.

    docker pull mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  2. Uruchom kontener platformy Docker, publikując port 8081 i zakres portów 10250-10255.

    docker run \
        --publish 8081:8081 \
        --publish 10250-10255:10250-10255 \
        --detach \
        mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest
    
  3. Pobieranie certyfikatu z podpisem własnym dla emulatora

    curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
    
  4. Zainstaluj certyfikat z podpisem własnym przy użyciu kroków powłoki Bash dla systemu Linux lub kroków programu PowerShell dla systemu Windows.

    sudo cp ~/emulatorcert.crt /usr/local/share/ca-certificates/
    sudo update-ca-certificates
    
    certutil -f -addstore "Root" emulatorcert.crt
    
  5. Połącz się z lokalną bazą danych przy użyciu preferowanego środowiska zarządzania danymi. Przykłady obejmują, ale nie są ograniczone do: Azure Data Studio i rozszerzenia Azure Databases dla Visual Studio Code.

    Porada

    Domyślnym parametry połączenia emulatora jest AccountEndpoint=https://localhost:8081;AccountKey=C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==;.

  6. Twórca nową bookshelf bazę danych i authors kontener.

  7. Zaimekuj kontener za pomocą tych podstawowych danych JSON.

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

    Porada

    Metoda używana do rozmieszczania danych będzie w dużej mierze zależeć od narzędzia do zarządzania danymi. W przypadku programu Azure Data Studio można zapisać tę tablicę JSON jako plik .json , a następnie użyć funkcji Importuj .

pliki konfiguracji Twórca

Twórca pliku konfiguracji punktu odniesienia przy użyciu interfejsu wiersza polecenia języka DAB. Następnie dodaj plik konfiguracji programowania z bieżącymi poświadczeniami.

  1. Twórca nowy plik o nazwie schema.graphql z tą zawartością schematu.

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. Twórca typowy plik konfiguracji przy użyciu polecenia dab init. --connection-string Dodaj argument z domyślnym parametry połączenia emulatora.

    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. Dodaj jednostkę Author przy użyciu polecenia dab add.

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

Testowanie interfejsu API przy użyciu lokalnej bazy danych

Teraz uruchom narzędzie konstruktora interfejsu API danych, aby sprawdzić, czy pliki konfiguracji są scalane podczas programowania.

  1. Użyj dab start polecenia , aby uruchomić narzędzie i utworzyć punkty końcowe interfejsu API dla jednostki.

    dab start
    
  2. Dane wyjściowe narzędzia powinny zawierać adres używany do przechodzenia do uruchomionego interfejsu API.

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

    Porada

    W tym przykładzie aplikacja działa na localhost porcie 5000. Uruchomiona aplikacja może mieć inny adres i port.

  3. Przejdź do punktu końcowego GraphQL, przechodząc do /graphql i uruchamiając tę operację.

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

    Porada

    W tym przykładzie adres URL to https://localhost:5000/graphql. Możesz przejść do tego adresu URL przy użyciu przeglądarki internetowej.

Następny krok