Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Data API Builder (DAB) publiceras som en containeravbildning till Microsoft Container Registry. Alla Docker hostar kan hämta containeravbildningen och sedan köra DAB med minimal konfiguration. Den här guiden använder containeravbildningen och en lokal konfigurationsfil för att snabbt vara värd för och köra DAB utan att behöva installera några extra verktyg.
Förutsättningar
Skapa exempeldata
För den här korta guiden räcker det med en enkel tabell med några rader data för att visa hur du använder DAB i en Docker-container. För att förenkla saker och ting ytterligare använder vi SQL Server för Linux i en Docker-containeravbildning.
Hämta containeravbildningen
mcr.microsoft.com/mssql/server:2022-latest.docker pull mcr.microsoft.com/mssql/server:2022-latestKör containeravbildningen genom att publicera porten
1433och ställ in kontolösenordetsatill ett unikt lösenord som du kommer att använda genom hela denna guide.docker run \ --name mssql \ --publish 1433:1433 \ --detach \ --env "ACCEPT_EULA=Y" \ --env "MSSQL_SA_PASSWORD=<your-password>" \ mcr.microsoft.com/mssql/server:2022-latestViktigt!
Det här är ett enkelt fiktivt lösenord för den här guiden. I verkligheten använder du en annan autentiseringsmekanism och helst ett annat konto.
Anslut till SQL-servern med den klient eller det verktyg du föredrar. Anslutningssträngen är
Server=localhost,1433;User Id=sa;Password=<your-password>;TrustServerCertificate=true;.Skapa en ny databas med namnet
Libraryom den inte redan finns.IF NOT EXISTS(SELECT name FROM sys.databases WHERE name = 'Library') BEGIN CREATE DATABASE Library; END GO USE LibrarySkapa en tabell med namnet
Booksmedidkolumnerna ,title,yearochpages.DROP TABLE IF EXISTS dbo.Books; CREATE TABLE dbo.Books ( id int NOT NULL PRIMARY KEY, title nvarchar(1000) NOT NULL, [year] int null, [pages] int null ) GOInfoga fyra exempelboksrader i
Bookstabellen.INSERT INTO dbo.Books VALUES (1000, 'Practical Azure SQL Database for Modern Developers', 2020, 326), (1001, 'SQL Server 2019 Revealed: Including Big Data Clusters and Machine Learning', 2019, 444), (1002, 'Azure SQL Revealed: A Guide to the Cloud for SQL Server Professionals', 2020, 528), (1003, 'SQL Server 2022 Revealed: A Hybrid Data Platform Powered by Security, Performance, and Availability', 2022, 506) GOTesta dina data med en enkel
SELECT *fråga.SELECT * FROM dbo.Books
Skapa konfigurationsfil
Skapa en konfigurationsfil som mappar till tabellen som skapades i föregående steg. Den här konfigurationsfilen beskriver för DAB hur du mappar REST- och GraphQL-slutpunkter till dina faktiska data.
Skapa en fil som heter
dab-config.json.Tips/Råd
Det här är standardfilnamnet för konfigurationsfiler. Genom att använda standardfilnamnet undviker du att behöva ange konfigurationsfilen när du kör containern.
Lägg till det här JSON-innehållet i filen. Den här konfigurationen skapar en enda entitet med namnet
bookmappad till den befintligadbo.Bookstabellen.{ "$schema": "https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json", "data-source": { "database-type": "mssql", "connection-string": "Server=host.docker.internal\\mssql,1433;Initial Catalog=Library;User Id=sa;Password=<your-password>;TrustServerCertificate=true;" }, "runtime": { "rest": { "enabled": true }, "graphql": { "enabled": true } }, "entities": { "book": { "source": "dbo.Books", "permissions": [ { "actions": [ "read" ], "role": "anonymous" } ] } } }
Hämta och kör Docker-containeravbildningen
Kör DAB med hjälp av Docker-containeravbildningen som finns i Microsoft Container Registry. När du kör containeravbildningen monterar du en katalog så att DAB kan läsa konfigurationsfilen.
Hämta avbilden för Docker-containern
mcr.microsoft.com/azure-databases/data-api-builder.docker pull mcr.microsoft.com/azure-databases/data-api-builderKör containern som publicerar
5000porten och bind monteringen avdab-config.jsonfilen.docker run \ --name dab \ --publish 5000:5000 \ --detach \ --mount type=bind,source=$(pwd)/dab-config.json,target=/App/dab-config.json,readonly \ mcr.microsoft.com/azure-databases/data-api-builderAnvänd en webbläsare för att navigera till
http://localhost:5000/api/book. Utdata ska vara en JSON-matris med bokobjekt från REST API-slutpunkten.{ "value": [ { "id": 1000, "title": "Practical Azure SQL Database for Modern Developers", "year": 2020, "pages": 326 }, { "id": 1001, "title": "SQL Server 2019 Revealed: Including Big Data Clusters and Machine Learning", "year": 2019, "pages": 444 }, { "id": 1002, "title": "Azure SQL Revealed: A Guide to the Cloud for SQL Server Professionals", "year": 2020, "pages": 528 }, { "id": 1003, "title": "SQL Server 2022 Revealed: A Hybrid Data Platform Powered by Security, Performance, and Availability", "year": 2022, "pages": 506 } ] }Anmärkning
Den här guiden använder en HTTP-anslutning. När du kör en Data API Builder-container i Docker ser du att endast HTTP-slutpunkten mappas. Om du vill att Docker-containern ska ha stöd för HTTPS för lokal utveckling måste du ange ditt eget SSL/TLS-certifikat och privata nyckelfiler som krävs för SSL/TLS-kryptering och exponera HTTPS-porten. En omvänd proxy kan också användas för att framtvinga att klienter ansluter till servern via HTTPS för att säkerställa att kommunikationskanalen krypteras innan begäran vidarebefordras till containern.