Spec-Zone.ru › MySQL Shell 8.4

10.1.2 Регистрация отчетов MySQL Shell

Для регистрации вашего пользовательского отчета в MySQL Shell, вызовите метод shell.registerReport() в JavaScript или shell.register_report() в Python. Синтаксис метода следующий:

shell.registerReport(name, type, report[, description])

Где:

  • name — строка, содержащая уникальное имя отчета.

  • type — строка, задающая тип отчета, определяющий формат вывода, может быть “list”, “report” или “print”.

  • report — функция, вызываемая при запуске отчета.

  • description — словарь с опциями, которые можно использовать для указания поддерживаемых отчетом опций, дополнительных аргументов, принимаемых отчетом, и справочной информации, предоставляемой в системе справки MySQL Shell.

Параметры name, type и report являются обязательными. Имя отчета должно соответствовать следующим требованиям:

  • Оно должно быть уникальным в вашей установке MySQL Shell.

  • Оно должно быть допустимым идентификатором скрипта, поэтому первый символ должен быть буквой или символом подчеркивания, за которым следуют любые буквы, цифры или символы подчеркивания.

  • Оно может быть в смешанном регистре, но при преобразовании в нижний регистр оно должно оставаться уникальным в вашей установке MySQL Shell.

Имя отчета не чувствительно к регистру во время процесса регистрации и при запуске отчета с помощью команд \show и \watch. Имя отчета чувствительно к регистру при вызове соответствующей функции API в объекте shell.reports. Там вы должны вызвать функцию с использованием точного имени, которое было использовано для регистрации отчета, независимо от того, работаете ли вы в режиме Python или JavaScript.

Необязательный словарь содержит следующие ключи, все из которых являются необязательными:

brief

Краткое описание отчета.

details

Подробное описание отчета, представленное в виде массива строк. Оно предоставляется при использовании команды \help или опции --help с командой \show.

options

Любые специфичные для отчета опции, которые может принять отчет. Каждый словарь в массиве описывает одну опцию и должен содержать следующие ключи:

  • name (строка, обязательная): Имя опции в полном виде, которое должно быть допустимым идентификатором скрипта.

  • brief (строка, необязательная): Краткое описание опции.

  • shortcut (строка, необязательная): Альтернативное имя опции как одиночного буквенно-цифрового символа.

  • details (массив строк, необязательный): Подробное описание опции. Оно предоставляется при использовании команды \help или опции --help с командой \show.

  • type (строка, необязательная): Тип значения опции. Разрешенные значения: “string”, “bool”, “integer” и “float”. По умолчанию “string”, если type не указано. Если “bool”, то опция действует как переключатель: по умолчанию false, если не указано, по умолчанию true (и не принимает значения) при запуске отчета с помощью команд \show или \watch, и должно иметь действительное значение при запуске отчета с помощью объекта shell.reports.

  • required (логическое значение, необязательное): Требуется ли опция. По умолчанию false, если required не указано. Если тип опции “bool”, то required не может быть истинным.

  • values (массив строк, необязательный): Список разрешенных значений для опции. Только опции типа “string” могут иметь этот ключ. Если values не указано, опция принимает любые значения.

argc

Строка, указывающая количество дополнительных аргументов, ожидаемых отчетом. Может быть одним из следующих:

  • Точное число аргументов, указанное как одно число.

  • Ноль или более аргументов, указанное как звездочка.

  • Диапазон номеров аргументов, указанный как два числа, разделенных дефисом (например, “1-5”).

  • Диапазон номеров аргументов с минимальным значением, но без максимального, указанный как число и звездочка, разделенные дефисом (например, “1-*”).

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-shell-8.4-en/mysql-shell-reporting-create-registering.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API