Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Команда
Экспортируйте или создайте файл схемы GraphQL и сохраните его на диске. Поддерживаются два режима:
- Получение существующей схемы из временного экземпляра среды выполнения DAB
- Создание схемы из Cosmos DB для данных NoSQL с помощью выборки
Синтаксис
dab export --graphql -o <output-directory> [options]
Это важно
Требуется допустимая конфигурация DAB. Тип базы данных считывается из файла конфигурации. Флаг не --database-type принимается.
Краткий обзор
| Вариант | Обязательно | По умолчанию | Применимо |
|---|---|---|---|
--graphql |
Да | false | Необходимо задать для экспорта схемы |
-o, --output <dir> |
Да | – | Каталог для выходной схемы |
-g, --graphql-schema-file <name> |
нет | schema.gql |
Имя файла, помещенного в выходной dir |
--generate |
нет | false | Создание схемы из данных Cosmos DB |
-m, --sampling-mode <mode> |
нет | TopNExtractor |
Одно из следующих: TopNExtractor, EligibleDataSamplerTimePartitionedSampler |
-n, --sampling-count <int> |
нет | Зависимость от режима | Количество записей в режиме |
--sampling-partition-key-path <path> |
нет | – | Только для EligibleDataSampler |
-d, --sampling-days <int> |
нет | – | Ограничение на записи более новых, чем N дней |
--sampling-group-count <int> |
нет | – | Только для TimePartitionedSampler |
-c, --config <file> |
нет | Env или dab-config.json |
Путь к файлу конфигурации |
--help |
нет | – | Отображение экрана справки |
--version |
нет | – | Отображение сведений о версии |
Поведение
| Mode | Description |
|---|---|
| Экспорт существующей схемы | Запускает временную среду выполнения, схему GraphQL introspects, записывает файл |
| Создание схемы | Примеры документов Cosmos DB и схемы инфиндеров |
Пустая схема приводит к ошибке: "Созданная схема GraphQL пуста. Убедитесь, что данные доступны для создания схемы".
Режимы выборки
TopNExtractor
- Примеры N последних документов
- Необязательный фильтр времени с помощью
--sampling-days
Использование для небольших универсальных наборов данных
EligibleDataSampler
- Выборка с учетом секционирования
- N документов на секцию
-
--sampling-partition-key-pathнеобязательный
Использование, когда секции имеют разнообразную схему
TimePartitionedSampler
- Разделяет минимальное/максимальное значение
_tsна группы времени - N документов для каждой группы
-
--sampling-group-countОбязательно
Использование при изменении схемы с течением времени
Замечание
Более интенсивное использование ресурсов из-за нескольких запросов.
--graphql
Включает экспорт схемы. Без него ничего не происходит.
Example
dab export \
--graphql \
-o ./schema-out
-o, --output
Каталог для файла схемы. Создано, если отсутствует.
Example
dab export \
--graphql \
-o ./schema-out
-g, --graphql-schema-file
Только имя выходного файла, по умолчанию schema.gql— .
Example
dab export \
--graphql \
-o ./out \
-g custom-schema.gql
--generate
- false (по умолчанию): запуск среды выполнения, схема интроспекта
- true. Создание схемы из данных Cosmos DB
Example
dab export \
--graphql \
-o ./schema-gen \
--generate
-m, --sampling-mode
Параметры: , TopNExtractorпо EligibleDataSampler умолчанию: TimePartitionedSamplerTopNExtractor
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-mode TopNExtractor
-n, --sampling-count
- TopNExtractor: общий объем документов
- EligibleDataSampler: на секцию
- TimePartitionedSampler: для каждой группы времени
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 25
--sampling-partition-key-path
Путь ключа секции для EligibleDataSampler
Example
dab export \
--graphql \
-o ./schema-partitions \
--generate \
--sampling-mode EligibleDataSampler \
--sampling-partition-key-path /customerId
-d, --sampling-days
Фильтрация документов по пересчету (дни)
Example
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-days 14
--sampling-group-count
Количество групп времени для TimePartitionedSampler
Example
dab export \
--graphql \
-o ./schema-time \
--generate \
--sampling-mode TimePartitionedSampler \
--sampling-group-count 8
-c, --config
Путь к файлу конфигурации. Если опущено:
-
dab-config.<DAB_ENVIRONMENT>.jsonЗначение env var - Иначе
dab-config.json
Example
dab export \
--graphql \
-o ./schema-out \
--config ./dab-config.json
--help
Отображение экрана справки.
Example
dab export --help
--version
Отображение сведений о версии.
Example
dab export --version
Коды возврата
| Code | Meaning |
|---|---|
| 0 | Экспорт выполнен успешно |
| Ненулевая | Сбой экспорта |
Примеры
Экспорт существующей схемы
dab export \
--graphql \
-o ./schema-out
Создание схемы (TopNExtractor)
dab export \
--graphql \
-o ./schema-gen \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 25 \
--sampling-days 14
Выборка с учетом секционирования
dab export \
--graphql \
-o ./schema-partitions \
--generate \
--sampling-mode EligibleDataSampler \
--sampling-partition-key-path /customerId \
--sampling-count 10
Выборка на основе времени
dab export \
--graphql \
-o ./schema-time \
--generate \
--sampling-mode TimePartitionedSampler \
--sampling-group-count 8 \
--sampling-count 5 \
--sampling-days 60
Пользовательское имя выходного файла
dab export \
--graphql \
-o ./out \
-g cosmos-schema.graphql \
--generate \
--sampling-mode TopNExtractor \
--sampling-count 15
Использование созданных файлов
Задайте runtime.graphql.schema путь к экспортируемой схеме. Дополнительные сведения см. в разделе "Конфигурация среды выполнения".
Подсказка
Зафиксируйте созданную схему после стабильной. Повторно запустите, если модель данных изменяется.
Устранение неполадок
| Симптом | Причина | Исправить |
|---|---|---|
| Пустая схема | Нет или недостаточно данных | Добавление репрезентативных данных |
| Ошибка подключения | Недопустимая строка подключения | Исправление учетных данных или сети |
| Отсутствующие поля | Не в примерах документов | Увеличение количества или изменение режима |
| Немногие результаты секции | Неправильный ключ секции | Укажите правильный путь к ключу |
| Медленная выборка времени | Большой набор данных | Сокращение групп или дней |
Лучшие практики
- Начало работы с TopNExtractor
- Использование элемента управления версиями для изменения схемы
- Для критически важных коллекций выполните несколько проходов с разными параметрами