要将用户定义的报告注册到 MySQL Shell,请在 JavaScript 中调用 shell.registerReport()
方法,或在 Python 中调用 shell.register_report()
方法。该方法的语法如下
shell.registerReport(name, type, report[, description])
其中
name
是一个字符串,提供报告的唯一名称。type
是一个字符串,提供报告类型,该类型决定输出格式,可以是 “list”、“report” 或 “print”。report
是在调用报告时要调用的函数。description
是一个字典,其中包含可用于指定报告支持的选项、报告接受的其他参数以及在 MySQL Shell 帮助系统中提供的帮助信息的选项。
name
、type
和 report
参数都是必需的。报告名称必须满足以下要求
它在 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
(字符串,可选): 选项的值类型。允许的值为 “string”、“bool”、“integer” 和 “float”,如果未指定type
,则默认值为 “string”。如果指定了 “bool”,则选项充当开关: 如果未指定,则默认值为false
,当您使用\show
或\watch
命令运行报告时,则默认值为true
(并且不接受任何值),当您使用shell.reports
对象运行报告时,则必须具有有效值。required
(bool,可选): 选项是否必需。如果未指定required
,则默认值为false
。如果选项类型为 “bool”,则required
不能为 true。values
(字符串数组,可选): 选项允许的值列表。只有类型为 “string” 的选项可以具有此键。如果未指定values
,则选项接受任何值。
-
argc
-
指定报告期望的额外参数数量的字符串,可以是以下之一
确切的参数数量,指定为单个数字。
零个或多个参数,指定为星号。
参数数量范围,指定为用连字符分隔的两个数字(例如,“1-5”)。
参数数量范围,具有最小值但没有最大值,指定为用连字符分隔的数字和星号(例如,“1-*”)。