Quickstart: Data API Builder gebruiken met PostgreSQL
In deze quickstart bouwt u een set configuratiebestanden voor data-API-opbouwfunctie voor een lokale PostgreSQL-database.
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 configureren en uitvoeren van de lokale database. Vervolgens kunt u een nieuwe container met voorbeeldgegevens seeden.
Haal de meest recente kopie van de
postgres:16
containerinstallatiekopie op uit Docker Hub.docker pull postgres:16
Start de docker-container door het wachtwoord en de publicatiepoort 5432 in te stellen. Vervang door
<your-password>
een aangepast wachtwoord.docker run \ --publish 5432:5432 \ --env "POSTGRES_PASSWORD=<your-password>" \ --detach \ postgres:16
Maak verbinding met uw lokale database met behulp van uw voorkeursomgeving voor gegevensbeheer. Voorbeelden zijn onder andere pgAdmin, Azure Data Studio en de PostgreSQL-extensie voor Visual Studio Code.
Tip
Als u standaardnetwerken gebruikt voor uw Docker Linux-containerinstallatiekopieën, is
Host=localhost;Port=5432;User ID=postgres;Password=<your-password>;
de verbindingsreeks waarschijnlijk . Vervang door<your-password>
het wachtwoord dat u eerder hebt ingesteld.Creatie een nieuwe
bookshelf
database.DROP DATABASE IF EXISTS bookshelf; CREATE DATABASE bookshelf;
Creatie een nieuwe
dbo.authors
tabel en seed de tabel met basisgegevens.CREATE TABLE IF NOT EXISTS authors ( id INT NOT NULL PRIMARY KEY, first_name VARCHAR(100) NOT NULL, middle_name VARCHAR(100), last_name VARCHAR(100) NOT NULL ); INSERT INTO authors VALUES (01, 'Henry', NULL, 'Ross'), (02, 'Jacob', 'A.', 'Hancock'), (03, 'Sydney', NULL, 'Mattos'), (04, 'Jordan', NULL, 'Mitchell'), (05, 'Victoria', NULL, 'Burke'), (06, 'Vance', NULL, 'DeLeon'), (07, 'Reed', NULL, 'Flores'), (08, 'Felix', NULL, 'Henderson'), (09, 'Avery', NULL, 'Howard'), (10, 'Violet', NULL, 'Martinez');
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 typisch configuratiebestand met behulp van
dab init
. Voeg het--connection-string
argument toe met de database verbindingsreeks uit de eerste sectie. Vervang door<your-password>
het wachtwoord dat u eerder in deze handleiding hebt ingesteld. Voeg ook deDatabase=bookshelf
waarde toe aan de verbindingsreeks.dab init --database-type "postgresql" --host-mode "Development" --connection-string "Host=localhost;Port=5432;Database=bookshelf;User ID=postgres;Password=<your-password>;"
Voeg een auteurentiteit toe met behulp van
dab add
.dab add Author --source "public.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.Probeer eerst de API handmatig uit door een GET-aanvraag te verzenden naar
/api/Author
.Tip
In dit voorbeeld is
https://localhost:5000/api/Author
de URL . U kunt naar deze URL navigeren met behulp van uw webbrowser.Navigeer vervolgens naar de Swagger-documentatiepagina op
/swagger
.Tip
In dit voorbeeld is
https://localhost:5000/swagger
de URL . Nogmaals, u kunt naar deze URL navigeren met behulp van uw webbrowser.