Snabbstart: Använda Data API Builder med MySQL
I den här snabbstarten skapar du en uppsättning konfigurationsfiler för Data API Builder för att rikta in dig på en lokal MySQL-databas.
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 redan 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 CLI för data-API:et
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 hjälp av
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 konfigurera och köra den lokala databasen. Sedan kan du skapa en ny container med exempeldata.
Hämta den senaste kopian av containeravbildningen
mysql:8
från Docker Hub.docker pull mysql:8
Starta Docker-containern genom att ange lösenordet och publicera port 3306. Ersätt
<your-password>
med ett anpassat lösenord.docker run \ --publish 3306:3306 \ --env "MYSQL_ROOT_PASSWORD=<your-password>" \ --detach \ mysql:8
Anslut till din lokala databas med hjälp av önskad datahanteringsmiljö. Exempel är, men är inte begränsade till: MySQL Workbench, Azure Data Studio och MySQL-gränssnittet för Visual Studio Code.
Tips
Om du använder standardnätverk för dina Docker Linux-containeravbildningar är anslutningssträng troligen
Server=localhost;Port=3306;Uid=root;Pwd=<your-password>;
. Ersätt<your-password>
med det lösenord som du angav tidigare.Skapa en ny
bookshelf
databas och använd databasen för återstående frågor.CREATE DATABASE IF NOT EXISTS bookshelf; USE bookshelf;
Skapa en ny
dbo.authors
tabell och ange grundläggande data i tabellen.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');
Skapa konfigurationsfiler
Skapa en baslinjekonfigurationsfil med HJÄLP av DAB CLI. Lägg sedan till en utvecklingskonfigurationsfil med dina aktuella autentiseringsuppgifter.
Skapa en typisk konfigurationsfil med .
dab init
--connection-string
Lägg till argumentet med databasen anslutningssträng från det första avsnittet. Ersätt<your-password>
med lösenordet som du angav tidigare i den här guiden. Lägg också tillDatabase=bookshelf
värdet i anslutningssträng.dab init --database-type "mysql" --host-mode "Development" --connection-string "Server=localhost;Port=3306;Database=bookshelf;Uid=root;Pwd=<your-password>;"
Lägg till en author-entitet med hjälp av
dab add
.dab add Author --source "authors" --permissions "anonymous:*"
Observera din aktuella dab-config.json konfigurationsfil. Filen bör innehålla en baslinjeimplementering av ditt API med en enda entitet, en REST API-slutpunkt och en GraphQL-slutpunkt.
Testa API:et med den lokala databasen
Starta nu verktyget Data API Builder för att verifiera att dina konfigurationsfiler sammanfogas under utvecklingen.
Använd
dab start
för att köra verktyget och skapa API-slutpunkter för din entitet.dab start
Utdata från verktyget ska 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. Det program som körs kan ha en annan adress och port.Prova först API:et manuellt genom att utfärda en GET-begäran till
/api/Author
.Tips
I det här exemplet är
https://localhost:5000/api/Author
URL:en . Du kan navigera till den här URL:en med hjälp av webbläsaren.Gå sedan till sidan för Swagger-dokumentation på
/swagger
.Tips
I det här exemplet är
https://localhost:5000/swagger
URL:en . Återigen kan du navigera till den här URL:en med hjälp av webbläsaren.