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 données Cosmos DB pour NoSQL à 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 |
Oui | 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 | – | Restreindre les enregistrements plus récents que N jours |
--sampling-group-count <int> |
Non | – | Pour TimePartitionedSampler uniquement |
-c, --config <file> |
Non | Spécifique à l’env ou dab-config.json |
Chemin d’accès au fichier de configuration |
--help |
Non | – | Afficher l’écran d’aide |
--version |
Non | – | Afficher les informations de version |
Comportement
| Mode | Descriptif |
|---|---|
| Exporter un schéma existant | Démarre un runtime temporaire, un schéma GraphQL introspects, écrit un fichier |
| Générer un schéma | Exemples de documents Cosmos DB et schéma déduit |
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 lorsque les partitions ont un schéma varié
TimePartitionedSampler
- Fractionne min/max
_tsen groupes de temps - N documents par groupe
-
--sampling-group-countObligatoire
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, rien ne se passe.
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 données Cosmos DB
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
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)
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 |
| Non zéro | É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.graphql \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 15
Utilisation des fichiers générés
Définissez runtime.graphql.schema le chemin d’accès du fichier de schéma exporté. Pour plus d’informations, consultez Configuration du runtime.
Conseil / Astuce
Validez le schéma généré une fois stable. Réexécutez 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é | Chaîne de connexion incorrecte | 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