要创建一个新的 MySQL Shell 全局对象作为扩展对象的入口点,首先使用内置的 shell.createExtensionObject()
函数(在 JavaScript 中)或 shell.create_extension_object()
函数(在 Python 中)创建一个新的顶级扩展对象。
shell.createExtensionObject()
然后通过调用 shell.registerGlobal()
方法(在 JavaScript 中)或 shell.register_global()
方法(在 Python 中)将此顶级扩展对象注册为 MySQL Shell 全局对象。该方法的语法如下:
shell.registerGlobal(name, object[, definition])
其中
-
name
是一个字符串,表示全局对象的名称(和类)。该名称必须是有效的脚本标识符,因此第一个字符必须是字母或下划线字符,后面可以跟着任意数量的字母、数字或下划线字符。该名称在 MySQL Shell 安装中必须是唯一的,因此它不能是内置 MySQL Shell 全局对象的名称(例如db
、dba
、cluster
、session
、shell
、util
),也不能是你已经用于用户定义的 MySQL Shell 全局对象的名称。下面的示例展示了如何在注册全局对象之前检查名称是否存在。重要提示在 JavaScript 和 Python 模式下,你用于注册全局对象的名称会原样使用,用于访问该对象。因此,最好为全局对象使用一个简单的单字名称(例如
ext
)。如果你使用驼峰式或蛇形命名法注册了全局对象(例如myCustomObject
),那么在使用全局对象时,必须按照注册时的名称指定它。只有用于成员的名称以语言适当的方式处理。 object
是你注册为 MySQL Shell 全局对象的扩展对象。你只能注册一次扩展对象。-
definition
是一个可选字典,其中包含在 MySQL Shell 帮助系统中提供的全局对象的帮助信息。该字典包含以下键:brief
(字符串,可选):一个简短的全局对象描述,将作为帮助信息提供。details
(字符串列表,可选):一个详细的全局对象描述,将作为帮助信息提供。