Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
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-pathopcional
Use quando as partições têm esquema variado
TimePartitionedSampler
- Divide min/max
_tsem grupos de tempo - N documentos por grupo
-
--sampling-group-countNecessá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:
-
dab-config.<DAB_ENVIRONMENT>.jsonse env var estiver definido - 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