Megosztás a következőn keresztül:


validate parancs

Ellenőrizze a Data API Builder konfigurációs fájlját a futtatókörnyezet indítása nélkül. Ellenőrzések sorozatát futtatja (séma, struktúra, engedélyek, kapcsolat, metaadatok), és egy kilépési kódot ad vissza a sikeres (0) vagy a sikertelen (nem nulla) hibához. Ci/CD-folyamatokban hasznos.

Szemantika

dab validate [options]

Gyors áttekintés

Lehetőség Összefoglalás
-c, --config A konfigurációs fájl elérési útja. Alapértelmezés szerint környezetspecifikus vagy dab-config.json.

Megjegyzés:

validate A nem fogad el más jelzőket, mint --configa .

Kilépési kódok

Kód Meaning
0 A konfiguráció az összes fázist teljesítette.
nem nulla Egy vagy több szakasz sikertelen volt. Részletekért tekintse meg a naplókat.

CI-példa:

dab validate && echo "OK" || { echo "INVALID CONFIG"; exit 1; }

-c, --config

A konfigurációs fájl elérési útja. Ha nincs megadva, az érvényesítő először a következőt keresi dab-config.<DAB_ENVIRONMENT>.json : dab-config.json.

Example

dab validate --config ./dab-config.prod.json

Érvényesítési szakaszok

Az ellenőrzés sorrendben történik. Ha egy szakasz meghiúsul, a rendszer kihagyja a későbbi szakaszokat.

1. Séma

Ellenőrzi, hogy a konfigurációs JSON megegyezik-e a sémával.

Szabályok

  • $schema elérhető vagy szerkezetileg érvényes
  • data-source, runtimeés entities a szakaszok léteznek, és jól formázottak
  • Nem engedélyezett váratlan tulajdonságok (séma szerint)
  • Az enumerálási értékek (például database-type) érvényesek

Hibák és javítások

Probléma Example Javítás
Hibásan írt tulajdonság "conn-string" Használja a "connection-string".
Érvénytelen enumerálás "database-type": "mydb" Támogatott értékek használata.
Helytelen alakzat entities tömbként Használjon entitásnevek által kulcsolt objektumot.

2. Konfigurációs tulajdonságok

A sémán túli konzisztenciát ellenőrzi.

Szabályok

  • Érvényes database-type megadott
  • Az cosmosdb_nosqladatbázis és a GraphQL séma elérési útja kötelező. Az entitásoktól függően szükség lehet tárolóra is. A REST-beállítások figyelmen kívül lesznek hagyva.
  • Legalább egy végpontot (REST, GraphQL, MCP) engedélyezni kell
  • REST/GraphQL-elérési utak kezdődnek / , és nem ütköznek
  • *.disabled Az örökölt jelzők figyelmeztetéseket bocsátanak ki, de nem hiúsulnak meg
  • JWT használata esetén a kiállítót és a célközönséget is be kell állítani

Hibák és javítások

Probléma Example Javítás
Az összes végpont ki van kapcsolva REST=false, GraphQL=false, MCP=false Engedélyezze újra az egyiket.
A Cosmos DB hiányzó sémája Nem graphql-schema Adja meg a séma elérési útját.
Hitelesítési eltérés Kiállítókészlet, hiányzó célközönség Adja meg mindkettőt vagy egyiket sem.

3. Engedélyek

Ellenőrzi, hogy az egyes entitások engedélyei érvényesek-e.

Szabályok

  • Minden bejegyzéshez tartozik egy nem üres szerepkör

  • A műveleteknek érvényesnek kell lenniük:

    • Táblák/nézetek: create, read, update, delete, *
    • Tárolt procs: execute, *
  • Nincs üres műveletlista

  • Egyetlen műveletkészletnek VAGY explicit műveletnek kell lennie, nem pedig mindkettőnek *

Hibák és javítások

Probléma Example Javítás
Nem támogatott művelet "drop" Használja read, stb.
SP és CRUD A tárolt proc használata update Használja execute vagy *.
Üres lista "actions": [] Adjon meg műveleteket.

4. Adatbázis-kapcsolat

Ellenőrzi, hogy működik-e az adatbázis-kapcsolat.

Szabályok

  • Kapcsolati sztring elemezhető
  • Érvényes hitelesítő adatok
  • Adatbázis/tároló létezik

Hibák és javítások

Probléma Example Javítás
Időkorlát A kiszolgáló nem érhető el Ellenőrizze a hálózatot/tűzfalat.
Rossz bejelentkezés A hitelesítés sikertelen Javítsa ki a felhasználónevet/jelszót.
Hiányzó adatbázis A adatbázis nem található Hozzon létre adatbázist vagy frissítse a konfigurációt.

5. Entitás metaadatai

Ellenőrzi az entitásdefiníciókat az adatbázison.

Szabályok

  • Forrásobjektum létezik
  • Táblák/nézetek: a kulcsmezők érvényesek, a belefoglalt/kizárt mezők léteznek
  • A nézetekre mindig szükség van source.key-fields
  • Tárolt eljárások: a paramok egyeznek az aláírásokkal
  • Kapcsolatok: a cél entitás létezik, a mezők csatolása a kulcsokhoz igazodik; A linking.object-nak több-a-többhöz kell léteznie
  • Szabályzatok hivatkozása érvényes mezőkre
  • TTL gyorsítótárazása nem negatív

Hibák és javítások

Probléma Example Javítás
Hiányzó kulcsmezők Megtekintés anélkül key-fields Add hozzá a(z) source.key-fields-t.
Hibás oszlop fields.include hiányzó oszlop listái Távolítsa el vagy javítsa ki a nevet.
A kapcsolat nem egyezik Mezők számának összekapcsolása != PK-szám A csatolási mezők javítása.

Kimeneti példák

Siker:

Data API builder <version>
Config is valid.

Kudarc:

Data API builder <version>
Error: View 'sales_summary' missing required key-fields.
Config is invalid.

Megjegyzés:

Az érvényesítési hibák szakaszspecifikusak. Az újrafuttatás előtt javítsa ki az első sikertelen szakaszt.

Environment-Specific fájlok

Ha DAB_ENVIRONMENT be van állítva, validate betölti a elemet dab-config.<DAB_ENVIRONMENT>.json.

Example

DAB_ENVIRONMENT=Staging dab validate

Megjegyzés:

Az érvényesítő csak egyetlen feloldott fájlt ellenőriz. Nem egyesít környezetvariánsokat.

Használati példa

Alapvető:

dab validate

Explicit fájl:

dab validate --config ./configs/dab-config.test.json

Többkörnyezet:

for env in Development Staging Production; do
  echo "Validating $env..."
  DAB_ENVIRONMENT=$env dab validate || exit 1
done

Ci gyors sikertelenség:

dab validate && echo "OK" || { echo "INVALID CONFIG"; exit 1; }

Workflow

  1. Az dab validate parancs futtatása
  2. Az első sikertelen szakasz javítása
  3. Futtassa újra, amíg a kilépési kód 0
  4. Érvényesített konfiguráció véglegesítése

Jótanács

Gyakran ellenőrizze a kisebb módosításokat. A verziókövetési diffekkel gyorsan rögzítheti a regressziókat.