Sdílet prostřednictvím


validate příkaz

Ověřte konfigurační soubor Tvůrce dat bez spuštění modulu runtime. Spustí sekvenci kontrol (schéma, struktura, oprávnění, připojení, metadata) a vrátí ukončovací kód pro úspěch (0) nebo selhání (nenulový). Užitečné v kanálech CI/CD.

Syntaxe

dab validate [options]

Rychlý přehled

Možnost Shrnutí
-c, --config Cesta ke konfiguračnímu souboru. Výchozí hodnota je specifická pro prostředí nebo dab-config.json.

Poznámka:

validate přijímá žádné příznaky jiné než --config.

Ukončovací kódy

Code Meaning
0 Konfigurace prošla všemi fázemi.
nenulový Jedna nebo více fází se nezdařila. Podrobnosti najdete v protokolech.

Příklad CI:

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

-c, --config

Cesta ke konfiguračnímu souboru. Pokud ho vynecháte, validátor nejprve vyhledá dab-config.<DAB_ENVIRONMENT>.json .dab-config.json

Example

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

Fáze ověřování

Ověření probíhá v pořadí. Pokud jedna fáze selže, pozdější fáze se přeskočí.

1. Schéma

Zkontroluje, jestli konfigurační JSON odpovídá schématu.

Pravidla

  • $schema je dosažitelná nebo strukturálně platná
  • data-source, runtimea entities oddíly existují a jsou dobře vytvořené
  • Nepovolené neočekávané vlastnosti (na schéma)
  • Hodnoty výčtu (například database-type) jsou platné.

Chyby a opravy

Problém Example Opravit
Chybně napsaná vlastnost "conn-string" Použijte "connection-string".
Neplatný výčet "database-type": "mydb" Použijte podporované hodnoty.
Nesprávný obrazec entities jako pole Použijte objekt klíčovaný podle názvů entit.

2. Vlastnosti konfigurace

Kontroluje konzistenci nad rámec schématu.

Pravidla

  • Platné database-type zadané
  • Pro cosmosdb_nosqlcestu schématu GraphQL a databáze a GraphQL se vyžaduje. V závislosti na entitách se může vyžadovat také kontejner. Nastavení REST se ignoruje.
  • Musí být povolený aspoň jeden koncový bod (REST, GraphQL, MCP).
  • Cesty REST/GraphQL začínají / a nekolidují
  • Starší *.disabled příznaky generují upozornění, ale selžou
  • Pokud používáte JWT, musí se nastavit vystavitel i cílová skupina.

Chyby a opravy

Problém Example Opravit
Všechny koncové body vypnuté REST=false, GraphQL=false, MCP=false Znovu ho povolte.
Chybějící schéma služby Cosmos DB Ne graphql-schema Zadejte cestu schématu.
Neshoda ověřování Sada vystavitelů, chybí cílová skupina Zadejte obojí nebo ani jedno.

3. Oprávnění

Kontroluje, jestli jsou oprávnění jednotlivých entit platná.

Pravidla

  • Každá položka má neprázdnou roli.

  • Akce musí být platné:

    • Tabulky a zobrazení: create, read, update, delete, *
    • Uložené proc: execute, *
  • Žádné prázdné seznamy akcí

  • Jedna sada akcí musí být buď explicitní * , nebo explicitní, nikoli obě

Chyby a opravy

Problém Example Opravit
Nepodporovaná akce "drop" Použít readatd.
SP s CRUD Uložené využití proc update Použijte execute nebo *.
Prázdný seznam "actions": [] Zadejte akce.

4. Připojení k databázi

Zkontroluje, jestli funguje připojení k databázi.

Pravidla

  • Parsovatelný připojovací řetězec
  • Platné přihlašovací údaje
  • Databáze nebo kontejner existuje.

Chyby a opravy

Problém Example Opravit
Přerušení zápasu Nedostupný server Zkontrolujte síť nebo bránu firewall.
Chybné přihlášení Ověření se nezdařilo. Oprava uživatelského jména a hesla
Chybějící databáze Databáze nebyla nalezena. Vytvořte konfiguraci databáze nebo aktualizace.

5. Metadata entit

Kontroluje definice entit v databázi.

Pravidla

  • Zdrojový objekt existuje.
  • Tabulky/zobrazení: platná klíčová pole, zahrnutá nebo vyloučená pole existují.
  • Zobrazení vždy potřebují source.key-fields
  • Uložené procedury: parametry odpovídají podpisu
  • Relace: cílová entita existuje, propojení polí v souladu s klíči; linking.object musí existovat pro M:N.
  • Referenční pole zásad
  • Ukládání hodnoty TTL do mezipaměti nezáporné

Chyby a opravy

Problém Example Opravit
Chybějící pole klíče Zobrazit bez key-fields Přidat source.key-fields.
Chybný sloupec fields.include Seznamy chybějících sloupců Odeberte nebo opravte název.
Neshoda relací Propojování počtu polí != Počet PK Opravte propojení polí.

Příklady výstupu

Úspěch:

Data API builder <version>
Config is valid.

Selhání:

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

Poznámka:

Chyby ověřování jsou specifické pro jednotlivé fáze. Před opětovním spuštění opravte první neúspěšnou fázi.

soubory Environment-Specific

Pokud DAB_ENVIRONMENT je nastavena, validate načte dab-config.<DAB_ENVIRONMENT>.json.

Example

DAB_ENVIRONMENT=Staging dab validate

Poznámka:

Validátor zkontroluje pouze jeden vyřešený soubor. Nesloučí varianty prostředí.

Příklad použití

Základní:

dab validate

Explicitní soubor:

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

Více prostředí:

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

Ci fast-fail:

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

Workflow

  1. Spusťte příkaz dab validate.
  2. Oprava první neúspěšné fáze
  3. Znovu spusťte, dokud nebude ukončovací kód 0.
  4. Potvrzení ověřené konfigurace

Návod

Často ověřte malé změny. K rychlému určení regresí použijte rozdíly správy verzí.