11.1.1 Создание отчетов MySQL Shell
Вы можете создать и зарегистрировать пользовательский отчет для MySQL Shell на одном из поддерживаемых языков сценариев, JavaScript и Python. Модуль отчетов обрабатывает встроенные отчеты и пользовательские отчеты, используя ту же схему интерфейса API.
Отчеты могут указывать список специфичных для отчета параметров, которые они принимают, а также определенное количество дополнительных аргументов. Ваш отчет может поддерживать оба, один или ни один из этих входов. При запросе справки по отчету MySQL Shell предоставляет список параметров и аргументов, а также любые доступные описания, которые были предоставлены при регистрации отчета.
Подпись
Подпись для функции Python или JavaScript, которая должна быть зарегистрирована как отчет MySQL Shell, должна быть следующей:
Dict report(Session session, List argv, Dict options);Где:
session— это объект сеанса MySQL Shell, который будет использоваться для выполнения отчета.argv— это необязательный список, содержащий строковые значения дополнительных аргументов, передаваемых отчету.options— это необязательный словарь с именами ключей и значениями, соответствующими любым параметрам отчета и их значениям.
Типы отчетов
Функция отчета ожидает возврата данных в определенном формате, в зависимости от типа, используемого при его регистрации:
- Тип списка
Возвращает вывод в виде списка списков, при этом первый список состоит из имен столбцов, а остальные — из содержимого строк. MySQL Shell по умолчанию отображает вывод в табличном формате или в вертикальном формате, если параметр
--verticalили--Eбыл указан в команде\showили\watch. Значения строк преобразуются в строковые представления элементов. Если строка содержит меньше элементов, чем количество имен столбцов, пропущенные элементы считаются NULL. Если строка содержит больше элементов, чем количество имен столбцов, дополнительные элементы игнорируются. При регистрации этого отчета используйте тип “list”.
- Тип отчета
Возвращает вывод в свободном формате в виде списка, содержащего один элемент. MySQL Shell отображает этот вывод с помощью YAML. При регистрации этого отчета используйте тип “report”.
- Тип печати
Выводит вывод непосредственно на экран и возвращает пустой список в MySQL Shell, чтобы показать, что вывод уже отображен. При регистрации этого отчета используйте тип “print”.
Для предоставления вывода функция API отчета должна вернуть словарь с ключом report и списком JSON-объектов, по одному для каждого элемента в возвращенном списке. Для типа списка используйте по одному элементу для каждого списка, для типа отчета — один элемент, а для типа печати — ни одного.
© 2025 Oracle
Licensed under the GPLv2 License.