MySQL Shell 8.4  /  ...  /  注册 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 (bool,可选): 选项是否必需。如果未指定 required,则默认值为 false。如果选项类型为 bool,则 required 不能为 true。

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

argc

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

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

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

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

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