MySQL Shell 9.0  /  ...  /  注册 MySQL Shell 报表

10.1.2 注册 MySQL Shell 报表

要将您定义的用户定义报表注册到 MySQL Shell,请在 JavaScript 中调用 shell.registerReport() 方法或在 Python 中调用 shell.register_report() 方法。该方法的语法如下

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

其中

  • name 是一个字符串,表示报表的唯一名称。

  • type 是一个字符串,表示报表的类型,它决定了输出格式,可以是 listreportprint

  • report 是在调用报表时要调用的函数。

  • description 是一个字典,包含用于指定报表支持的选项、报表接受的附加参数以及在 MySQL Shell 帮助系统中提供的帮助信息的选项。

nametypereport 参数都是必需的。报表名称必须满足以下要求

  • 在您的 MySQL Shell 安装中必须是唯一的。

  • 它必须是一个有效的脚本标识符,因此第一个字符必须是字母或下划线字符,后面可以跟任意数量的字母、数字或下划线字符。

  • 它可以是混合大小写,但它在您的 MySQL Shell 安装中转换为小写后必须仍然是唯一的。

报表名称在注册过程中和使用 \show\watch 命令运行报表时不区分大小写。报表名称在 shell.reports 对象处调用相应的 API 函数时区分大小写。您必须使用用于注册报表的精确名称来调用函数,无论您是在 Python 模式还是 JavaScript 模式下。

可选字典包含以下键,这些键都是可选的

brief

报表的简要描述。

details

报表的详细描述,以字符串数组形式提供。当您使用 \help 命令或 \show 命令的 --help 选项时,会提供此描述。

options

报表可以接受的任何报表特定选项。数组中的每个字典都描述了一个选项,并且必须包含以下键

  • name (字符串,必需):选项的长格式名称,必须是一个有效的脚本标识符。

  • brief (字符串,可选):选项的简要描述。

  • shortcut (字符串,可选):选项的备用名称,是一个单一的字母数字字符。

  • details (字符串数组,可选):选项的详细描述。当您使用 \help 命令或 \show 命令的 --help 选项时,会提供此描述。

  • type (字符串,可选):选项的值类型。允许的值为 stringboolintegerfloat,如果未指定 type,则默认值为 string。如果指定了 bool,则该选项充当开关:如果未指定,则默认值为 false,当您使用 \show\watch 命令运行报表时,默认值为 true(并且不接受任何值),当您使用 shell.reports 对象运行报表时,必须具有有效的值。

  • required (布尔值,可选):选项是否必需。如果未指定 required,则默认为 false。如果选项类型为 bool,则 required 不能为 true。

  • values (字符串数组,可选):选项的允许值列表。只有类型为 string 的选项才能具有此键。如果未指定 values,则该选项接受任何值。

argc

一个字符串,指定报表期望的额外参数数量,可以是以下之一

  • 确切的参数数量,作为单个数字指定。

  • 零个或更多个参数,用星号指定。

  • 参数数量范围,用连字符分隔的两个数字指定(例如,1-5)。

  • 具有最小值但没有最大值的参数数量范围,用连字符分隔的数字和星号指定(例如,1-*)。