Použití prostředí konfiguračních souborů s Tvůrcem rozhraní DATA API
Tento průvodce vás provede postupem cílení na vývojové prostředí pomocí konfiguračního souboru. Konfigurační soubory koncového výsledku by měly být dostatečně flexibilní, aby bylo možné v budoucnu přidat konfiguraci produkční databáze s minimálními změnami.
Požadavky
- Existující databáze SQL.
- Klient pro správu dat
- Pokud nemáte nainstalovaného klienta, nainstalujte Azure Data Studio.
- Rozhraní příkazového řádku tvůrce rozhraní API. Instalace rozhraní příkazového řádku
Create tabulky a dat SQL
Create tabulku s fiktivními daty, která se mají použít v tomto ukázkovém scénáři.
Připojte se k SQL Serveru a databázi pomocí preferovaného klienta nebo nástroje. Mezi příklady patří mimo jiné: SQL Server Management Studio, Azure Data Studio a rozšíření SQL Server pro Visual Studio Code.
Create tabulku
Books
se sloupciid
aname
.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 ); GO
Vložte do tabulky čtyři ukázkové řádky
Books
knihy.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) GO
Otestujte data pomocí jednoduchého
SELECT *
dotazu.SELECT * FROM dbo.Books
Create základní konfigurační soubor
Create konfigurační soubor směrného plánu pomocí rozhraní příkazového řádku DAB.
Create typický konfigurační soubor pomocí
dab init
.dab init --database-type "mssql" --host-mode "Development"
Přidejte entitu Book pomocí
dab add
.dab add Book --source "dbo.Books" --permissions "anonymous:*"
Sledujte aktuální konfigurační soubor dab-config.json . Soubor by měl obsahovat základní implementaci rozhraní API s jednou entitou, koncovým bodem rozhraní REST API a koncovým bodem GraphQL.
{ "$schema": "https://github.com/Azure/data-api-builder/releases/download/v0.10.23/dab.draft.schema.json", "data-source": { "database-type": "mssql", "connection-string": "", "options": { "set-session-context": false } }, "runtime": { "rest": { "enabled": true, "path": "/api", "request-body-strict": true }, "graphql": { "enabled": true, "path": "/graphql", "allow-introspection": true }, "host": { "cors": { "origins": [], "allow-credentials": false }, "authentication": { "provider": "StaticWebApps" }, "mode": "development" } }, "entities": { "Book": { "source": { "object": "dbo.Books", "type": "table" }, "graphql": { "enabled": true, "type": { "singular": "Book", "plural": "Books" } }, "rest": { "enabled": true }, "permissions": [ { "role": "anonymous", "actions": [ { "action": "*" } ] } ] } } }
Create soubor proměnných prostředí
Teď přidejte soubor prostředí pro ukládání proměnných prostředí pro DAB.
- Create soubor s názvem
.env
ve stejném adresáři jako konfigurační soubory rozhraní příkazového řádku DAB.
Poznámka
Název .env
souboru, například .gitignore
a .editorconfig
, nemá žádný název souboru, pouze příponu souboru. Název nerozlišuje velká a malá písmena, ale konvence je malá.
Přidejte proměnnou
DAB_ENVIRONMENT
prostředí s hodnotouDevelopment
. Přidejte také proměnnouSQL_DOCKER_CONNECTION_STRING
prostředí s databázovým připojovací řetězec.SQL_DOCKER_CONNECTION_STRING=<connection-string> DAB_ENVIRONMENT=Development
konfigurační soubor prostředí Create
Nakonec přidejte konfigurační soubor pro vývoj s rozdílem mezi aktuální konfigurací a požadovanou konfigurací prostředí.
Vytvořte soubor
dab-config.Development.json
. Přidejte následující obsah, který použije@env()
funkci k nastavení hodnotyconnection-string
ve vývojovém prostředí.{ "$schema": "<https://github.com/Azure/data-api-builder/releases/latest/download/dab.draft.schema.json>", "data-source": { "database-type": "mssql", "connection-string": "@env('SQL_DOCKER_CONNECTION_STRING')" } }
Uložte změny v souborech .env, dab-config.json a dab-config. Development.json souborů.
Nastavení testu
Pomocí
dab start
příkazu ověřte, že se nástroj spustí podle očekávání.dab start
Výstup nástroje by měl obsahovat adresu, která se má použít k přechodu na spuštěné rozhraní API.
Successfully completed runtime initialization. info: Microsoft.Hosting.Lifetime[14] Now listening on: <http://localhost:5000> info: Microsoft.Hosting.Lifetime[0]
Tip
V tomto příkladu běží aplikace na
localhost
portu 5000. Spuštěná aplikace může mít jinou adresu a port.Nejprve zkuste rozhraní API ručně tím, že na adresu vystavíte požadavek
/api/Book
GET.Tip
V tomto příkladu by adresa URL byla
https://localhost:5000/api/Book
. Na tuto adresu URL můžete přejít pomocí webového prohlížeče.Dále přejděte na stránku dokumentace ke Swaggeru na adrese
/swagger
.Tip
V tomto příkladu by adresa URL byla
<https://localhost:5000/swagger
. Na tuto adresu URL můžete znovu přejít pomocí webového prohlížeče.Nakonec vyzkoušejte koncový bod GraphQL tak, že přejdete na
/graphql
a spustíte tuto operaci.query { books(filter: { pages: { lt: 500 } }) { items { id title year pages } } }
Tip
V tomto příkladu by adresa URL byla
https://localhost:5000/graphql
. Na tuto adresu URL můžete znovu přejít pomocí webového prohlížeče.