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
- Docker
- .NET 8
- Klient zarządzania danymi
- Jeśli nie masz zainstalowanego klienta, zainstaluj program Azure Data Studio
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.
Instalowanie interfejsu wiersza polecenia konstruktora interfejsu API danych
Microsoft.DataApiBuilder
Zainstaluj pakiet z narzędzia NuGet jako narzędzia .NET.
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
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.
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
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
Pobieranie certyfikatu z podpisem własnym dla emulatora
curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
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
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==;
.Twórca nową
bookshelf
bazę danych iauthors
kontener.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.
Twórca nowy plik o nazwie schema.graphql z tą zawartością schematu.
type Author @model { id: ID! firstName: String! middleName: String lastName: String! }
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==;"
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.
Użyj
dab start
polecenia , aby uruchomić narzędzie i utworzyć punkty końcowe interfejsu API dla jednostki.dab start
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.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.