Delen via


opdracht

Exporteer of genereer een GraphQL-schemabestand en sla het op schijf op. Er worden twee modi ondersteund:

  • Bestaand schema ophalen uit een tijdelijk DAB Runtime-exemplaar
  • Schema genereren vanuit Cosmos DB voor NoSQL gegevens met behulp van steekproeven

Syntaxis

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

Belangrijk

Vereist een geldige DAB-configuratie. Het databasetype wordt gelezen uit het configuratiebestand. Er wordt geen vlag geaccepteerd.

Snelle blik

Optie Verplicht Verstek Geldt
--graphql Nee* false Moet worden ingesteld voor schema-export
-o, --output <dir> Yes Map voor uitvoerschema
-g, --graphql-schema-file <name> Nee. schema.gql Bestandsnaam in uitvoermap geplaatst
--generate Nee. false Schema genereren op gegevens van Cosmos DB
-m, --sampling-mode <mode> Nee. TopNExtractor Een van: ,
-n, --sampling-count <int> Nee. Modusafhankelijk Aantal records per modus
--sampling-partition-key-path <path> Nee. Alleen voor
-d, --sampling-days <int> Nee. Modusafhankelijk Beperken tot records die nieuwer zijn dan N dagen
--sampling-group-count <int> Nee. (TimePartitionedSampler) Alleen voor
-c, --config <file> Nee. Env-specifiek of Pad naar configuratiebestand
--help Nee. Het Help-scherm weergeven
--version Nee. Versie-informatie weergeven

is geen parser vereist, maar exporteren mislukt, tenzij u deze opgeeft.

Gedrag

Wijze Description
Bestaand schema exporteren Hiermee start u een tijdelijke runtime, inleiding tot het GraphQL-schema, schrijft u het bestand
Schema genereren Voorbeelden Azure Cosmos DB voor NoSQL documenten en afgeleid schema

In de exportmodus (zonder ), probeert DAB eerst en valt terug naar .

In de exportmodus worden schema's maximaal vijf keer opgehaald. Genereren maakt gebruik van één poging.

Leeg schema resulteert in fout: 'Gegenereerd GraphQL-schema is leeg. Zorg ervoor dat er gegevens beschikbaar zijn om het schema te genereren.

Samplingmodi

TopNExtractor

  • Voorbeelden N recente documenten
  • Optioneel tijdfilter met

Gebruiken voor kleinere, uniforme gegevenssets

EligibleDataSampler

  • Partitiebewuste steekproeven
  • N documenten per partitie
  • optioneel

Gebruiken wanneer partities een gevarieerd schema hebben

TimePartitionedSampler

  • Splitst min/max in tijdgroepen
  • N documenten per groep
  • optioneel (standaard )

Gebruik wanneer het schema zich in de loop van de tijd ontwikkelt

Opmerking

Meer resource-intensief vanwege meerdere query's.

--graphql

Hiermee schakelt u schema-export in. Zonder deze fout wordt een fout geëxporteerd en wordt er geen schemabestand geproduceerd.

Example

  • Bash
  • Opdrachtprompt
dab export \
  --graphql \
  -o ./schema-out

-o, --output

Map voor schemabestand. Gemaakt als deze ontbreekt.

Example

  • Bash
  • Opdrachtprompt
dab export \
  --graphql \
  -o ./schema-out

-g, --graphql-schema-file

Alleen uitvoerbestand, standaard ingesteld op .

Example

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

--generate

  • false (standaard): Runtime starten, introspect-schema
  • true: Schema genereren op Azure Cosmos DB voor NoSQL gegevens

Belangrijk

--generate wordt alleen ondersteund met Azure Cosmos DB voor NoSQL configuratie.

Example

  • Bash
  • Opdrachtprompt
dab export \
  --graphql \
  -o ./schema-gen \
  --generate

-m, --sampling-mode

Opties: , standaard :

Example

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

-n, --sampling-count

  • TopNExtractor: totaal aantal documenten
  • EligibleDataSampler: per partitie
  • TimePartitionedSampler: per tijdgroep

Standaardwaarden zijn modusafhankelijk:

  • :
  • :
  • :

Example

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

--sampling-partition-key-path

Partitiesleutelpad voor EligibleDataSampler

Example

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

-d, --sampling-days

Documenten filteren op recency (dagen)

Standaardwaarden zijn modusafhankelijk:

  • : geen tijdslimiet (standaard )
  • :
  • :

Example

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

--sampling-group-count

Aantal tijdgroepen voor TimePartitionedSampler

Example

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

-c, --config

Configuratiebestandspad. Als u dit weglaat:

  1. als env var is ingesteld
  2. Anders

Example

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

--help

Het Help-scherm weergeven.

Example

  • Bash
  • Opdrachtprompt
dab export --help

--version

Versie-informatie weergeven.

Example

  • Bash
  • Opdrachtprompt
dab export --version

Retourcodes

Code Meaning
0 Exporteren voltooid
-1 Exporteren is mislukt

Voorbeelden

Bestaand schema exporteren

  • Bash
  • Opdrachtprompt
dab export \
  --graphql \
  -o ./schema-out

Schema genereren (TopNExtractor)

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

Partitiebewuste steekproeven

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

Op tijd gebaseerde steekproeven

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

Bestandsnaam van aangepaste uitvoer

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

Gegenereerd bestandsgebruik

Ingesteld op het geëxporteerde pad naar het schemabestand. Zie De configuratie van de gegevensbron voor meer informatie.

Aanbeveling

Voer het gegenereerde schema eenmaal stabiel door. Voer opnieuw uit als het gegevensmodel wordt gewijzigd.

Probleemoplossingsproces

Symptoom Oorzaak Repareren
Leeg schema Geen of onvoldoende gegevens Representatieve gegevens toevoegen
Connectiviteitsfout Slechte verbindingsreeks Referenties of netwerk herstellen
Velden ontbreken Niet in voorbeelddocumenten Aantal- of wijzigingsmodus verhogen
Weinig partitieresultaten Verkeerde partitiesleutel Geef het juiste sleutelpad op
Trage steekproeven Grote gegevensset Groepen of dagen verminderen

Beste praktijken

  • Beginnen met TopNExtractor
  • Versiebeheer gebruiken om schemawijzigingen te wijzigen
  • Voor kritieke verzamelingen voert u meerdere passen uit met verschillende parameters