Udostępnij za pośrednictwem


Szybki start: użycie narzędzia API danych do obsługi NoSQL

W tym szybkim starcie utworzysz zestaw plików konfiguracji Data API przeznaczonych do emulatora usługi Azure Cosmos DB for NoSQL.

Wymagania wstępne

Wskazówka

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

Otwórz w GitHub Codespaces

Zainstaluj narzędzie wiersza polecenia Data API builder

Zainstaluj pakiet z NuGet jako narzędzie .NET.

  1. Użyj dotnet tool install do zainstalowania najnowszej wersji Microsoft.DataApiBuilder z argumentem --global.

    dotnet tool install --global Microsoft.DataApiBuilder
    

    Uwaga / Notatka

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

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

    dotnet tool list --global
    

Konfigurowanie lokalnej bazy danych

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

  1. Pobierz najnowszą kopię obrazu kontenera mcr.microsoft.com/cosmosdb/linux/azure-cosmos-emulator:latest z usługi 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 samopodpisany certyfikat, korzystając z 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 programu Visual Studio Code.

    Wskazówka

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

  6. Utwórz nową bookshelf bazę danych i authors kontener.

  7. Zaimekuj kontener przy użyciu 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"
      }
    ]
    

    Wskazówka

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

Tworzenie plików konfiguracji

Utwórz plik konfiguracji bazowej przy użyciu interfejsu wiersza polecenia DAB. Następnie dodaj plik konfiguracji programowania przy użyciu bieżących poświadczeń.

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

    type Author @model {
      id: ID!
      firstName: String!
      middleName: String
      lastName: String!
    }
    
  2. Utwórz typowy plik konfiguracji przy użyciu polecenia dab init. --connection-string Dodaj argument z domyślnymi parametrami 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 opracowywania.

  1. Użyj dab start, aby uruchomić narzędzie i utworzyć punkty końcowe API dla swojej 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]
    

    Wskazówka

    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
        }
      }
    }
    

    Wskazówka

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

Następny krok