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
- Docker
- .NET 8
- Een gegevensbeheerclient
- Als u geen client hebt geïnstalleerd, installeert u Azure Data Studio
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.
De Data API Builder-CLI installeren
Installeer het Microsoft.DataApiBuilder
pakket van NuGet als een .NET-hulpprogramma.
Gebruik
dotnet tool install
om de nieuwste versie van deMicrosoft.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
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.
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
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
Het zelfondertekende certificaat voor de emulator downloaden
curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
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
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==;
.Creatie een nieuwe
bookshelf
database enauthors
container.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.
Creatie een nieuw bestand met de naam schema.graphql met deze schema-inhoud.
type Author @model { id: ID! firstName: String! middleName: String lastName: String! }
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==;"
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.
Gebruik
dab start
om het hulpprogramma uit te voeren en API-eindpunten voor uw entiteit te maken.dab start
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.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/graphql
de URL . U kunt naar deze URL navigeren met behulp van uw webbrowser.