Compartilhar via


export comando

Exporte ou gere um arquivo de esquema GraphQL e salve-o em disco. Há suporte para dois modos:

  • Buscar o esquema existente de uma instância temporária de runtime do DAB
  • Gerar esquema do Cosmos DB para dados NoSQL usando amostragem

Sintaxe

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

Importante

Requer uma configuração de DAB válida. O tipo de banco de dados é lido do arquivo de configuração. Nenhum --database-type sinalizador é aceito.

Olhar rápido

Opção Obrigatório Padrão Aplica-se
--graphql Yes false Deve ser definido para exportação de esquema
-o, --output <dir> Yes Diretório para o esquema de saída
-g, --graphql-schema-file <name> Não schema.gql Nome do arquivo colocado dentro do dir de saída
--generate Não false Gerar esquema de dados do Cosmos DB
-m, --sampling-mode <mode> Não TopNExtractor Um de: TopNExtractor, , EligibleDataSamplerTimePartitionedSampler
-n, --sampling-count <int> Não Dependente do modo Número de registros por modo
--sampling-partition-key-path <path> Não Somente para EligibleDataSampler
-d, --sampling-days <int> Não Restringir a registros mais recentes do que N dias
--sampling-group-count <int> Não Somente para TimePartitionedSampler
-c, --config <file> Não Específico do env ou dab-config.json Caminho para o arquivo de configuração
--help Não Exibir a tela de ajuda
--version Não Exibir informações de versão

Comportamento

Mode Description
Exportar esquema existente Inicia um runtime temporário, introspecta o esquema GraphQL, grava o arquivo
Gerar esquema Exemplos de documentos do Cosmos DB e infere esquema

O esquema vazio resulta em erro: "O esquema do GraphQL gerado está vazio. Verifique se os dados estão disponíveis para gerar o esquema."

Modos de amostragem

TopNExtractor

  • Exemplos de N documentos recentes
  • Filtro de tempo opcional com --sampling-days

Uso para conjuntos de dados menores e uniformes

EligibleDataSampler

  • Amostragem com reconhecimento de partição
  • N documentos por partição
  • --sampling-partition-key-path opcional

Usar quando as partições tiverem esquema variado

TimePartitionedSampler

  • Divide min/max _ts em grupos de tempo
  • N documentos por grupo
  • --sampling-group-count Necessário

Usar quando o esquema evoluir ao longo do tempo

Observação

Mais uso intensivo de recursos devido a várias consultas.

--graphql

Habilita a exportação de esquema. Sem isso, nada acontece.

Example

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

-o, --output

Diretório do arquivo de esquema. Criado se ausente.

Example

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

-g, --graphql-schema-file

Somente nome de arquivo de saída, o padrão é schema.gql.

Example

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

--generate

  • false (padrão): iniciar o runtime, introspect schema
  • true: gerar esquema de dados do Cosmos DB

Example

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

-m, --sampling-mode

Opções: TopNExtractor, , EligibleDataSamplerTimePartitionedSampler Padrão:TopNExtractor

Example

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

-n, --sampling-count

  • TopNExtractor: total de documentos
  • EligibleDataSampler: por partição
  • TimePartitionedSampler: por grupo de tempo

Example

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

--sampling-partition-key-path

Caminho da chave de partição para EligibleDataSampler

Example

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

-d, --sampling-days

Filtrar documentos por recência (dias)

Example

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

--sampling-group-count

Número de grupos de tempo para TimePartitionedSampler

Example

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

-c, --config

Caminho do arquivo de configuração. Se omitido:

  1. dab-config.<DAB_ENVIRONMENT>.json se env var estiver definido
  2. Caso contrário dab-config.json

Example

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

--help

Exiba a tela de ajuda.

Example

dab export --help

--version

Exibir informações de versão.

Example

dab export --version

Códigos de retorno

Code Meaning
0 Exportação bem-sucedida
Diferente de zero Falha na exportação

Exemplos

Exportar esquema existente

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

Gerar esquema (TopNExtractor)

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

Amostragem com reconhecimento de partição

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

Amostragem baseada em tempo

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

Nome do arquivo de saída personalizado

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

Uso de arquivo gerado

Defina runtime.graphql.schema como o caminho do arquivo de esquema exportado. Para obter mais informações, consulte a configuração do Runtime.

Dica

Confirme o esquema gerado uma vez estável. Execute novamente se o modelo de dados for alterado.

Resolução de problemas

Sintoma Motivo Corrigir
Esquema vazio Dados não ou insuficientes Adicionar dados representativos
Erro de conectividade Cadeia de conexão incorreta Corrigir credenciais ou rede
Campos ausentes Não em documentos de exemplo Aumentar a contagem ou o modo de alteração
Poucos resultados de partição Chave de partição errada Fornecer caminho de chave correto
Amostragem de tempo lento Conjunto de dados grande Reduzir grupos ou dias

Práticas recomendadas

  • Iniciar com TopNExtractor
  • Usar o controle de versão para diferenciar alterações de esquema
  • Para coleções críticas, execute várias passagens com parâmetros diferentes