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 a partir 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 Não* 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 Dependente do modo Restringir a registos mais recentes do que N dias
--sampling-group-count <int> Não 10 (TimePartitionedSampler) Por TimePartitionedSampler apenas
-c, --config <file> Não Env-específico ou dab-config.json Caminho para o arquivo de configuração

* --graphql Não é obrigatório para parser, mas a exportação falha a menos que a forneças.

Comportamento

Mode Description
Exportar esquema existente Inicia um tempo de execução temporário, analisa o esquema GraphQL e escreve ficheiros
Gerar esquema Exemplos do Azure Cosmos DB para documentos NoSQL e inferem o esquema

No modo de exportação (sem --generate), o DAB tenta https://localhost:5001 primeiro e volta a http://localhost:5000.

O modo de exportação tenta a recuperação do esquema até cinco vezes. O modo de geração usa uma única tentativa.

Esquema vazio resulta em erro: "O esquema GraphQL gerado está vazio. Garantir 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

Utilização para partições com esquemas variados

TimePartitionedSampler

  • Divide min/max _ts em grupos de tempo
  • N documentos por grupo
  • --sampling-group-count opcional (por defeito 10)

Use quando o esquema evolui ao longo do tempo

Observação

Mais intensivo em recursos devido a várias consultas.

--graphql

Permite a exportação de esquema. Sem isso, exportar regista um erro e não produz um ficheiro de esquema.

Example

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

-o, --output

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

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 tempo de execução, esquema introspect
  • true: Gerar esquema a partir do Azure Cosmos DB para dados NoSQL

Importante

--generate só é suportado com Azure Cosmos DB para configuração NoSQL.

Example

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

-m, --sampling-mode

Opções: TopNExtractor, EligibleDataSampler, TimePartitionedSampler 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

Os valores predefinidos dependem do 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

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 recenticidade (dias)

Os valores predefinidos dependem do modo:

  • TopNExtractor: sem limite de tempo (padrão 0)
  • EligibleDataSampler: 30
  • TimePartitionedSampler: 10

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. Em caso de omissão:

  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

Mostra o ecrã de ajuda.

Example

dab export --help

--version

Mostrar a informação da versão.

Example

dab export --version

Códigos de devolução

Código Meaning
0 Exportação bem sucedida
-1 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.gql \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 15

Utilização de ficheiros gerados

Define data-source.options.schema para o caminho do ficheiro de esquema exportado. Para mais informações, veja Configuração da Fonte de Dados.

Sugestão

Confirme o esquema gerado uma vez estável. Repete se o modelo de dados mudar.

Solução de problemas

Sintoma Motivo Corrigir
Esquema vazio Dados inexistentes ou insuficientes Adicionar dados representativos
Erro de conectividade Má connection string 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