Partilhar via


export comando

Exporte ou gere um arquivo de esquema GraphQL e salve-o no disco. Dois modos são suportados:

  • Buscar esquema existente de uma instância de tempo de execução temporária 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 DAB válida. O tipo de banco de dados é lido a partir do arquivo de configuração. Nenhuma --database-type bandeira é aceita.

Visão rápida

Opção Obrigatório Default Aplica-se
--graphql Yes false Deve ser definido para exportação de esquema
-o, --output <dir> Yes Diretório para 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 a partir de dados do Cosmos DB
-m, --sampling-mode <mode> Não TopNExtractor Um dos seguintes: TopNExtractor, EligibleDataSampler, TimePartitionedSampler
-n, --sampling-count <int> Não Dependente do modo Número de registos por modo
--sampling-partition-key-path <path> Não Por EligibleDataSampler apenas
-d, --sampling-days <int> Não Restringir a registos mais recentes do que N dias
--sampling-group-count <int> Não Por TimePartitionedSampler apenas
-c, --config <file> Não Env-específico ou dab-config.json Caminho para o arquivo de configuração

Comportamento

Mode Description
Exportar esquema existente Inicia um tempo de execução temporário, introspecta o esquema GraphQL, grava arquivo
Gerar esquema Exemplos de documentos do Cosmos DB e esquema de inferências

O esquema vazio resulta em erro: "O esquema GraphQL gerado está vazio. Certifique-se de que os dados estão disponíveis para gerar o esquema."

Modos de amostragem

TopNExtractor

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

Utilização para conjuntos de dados mais pequenos e uniformes

EligibleDataSampler

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

Use quando as partições têm esquema variado

TimePartitionedSampler

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

Use quando o esquema evolui ao longo do tempo

Observação

Mais intensivo em recursos devido a várias consultas.

Opções

--graphql

Permite a exportação de esquema. Sem ela, nada acontece.

-o, --output

Diretório para arquivo de esquema. Criado se faltar.

-g, --graphql-schema-file

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

--generate

  • false (padrão): Iniciar tempo de execução, esquema introspect
  • true: Gerar esquema a partir de dados do Cosmos DB

-m, --sampling-mode

Opções: TopNExtractor, EligibleDataSampler, TimePartitionedSampler Padrão: TopNExtractor

-n, --sampling-count

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

--sampling-partition-key-path

Caminho da chave de partição para EligibleDataSampler

-d, --sampling-days

Filtrar documentos por recenticidade (dias)

--sampling-group-count

Número de grupos de tempo para TimePartitionedSampler

-c, --config

Caminho do arquivo de configuração. Em caso de omissão:

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

Códigos de devolução

Código Meaning
0 Exportação bem sucedida
Diferente de zero Falha na exportação

Examples

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 com base no 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

Utilização de ficheiros gerados

Configuração de atualização:

{
  "data-source": {
    "database-type": "cosmosdb_nosql"
  },
  "runtime": {
    "graphql": {
      "enabled": true,
      "schema-file": "schema.gql"
    }
  }
}

Sugestão

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

Solução de problemas

Sintoma Motivo Corrigir
Esquema vazio Dados inexistentes ou insuficientes Adicionar dados representativos
Erro de conectividade Cadeia de conexão incorreta Corrigir credenciais ou rede
Campos em falta Não em documentos de amostra Aumentar a contagem ou alterar o modo
Poucos resultados de partição Chave de partição errada Forneça o caminho da chave correto
Amostragem lenta Conjunto de dados grande Reduzir grupos ou dias

Melhores práticas

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