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
- Docker
- .NET 8
- En datahanteringsklient
- Om du inte har en klient installerad installerar du Azure Data Studio
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.
Installera DATA API Builder CLI
Microsoft.DataApiBuilder
Installera paketet från NuGet som ett .NET-verktyg.
Använd
dotnet tool install
för att installera den senaste versionen avMicrosoft.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
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.
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
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
Ladda ned det självsignerade certifikatet för emulatorn
curl -k https://localhost:8081/_explorer/emulator.pem > ~/emulatorcert.crt
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
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==;
.Skapa en ny
bookshelf
databas ochauthors
container.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.
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! }
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==;"
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.
Använd
dab start
för att köra verktyget och skapa API-slutpunkter för din entitet.dab start
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.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.