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 lo schema da Cosmos DB per NoSQL dati 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 |
No* | 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 | Dipendente dalla modalità | Limitare i record più recenti di N giorni |
--sampling-group-count <int> |
NO |
10 (TimePartitionedSampler) |
Solo per TimePartitionedSampler |
-c, --config <file> |
NO | Specifica di Env o dab-config.json |
Percorso del file di configurazione |
*
--graphql non è un parser obbligatorio, ma l'esportazione non riesce a meno che non venga specificato.
Comportamento
| Mode | Description |
|---|---|
| Esportare lo schema esistente | Avvia un runtime temporaneo, introspetta lo schema GraphQL e scrive il file |
| Generare lo schema | Esempi Azure Cosmos DB per NoSQL documenti e schemi di inferenza |
In modalità di esportazione (senza --generate), DAB tenta https://localhost:5001 prima di tutto e esegue il fallback a http://localhost:5000.
La modalità di esportazione ritenta il recupero dello schema fino a cinque volte. La modalità di generazione usa un singolo tentativo.
Lo schema vuoto genera un errore: "Lo schema GraphQL generato è vuoto. Verificare 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 per le partizioni con schemi diversi
TimePartitionedSampler
- Suddivide min/max
_tsin gruppi di tempo - N documenti per gruppo
-
--sampling-group-countfacoltativo (impostazione predefinita10)
Usare quando lo schema si evolve nel tempo
Annotazioni
Maggiore utilizzo di risorse a causa di più query.
--graphql
Abilita l'esportazione dello schema. Senza di esso, esportare registra un errore e non genera un file di schema.
Example
dab export \
--graphql \
-o ./schema-out
-o, --output
Directory per il file di schema. Creato se mancante.
Example
dab export \
--graphql \
-o ./schema-out
-g, --graphql-schema-file
Solo nome file di output, il valore predefinito è schema.gql.
Example
dab export \
--graphql \
-o ./out \
-g custom-schema.gql
--generate
- false (impostazione predefinita): Avvia runtime, schema introspettivo
- true: generare lo schema da Azure Cosmos DB per i dati di NoSQL
Importante
--generate è supportato solo con Azure Cosmos DB per la configurazione di NoSQL.
Example
dab export \
--graphql \
-o ./schema-gen \
--generate
-m, --sampling-mode
Opzioni: TopNExtractor, EligibleDataSampler, TimePartitionedSampler Impostazione predefinita: TopNExtractor
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-mode TopNExtractor
-n, --sampling-count
- TopNExtractor: documenti totali
- EligibleDataSampler: per partizione
- TimePartitionedSampler: per gruppo di tempo
Le impostazioni predefinite dipendono dalla modalità:
-
TopNExtractor:10 -
EligibleDataSampler:5 -
TimePartitionedSampler:10
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 25
--sampling-partition-key-path
Percorso della chiave di partizione per EligibleDataSampler
Example
dab export \
--graphql \
-o ./schema-partitions \
--generate \
--sampling-mode EligibleDataSampler \
--sampling-partition-key-path /customerId
-d, --sampling-days
Filtrare i documenti in base alla recency (giorni)
Le impostazioni predefinite dipendono dalla modalità:
-
TopNExtractor: nessun limite di tempo (impostazione predefinita0) -
EligibleDataSampler:30 -
TimePartitionedSampler:10
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-days 14
--sampling-group-count
Numero di gruppi di tempo per TimePartitionedSampler
Example
dab export \
--graphql \
-o ./schema-time \
--generate \
--sampling-mode TimePartitionedSampler \
--sampling-group-count 8
-c, --config
Percorso del file di configurazione. Se omesso:
-
dab-config.<DAB_ENVIRONMENT>.jsonse è impostato env var - Altrimenti
dab-config.json
Example
dab export \
--graphql \
-o ./schema-out \
--config ./dab-config.json
--help
Visualizzare la schermata della Guida.
Example
dab export --help
--version
Visualizzare le informazioni sulla versione.
Example
dab export --version
Codici restituiti
| Codice | Meaning |
|---|---|
| 0 | Esportazione completata |
| -1 | 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.gql \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 15
Utilizzo di file generato
Impostare data-source.options.schema sul percorso del file dello schema esportato. Per altre informazioni, vedere Configurazione dell'origine dati.
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à | Connection string non valido | 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