Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Commande
Exportez ou générez un fichier de schéma GraphQL et enregistrez-le sur le disque. Deux modes sont pris en charge :
- Récupérer un schéma existant à partir d’une instance d’exécution DAB temporaire
- Générer un schéma à partir de Cosmos DB pour NoSQL données à l’aide de l’échantillonnage
Syntaxe
dab export --graphql -o <output-directory> [options]
Important
Nécessite une configuration DAB valide. Le type de base de données est lu à partir du fichier config. Aucun indicateur n’est --database-type accepté.
Aperçu rapide
| Choix | Obligatoire | Par défaut | S’applique |
|---|---|---|---|
--graphql |
Non* | false | Doit être défini pour l’exportation de schéma |
-o, --output <dir> |
Oui | – | Répertoire pour le schéma de sortie |
-g, --graphql-schema-file <name> |
Non | schema.gql |
Nom de fichier placé dans le dir de sortie |
--generate |
Non | false | Générer un schéma à partir de données Cosmos DB |
-m, --sampling-mode <mode> |
Non | TopNExtractor |
Un des suivants : TopNExtractor, EligibleDataSampler, TimePartitionedSampler |
-n, --sampling-count <int> |
Non | Dépendant du mode | Nombre d’enregistrements par mode |
--sampling-partition-key-path <path> |
Non | – | Pour EligibleDataSampler uniquement |
-d, --sampling-days <int> |
Non | Dépendant du mode | Restreindre les enregistrements plus récents que N jours |
--sampling-group-count <int> |
Non |
10 (TimePartitionedSampler) |
Pour TimePartitionedSampler uniquement |
-c, --config <file> |
Non | Spécifique à l’env ou dab-config.json |
Chemin d’accès au fichier de configuration |
*
--graphql n’est pas requis par l’analyseur, mais l’exportation échoue, sauf si vous le fournissez.
Comportement
| Mode | Descriptif |
|---|---|
| Exporter un schéma existant | Démarre un runtime temporaire, un schéma GraphQL introspects et écrit un fichier |
| Générer un schéma | Exemples Azure Cosmos DB pour NoSQL documents et déduire le schéma |
En mode d’exportation (sans --generate), DAB tente https://localhost:5001 d’abord et revient à http://localhost:5000.
Le mode d’exportation retente la récupération du schéma jusqu’à cinq fois. Le mode générer utilise une seule tentative.
Le schéma vide génère une erreur : « Le schéma GraphQL généré est vide. Vérifiez que les données sont disponibles pour générer le schéma. »
Modes d’échantillonnage
TopNExtractor
- Exemples N documents récents
- Filtre d’heure facultatif avec
--sampling-days
Utiliser pour des jeux de données plus petits et uniformes
EligibleDataSampler
- Échantillonnage prenant en compte les partitions
- N documents par partition
-
--sampling-partition-key-pathfacultatif
Utiliser pour les partitions avec des schémas variés
TimePartitionedSampler
- Fractionne min/max
_tsen groupes de temps - N documents par groupe
-
--sampling-group-countfacultatif (valeur par défaut10)
Utiliser quand le schéma évolue au fil du temps
Note
Ressources plus intensives en raison de plusieurs requêtes.
--graphql
Active l’exportation de schéma. Sans cela, exportez une erreur et ne produit pas de fichier de schéma.
Example
dab export \
--graphql \
-o ./schema-out
-o, --output
Répertoire du fichier de schéma. Créé s’il est manquant.
Example
dab export \
--graphql \
-o ./schema-out
-g, --graphql-schema-file
Nom de fichier de sortie uniquement, valeur par défaut schema.gql.
Example
dab export \
--graphql \
-o ./out \
-g custom-schema.gql
--generate
- false (valeur par défaut) : Démarrer le runtime, schéma d’introspect
- true : Générer un schéma à partir de Azure Cosmos DB pour les données NoSQL
Important
--generate est pris en charge uniquement avec Azure Cosmos DB pour la configuration de NoSQL.
Example
dab export \
--graphql \
-o ./schema-gen \
--generate
-m, --sampling-mode
Options : TopNExtractor, , EligibleDataSamplerTimePartitionedSamplerPar défaut :TopNExtractor
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-mode TopNExtractor
-n, --sampling-count
- TopNExtractor : total des documents
- EligibleDataSampler : par partition
- TimePartitionedSampler : par groupe de temps
Les valeurs par défaut dépendent du mode :
-
TopNExtractor:10 -
EligibleDataSampler:5 -
TimePartitionedSampler:10
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 25
--sampling-partition-key-path
Chemin de clé de partition pour EligibleDataSampler
Example
dab export \
--graphql \
-o ./schema-partitions \
--generate \
--sampling-mode EligibleDataSampler \
--sampling-partition-key-path /customerId
-d, --sampling-days
Filtrer les documents par récurrence (jours)
Les valeurs par défaut dépendent du mode :
-
TopNExtractor: aucune limite de temps (valeur par défaut0) -
EligibleDataSampler:30 -
TimePartitionedSampler:10
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-days 14
--sampling-group-count
Nombre de groupes de temps pour TimePartitionedSampler
Example
dab export \
--graphql \
-o ./schema-time \
--generate \
--sampling-mode TimePartitionedSampler \
--sampling-group-count 8
-c, --config
Chemin du fichier de configuration. S’il est omis :
-
dab-config.<DAB_ENVIRONMENT>.jsonsi env var est défini - Autrement
dab-config.json
Example
dab export \
--graphql \
-o ./schema-out \
--config ./dab-config.json
--help
Affichez l’écran d’aide.
Example
dab export --help
--version
Affichez les informations de version.
Example
dab export --version
Codes de retour
| Code | Meaning |
|---|---|
| 0 | Exportation réussie |
| -1 | Échec de l’exportation |
Examples
Exporter un schéma existant
dab export \
--graphql \
-o ./schema-out
Générer un schéma (TopNExtractor)
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 25 \
--sampling-days 14
Échantillonnage prenant en compte les partitions
dab export \
--graphql \
-o ./schema-partitions \
--generate \
--sampling-mode EligibleDataSampler \
--sampling-partition-key-path /customerId \
--sampling-count 10
Échantillonnage basé sur le temps
dab export \
--graphql \
-o ./schema-time \
--generate \
--sampling-mode TimePartitionedSampler \
--sampling-group-count 8 \
--sampling-count 5 \
--sampling-days 60
Nom de fichier de sortie personnalisé
dab export \
--graphql \
-o ./out \
-g cosmos-schema.gql \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 15
Utilisation des fichiers générés
Définissez data-source.options.schema le chemin d’accès du fichier de schéma exporté. Pour plus d’informations, consultez la configuration de la source de données.
Conseil / Astuce
Validez le schéma généré une fois stable. Réexécuter si le modèle de données change.
Résolution des problèmes
| Symptôme | La cause | Réparer |
|---|---|---|
| Schéma vide | Aucune donnée ou insuffisante | Ajouter des données représentatives |
| Erreur de connectivité | Mauvaise connection string | Corriger les informations d’identification ou le réseau |
| Champs manquants | Non dans les documents échantillonné | Augmenter le nombre ou le mode de modification |
| Quelques résultats de partition | Clé de partition incorrecte | Fournir le chemin d’accès de clé correct |
| Échantillonnage à temps lent | Jeu de données volumineux | Réduire les groupes ou les jours |
Meilleures pratiques
- Commencer par TopNExtractor
- Utiliser le contrôle de version pourdifférer les modifications de schéma
- Pour les collections critiques, exécutez plusieurs passes avec différents paramètres