Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Zweryfikuj plik konfiguracji konstruktora interfejsu API danych bez uruchamiania środowiska uruchomieniowego. Uruchamia sekwencję testów (schemat, struktura, uprawnienia, łączność, metadane) i zwraca kod zakończenia dla powodzenia (0) lub niepowodzenia (niezerowego). Przydatne w potokach ciągłej integracji/ciągłego wdrażania.
Składnia
dab validate [options]
Szybki rzut oka
| Option | Podsumowanie |
|---|---|
-c, --config |
Ścieżka do pliku konfiguracji. Wartość domyślna to środowisko lub dab-config.json. |
Uwaga / Notatka
validate nie akceptuje żadnych flag innych niż --config.
Kody zakończenia
| Code | Meaning |
|---|---|
| 0 | Konfiguracja przeszła wszystkie etapy. |
| bez zera | Co najmniej jeden etap zakończył się niepowodzeniem. Aby uzyskać szczegółowe informacje, zobacz dzienniki. |
Przykład ciągłej integracji:
dab validate && echo "OK" || { echo "INVALID CONFIG"; exit 1; }
-c, --config
Ścieżka do pliku konfiguracji. Jeśli pominięto, moduł sprawdzania poprawności najpierw szuka dab-config.<DAB_ENVIRONMENT>.json elementu , a następnie dab-config.json.
Example
dab validate --config ./dab-config.prod.json
Etapy walidacji
Walidacja odbywa się w kolejności. Jeśli jeden etap zakończy się niepowodzeniem, późniejsze etapy zostaną pominięte.
1. Schemat
Sprawdza, czy plik JSON konfiguracji jest zgodny ze schematem.
Reguły
-
$schemajest osiągalny lub strukturalnie prawidłowy -
data-source,runtimeientitiesistnieją sekcje i są dobrze sformułowane - Niedozwolone nieoczekiwane właściwości (według schematu)
- Wartości wyliczenia (na przykład
database-type) są prawidłowe
Błędy i poprawki
| Problem | Example | Napraw. |
|---|---|---|
| Błędna właściwość | "conn-string" |
Użyj "connection-string". |
| Nieprawidłowe wyliczenie | "database-type": "mydb" |
Użyj obsługiwanych wartości. |
| Nieprawidłowy kształt |
entities jako tablica |
Użyj obiektu kluczowanego według nazw jednostek. |
2. Właściwości konfiguracji
Sprawdza spójność poza schematem.
Reguły
- Podano prawidłową
database-typewartość - W przypadku
cosmosdb_nosqlparametrów wymagana jest ścieżka schematu programu GraphQL. Kontener może być również wymagany w zależności od jednostek. Ustawienia REST są ignorowane. - Musi być włączony co najmniej jeden punkt końcowy (REST, GraphQL, MCP)
- Ścieżki REST/GraphQL zaczynają się od
/i nie kolidują - Starsze
*.disabledflagi emitują ostrzeżenia, ale nie kończą się niepowodzeniem - W przypadku korzystania z biblioteki JWT należy ustawić zarówno wystawcę, jak i odbiorców
Błędy i poprawki
| Problem | Example | Napraw. |
|---|---|---|
| Wszystkie punkty końcowe wyłączone | REST=false, GraphQL=false, MCP=false | Włącz ponownie jeden. |
| Brak schematu usługi Cosmos DB | Nie graphql-schema |
Podaj ścieżkę schematu. |
| Niezgodność uwierzytelniania | Zestaw wystawców, brak odbiorców | Podaj zarówno, jak i nie. |
3. Uprawnienia
Sprawdza, czy uprawnienia każdej jednostki są prawidłowe.
Reguły
Każdy wpis ma niepustą rolę
Akcje muszą być prawidłowe:
- Tabele/widoki:
create, read, update, delete, * - Przechowywane procs:
execute, *
- Tabele/widoki:
Brak pustych list akcji
Pojedynczy zestaw akcji musi być akcjami
*LUB jawnymi, a nie obydwoma
Błędy i poprawki
| Problem | Example | Napraw. |
|---|---|---|
| Nieobsługiwana akcja | "drop" |
Użyj polecenia read, itp. |
| SP z operacją CRUD | Użycie przechowywanego proc update |
Użyj execute lub *. |
| Pusta lista | "actions": [] |
Podaj akcje. |
4. Połączenie z bazą danych
Sprawdza, czy połączenie z bazą danych działa.
Reguły
- Parametry połączenia można przeanalizować
- Prawidłowe poświadczenia
- Baza danych/kontener istnieje
Błędy i poprawki
| Problem | Example | Napraw. |
|---|---|---|
| Przerwa czasowa | Serwer jest niedostępny | Sprawdź sieć/zaporę. |
| Nieprawidłowe logowanie | Uwierzytelnianie nie powiodło się | Napraw nazwę użytkownika/hasło. |
| Brak bazy danych | Nie znaleziono bazy danych | Utwórz bazę danych lub zaktualizuj konfigurację. |
5. Metadane jednostki
Sprawdza definicje jednostek w bazie danych.
Reguły
- Obiekt źródłowy istnieje
- Tabele/widoki: istnieją pola klucza prawidłowe, dołączone/wykluczone pola
- Widoki zawsze potrzebują
source.key-fields - Procedury składowane: parametry pasują do podpisu
- Relacje: jednostka docelowa istnieje, łączenie pól jest zgodne z kluczami; link.object musi istnieć dla wielu-do-wielu
- Zasady odwołują się do prawidłowych pól
- Buforowanie czasu wygaśnięcia nieujemnego
Błędy i poprawki
| Problem | Example | Napraw. |
|---|---|---|
| Brakujące pola kluczy | Wyświetl bez key-fields |
Dodaj source.key-fields. |
| Zła kolumna |
fields.include lista brakujących kolumn |
Usuń lub napraw nazwę. |
| Niezgodność relacji | Łączenie liczby pól != liczba PK | Napraw pola łączenia. |
Przykłady danych wyjściowych
Sukces:
Data API builder <version>
Config is valid.
Niepowodzenie:
Data API builder <version>
Error: View 'sales_summary' missing required key-fields.
Config is invalid.
Uwaga / Notatka
Błędy walidacji są specyficzne dla etapu. Napraw pierwszy etap niepowodzenia przed ponownym uruchomieniem.
pliki Environment-Specific
Jeśli DAB_ENVIRONMENT jest ustawiona, validate ładuje dab-config.<DAB_ENVIRONMENT>.jsonwartość .
Example
DAB_ENVIRONMENT=Staging dab validate
Uwaga / Notatka
Moduł sprawdzania poprawności sprawdza tylko jeden rozpoznany plik. Nie scala wariantów środowiska.
Przykładowe użycie
Podstawowy:
dab validate
Jawny plik:
dab validate --config ./configs/dab-config.test.json
Wiele środowisk:
for env in Development Staging Production; do
echo "Validating $env..."
DAB_ENVIRONMENT=$env dab validate || exit 1
done
Ciągła integracja — szybka awaria:
dab validate && echo "OK" || { echo "INVALID CONFIG"; exit 1; }
Workflow
- Uruchom
dab validate - Naprawianie pierwszego etapu niepowodzenia
- Uruchom ponownie, aż kod zakończenia ma wartość 0
- Zatwierdzanie zweryfikowanych konfiguracji
Wskazówka
Często weryfikuj małe zmiany. Użyj różnic kontroli wersji, aby szybko wskazać regresje.