Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Esportare o generare un file di schema GraphQL e salvarlo su disco. Sono supportate due modalità:
- Recuperare lo schema esistente da un'istanza di runtime DAB temporanea
- Generare uno schema da dati Cosmos DB per NoSQL usando il campionamento
Sintassi
dab export --graphql -o <output-directory> [options]
Importante
Richiede una configurazione DAB valida. Il tipo di database viene letto dal file di configurazione. Non viene accettato alcun --database-type flag.
Sguardo rapido
| Opzione | Obbligatorio | Predefinito | Si applica |
|---|---|---|---|
--graphql |
Yes | false | Deve essere impostato per l'esportazione dello schema |
-o, --output <dir> |
Yes | – | Directory per lo schema di output |
-g, --graphql-schema-file <name> |
NO | schema.gql |
Nome file inserito all'interno del dir di output |
--generate |
NO | false | Generare lo schema dai dati di Cosmos DB |
-m, --sampling-mode <mode> |
NO | TopNExtractor |
Uno di: TopNExtractor, EligibleDataSampler, TimePartitionedSampler |
-n, --sampling-count <int> |
NO | Dipendente dalla modalità | Numero di record per modalità |
--sampling-partition-key-path <path> |
NO | – | Solo per EligibleDataSampler |
-d, --sampling-days <int> |
NO | – | Limitare i record più recenti di N giorni |
--sampling-group-count <int> |
NO | – | Solo per TimePartitionedSampler |
-c, --config <file> |
NO | Specifica di Env o dab-config.json |
Percorso del file di configurazione |
Comportamento
| Mode | Description |
|---|---|
| Esportare lo schema esistente | Avvia un runtime temporaneo, introspetta lo schema GraphQL, scrive il file |
| Generare lo schema | Esempi di documenti e inferi dello schema di Cosmos DB |
Lo schema vuoto genera un errore: "Lo schema GraphQL generato è vuoto. Assicurarsi che i dati siano disponibili per generare lo schema."
Modalità di campionamento
TopNExtractor
- Esempi N documenti recenti
- Filtro ora facoltativo con
--sampling-days
Usare per set di dati uniformi di dimensioni inferiori
EligibleDataSampler
- Campionamento compatibile con le partizioni
- N documenti per partizione
-
--sampling-partition-key-pathopzionale
Usare quando le partizioni hanno uno schema diverso
TimePartitionedSampler
- Suddivide min/max
_tsin gruppi di tempo - N documenti per gruppo
-
--sampling-group-countObbligatorio
Usare quando lo schema si evolve nel tempo
Annotazioni
Maggiore utilizzo di risorse a causa di più query.
Options
--graphql
Abilita l'esportazione dello schema. Senza di esso, non succede nulla.
-o, --output
Directory per il file di schema. Creato se mancante.
-g, --graphql-schema-file
Solo nome file di output, il valore predefinito è schema.gql.
--generate
- false (impostazione predefinita): Avvia runtime, schema introspettivo
- true: Generare lo schema dai dati di Cosmos DB
-m, --sampling-mode
Opzioni: TopNExtractor, EligibleDataSampler, TimePartitionedSampler Impostazione predefinita: TopNExtractor
-n, --sampling-count
- TopNExtractor: documenti totali
- EligibleDataSampler: per partizione
- TimePartitionedSampler: per gruppo di tempo
--sampling-partition-key-path
Percorso della chiave di partizione per EligibleDataSampler
-d, --sampling-days
Filtrare i documenti in base alla recency (giorni)
--sampling-group-count
Numero di gruppi di tempo per TimePartitionedSampler
-c, --config
Percorso del file di configurazione. Se omesso:
-
dab-config.<DAB_ENVIRONMENT>.jsonse è impostato env var - Altrimenti
dab-config.json
Codici restituiti
| Codice | Meaning |
|---|---|
| 0 | Esportazione completata |
| Diverso da zero | Esportazione non riuscita |
Esempi
Esportare lo schema esistente
dab export --graphql -o ./schema-out
Genera schema (TopNExtractor)
dab export --graphql -o ./schema-gen \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 25 \
--sampling-days 14
Campionamento compatibile con le partizioni
dab export --graphql -o ./schema-partitions \
--generate \
--sampling-mode EligibleDataSampler \
--sampling-partition-key-path /customerId \
--sampling-count 10
Campionamento basato sul tempo
dab export --graphql -o ./schema-time \
--generate \
--sampling-mode TimePartitionedSampler \
--sampling-group-count 8 \
--sampling-count 5 \
--sampling-days 60
Nome file di output personalizzato
dab export --graphql -o ./out \
-g cosmos-schema.graphql \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 15
Utilizzo di file generato
Aggiornare la configurazione:
{
"data-source": {
"database-type": "cosmosdb_nosql"
},
"runtime": {
"graphql": {
"enabled": true,
"schema-file": "schema.gql"
}
}
}
Suggerimento
Eseguire il commit dello schema generato una volta stabile. Eseguire di nuovo se il modello di dati cambia.
Risoluzione dei problemi
| Sintomo | Motivo | Correzione |
|---|---|---|
| Schema vuoto | Dati non sufficienti o non sufficienti | Aggiungere dati rappresentativi |
| Errore di connettività | Stringa di connessione non valida | Correggere le credenziali o la rete |
| Campi mancanti | Non nella documentazione campionata | Aumentare il numero o la modalità di modifica |
| Pochi risultati della partizione | Chiave di partizione errata | Specificare il percorso della chiave corretto |
| Campionamento a tempo lento | Set di dati di grandi dimensioni | Ridurre i gruppi o i giorni |
Procedure consigliate
- Iniziare con TopNExtractor
- Usare il controllo della versione per diffire le modifiche dello schema
- Per le raccolte critiche, eseguire più passaggi con parametri diversi