要创建一个新的 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
(字符串列表,可选): 要作为帮助信息提供的全局对象的详细描述。