Compartir a través de


Comando export

Exporte o genere un archivo de esquema graphQL y guárdelo en el disco. Se admiten dos modos:

  • Captura del esquema existente desde una instancia de tiempo de ejecución de DAB temporal
  • Generación de esquemas a partir de Cosmos DB para NoSQL datos mediante muestreo

Syntax

dab export --graphql -o <output-directory> [options]

Importante

Requiere una configuración de DAB válida. El tipo de base de datos se lee del archivo de configuración. No se acepta ninguna --database-type marca.

Vista rápida

Opción Obligatorio Predeterminado Aplicable
--graphql No* false Debe establecerse para la exportación de esquemas.
-o, --output <dir> Directorio para el esquema de salida
-g, --graphql-schema-file <name> No schema.gql Nombre de archivo colocado dentro del dir de salida
--generate No false Generación de esquemas a partir de datos de Cosmos DB
-m, --sampling-mode <mode> No TopNExtractor Uno de: TopNExtractor, , EligibleDataSamplerTimePartitionedSampler
-n, --sampling-count <int> No Dependiente del modo Número de registros por modo
--sampling-partition-key-path <path> No Solo para EligibleDataSampler
-d, --sampling-days <int> No Dependiente del modo Restringir a registros más recientes que N días
--sampling-group-count <int> No 10 (TimePartitionedSampler) Solo para TimePartitionedSampler
-c, --config <file> No Específico de env o dab-config.json Ruta de acceso al archivo de configuración

* --graphql no es necesario analizar, pero se produce un error en la exportación a menos que la proporcione.

Comportamiento

Mode Description
Exportación del esquema existente Inicia un entorno de ejecución temporal, introspects esquema GraphQL y escribe el archivo
Generar esquema Ejemplos Azure Cosmos DB para documentos e inferencias de NoSQL esquema

En el modo de exportación (sin --generate), DAB primero intenta https://localhost:5001 y vuelve a http://localhost:5000.

El modo de exportación reintenta la recuperación del esquema hasta cinco veces. El modo de generación usa un único intento.

El esquema vacío produce un error: "El esquema de GraphQL generado está vacío. Asegúrese de que los datos están disponibles para generar el esquema".

Modos de muestreo

TopNExtractor

  • Ejemplos N documentos recientes
  • Filtro de hora opcional con --sampling-days

Uso para conjuntos de datos más pequeños y uniformes

EligibleDataSampler

  • Muestreo compatible con particiones
  • N documentos por partición
  • --sampling-partition-key-path opcional

Uso para particiones con esquemas variados

TimePartitionedSampler

  • Divide min/max _ts en grupos de tiempo.
  • N documentos por grupo
  • --sampling-group-count opcional (valor predeterminado 10)

Uso cuando el esquema evoluciona con el tiempo

Nota:

Más recursos intensivos debido a varias consultas.

--graphql

Habilita la exportación de esquemas. Sin él, exporta registra un error y no genera un archivo de esquema.

Example

dab export \
  --graphql \
  -o ./schema-out

-o, --output

Directorio para el archivo de esquema. Se crea si falta.

Example

dab export \
  --graphql \
  -o ./schema-out

-g, --graphql-schema-file

Solo nombre de archivo de salida, el valor predeterminado es schema.gql.

Example

dab export \
  --graphql \
  -o ./out \
  -g custom-schema.gql

--generate

  • false (valor predeterminado): iniciar el tiempo de ejecución, esquema introspect
  • true: Generar esquema a partir de Azure Cosmos DB para los datos de NoSQL

Importante

--generate solo se admite con Azure Cosmos DB para la configuración de NoSQL.

Example

dab export \
  --graphql \
  -o ./schema-gen \
  --generate

-m, --sampling-mode

Opciones: TopNExtractor, EligibleDataSampler, TimePartitionedSampler Valor predeterminado: TopNExtractor

Example

dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-mode TopNExtractor

-n, --sampling-count

  • TopNExtractor: total de documentos
  • EligibleDataSampler: por partición
  • TimePartitionedSampler: por grupo de tiempo

Los valores predeterminados dependen del modo:

  • TopNExtractor: 10
  • EligibleDataSampler: 5
  • TimePartitionedSampler: 10

Example

dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 25

--sampling-partition-key-path

Ruta de acceso de la clave de partición para EligibleDataSampler

Example

dab export \
  --graphql \
  -o ./schema-partitions \
  --generate \
  --sampling-mode EligibleDataSampler \
  --sampling-partition-key-path /customerId

-d, --sampling-days

Filtrar documentos por recencia (días)

Los valores predeterminados dependen del modo:

  • TopNExtractor: sin límite de tiempo (valor predeterminado 0)
  • EligibleDataSampler: 30
  • TimePartitionedSampler: 10

Example

dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-days 14

--sampling-group-count

Número de grupos de tiempo para TimePartitionedSampler

Example

dab export \
  --graphql \
  -o ./schema-time \
  --generate \
  --sampling-mode TimePartitionedSampler \
  --sampling-group-count 8

-c, --config

Ruta de acceso del archivo de configuración. Si se omite:

  1. dab-config.<DAB_ENVIRONMENT>.json si se establece env var
  2. De otra manera dab-config.json

Example

dab export \
  --graphql \
  -o ./schema-out \
  --config ./dab-config.json

--help

Muestra la pantalla de ayuda.

Example

dab export --help

--version

Mostrar información de versión.

Example

dab export --version

Códigos de retorno

Código Meaning
0 Exportación correcta
-1 Error de exportación

Examples

Exportación del esquema existente

dab export \
  --graphql \
  -o ./schema-out

Generar esquema (TopNExtractor)

dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 25 \
  --sampling-days 14

Muestreo compatible con particiones

dab export \
  --graphql \
  -o ./schema-partitions \
  --generate \
  --sampling-mode EligibleDataSampler \
  --sampling-partition-key-path /customerId \
  --sampling-count 10

Muestreo basado en tiempo

dab export \
  --graphql \
  -o ./schema-time \
  --generate \
  --sampling-mode TimePartitionedSampler \
  --sampling-group-count 8 \
  --sampling-count 5 \
  --sampling-days 60

Nombre de archivo de salida personalizado

dab export \
  --graphql \
  -o ./out \
  -g cosmos-schema.gql \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 15

Uso de archivos generado

Establezca data-source.options.schema en la ruta de acceso del archivo de esquema exportado. Para obtener más información, consulte Configuración del origen de datos.

Sugerencia

Confirme el esquema generado una vez estable. Vuelva a ejecutar si cambia el modelo de datos.

Solución de problemas

Síntoma Causa Corrección
Esquema vacío Datos no suficientes o no Agregar datos representativos
Error de conectividad Connection string incorrectas Corrección de credenciales o red
Faltan campos No en documentos muestreados Aumentar el número o el modo de cambio
Pocos resultados de partición Clave de partición incorrecta Proporcionar la ruta de acceso de clave correcta
Muestreo de tiempo lento Conjunto de datos grande Reducir grupos o días

procedimientos recomendados

  • Empezar con TopNExtractor
  • Uso del control de versiones para cambiar el esquema
  • Para colecciones críticas, ejecute varios pasos con parámetros diferentes.