要将用户定义的报告注册到 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-*”)。