Поделиться через


Команда

Экспортируйте или создайте файл схемы GraphQL и сохраните его на диске. Поддерживаются два режима:

  • Получение существующей схемы из временного экземпляра среды выполнения DAB
  • Создание схемы из Cosmos DB для NoSQL данных с помощью выборки

Синтаксис

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

Это важно

Требуется допустимая конфигурация DAB. Тип базы данных считывается из файла конфигурации. Флаг не принимается.

Краткий обзор

Вариант Обязательно По умолчанию Применимо
--graphql Нет* false Необходимо задать для экспорта схемы
-o, --output <dir> Да Каталог для выходной схемы
-g, --graphql-schema-file <name> нет schema.gql Имя файла, помещенного в выходной dir
--generate нет false Создание схемы из данных Cosmos DB
-m, --sampling-mode <mode> нет TopNExtractor Одно из следующих: ,
-n, --sampling-count <int> нет Зависимость от режима Количество записей в режиме
--sampling-partition-key-path <path> нет Только для
-d, --sampling-days <int> нет Зависимость от режима Ограничение на записи более новых, чем N дней
--sampling-group-count <int> нет (TimePartitionedSampler) Только для
-c, --config <file> нет Env или Путь к файлу конфигурации
--help нет Отображение экрана справки
--version нет Отображение сведений о версии

не является обязательным для синтаксического анализа, но экспорт завершается ошибкой, если ее не указать.

Поведение

Mode Description
Экспорт существующей схемы Запускает временную среду выполнения, схему GraphQL introspects, записывает файл
Создание схемы Примеры Azure Cosmos DB для NoSQL документов и схемы со сведениями

В режиме экспорта (без ), DAB сначала пытается и возвращается в .

Режим экспорта повторяет извлечение схемы до пяти раз. Режим создания использует одну попытку.

Пустая схема приводит к ошибке: "Созданная схема GraphQL пуста. Убедитесь, что данные доступны для создания схемы".

Режимы выборки

TopNExtractor

  • Примеры N последних документов
  • Необязательный фильтр времени с помощью

Использование для небольших универсальных наборов данных

EligibleDataSampler

  • Выборка с учетом секционирования
  • N документов на секцию
  • необязательный

Использование, когда секции имеют разнообразную схему

TimePartitionedSampler

  • Разделяет минимальное/максимальное значение на группы времени
  • N документов для каждой группы
  • необязательный (по умолчанию )

Использование при изменении схемы с течением времени

Замечание

Более интенсивное использование ресурсов из-за нескольких запросов.

--graphql

Включает экспорт схемы. Без него экспортирует журналы ошибок и не создает файл схемы.

Example

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-out

-o, --output

Каталог для файла схемы. Создано, если отсутствует.

Example

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-out

-g, --graphql-schema-file

Только имя выходного файла, по умолчанию — .

Example

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./out \
  -g custom-schema.gql

--generate

  • false (по умолчанию): запуск среды выполнения, схема интроспекта
  • true. Создание схемы из Azure Cosmos DB для данных NoSQL

Это важно

--generate поддерживается только с Azure Cosmos DB для конфигурации NoSQL.

Example

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-gen \
  --generate

-m, --sampling-mode

Параметры: , по умолчанию:

Example

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-mode TopNExtractor

-n, --sampling-count

  • TopNExtractor: общий объем документов
  • EligibleDataSampler: на секцию
  • TimePartitionedSampler: для каждой группы времени

Значения по умолчанию зависят от режима:

  • :
  • :
  • :

Example

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 25

--sampling-partition-key-path

Путь ключа секции для EligibleDataSampler

Example

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-partitions \
  --generate \
  --sampling-mode EligibleDataSampler \
  --sampling-partition-key-path /customerId

-d, --sampling-days

Фильтрация документов по пересчету (дни)

Значения по умолчанию зависят от режима:

  • : нет ограничения времени (по умолчанию )
  • :
  • :

Example

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-days 14

--sampling-group-count

Количество групп времени для TimePartitionedSampler

Example

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-time \
  --generate \
  --sampling-mode TimePartitionedSampler \
  --sampling-group-count 8

-c, --config

Путь к файлу конфигурации. Если опущено:

  1. Значение env var
  2. Иначе

Example

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-out \
  --config ./dab-config.json

--help

Отображение экрана справки.

Example

  • Bash
  • Командная строка
dab export --help

--version

Отображение сведений о версии.

Example

  • Bash
  • Командная строка
dab export --version

Коды возврата

Code Meaning
0 Экспорт выполнен успешно
-1 Сбой экспорта

Примеры

Экспорт существующей схемы

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-out

Создание схемы (TopNExtractor)

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-gen \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 25 \
  --sampling-days 14

Выборка с учетом секционирования

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-partitions \
  --generate \
  --sampling-mode EligibleDataSampler \
  --sampling-partition-key-path /customerId \
  --sampling-count 10

Выборка на основе времени

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./schema-time \
  --generate \
  --sampling-mode TimePartitionedSampler \
  --sampling-group-count 8 \
  --sampling-count 5 \
  --sampling-days 60

Пользовательское имя выходного файла

  • Bash
  • Командная строка
dab export \
  --graphql \
  -o ./out \
  -g cosmos-schema.gql \
  --generate \
  --sampling-mode TopNExtractor \
  --sampling-count 15

Использование созданных файлов

Задайте путь к экспортируемой схеме. Дополнительные сведения см. в разделе "Конфигурация источника данных".

Подсказка

Зафиксируйте созданную схему после стабильной. Повторно запустите, если модель данных изменяется.

Устранение неполадок

Симптом Причина Исправить
Пустая схема Нет или недостаточно данных Добавление репрезентативных данных
Ошибка подключения Плохие строка подключения Исправление учетных данных или сети
Отсутствующие поля Не в примерах документов Увеличение количества или изменение режима
Немногие результаты секции Неправильный ключ секции Укажите правильный путь к ключу
Медленная выборка времени Большой набор данных Сокращение групп или дней

Лучшие практики

  • Начало работы с TopNExtractor
  • Использование элемента управления версиями для изменения схемы
  • Для критически важных коллекций выполните несколько проходов с разными параметрами