MySQL 外壳 8.0  / 第 10 章扩展 MySQL Shell  / 10.2 向 MySQL Shell 添加扩展对象  /  10.2.1 创建用户定义的 MySQL Shell 全局对象

10.2.1 创建用户定义的 MySQL Shell 全局对象

要创建一个新的 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 全局对象的名称(例如,,,,,,,, )并且 dbdba不能 是您已经用于用户定义的 MySQL Shell 全局对象。下面的示例显示了如何在注册全局对象之前检查名称是否已经存在。 clustersessionshellutil

    重要的

    当您在 JavaScript 和 Python 模式下访问对象时,您用于注册全局对象的名称将按原样使用。因此,最好为全局对象使用一个简单的单词名称(例如, ext)。如果使用驼峰式或蛇形式(例如,myCustomObject)的复杂名称注册全局对象,则在使用全局对象时,必须指定注册时的名称。只有用于成员的名称以适合语言的方式处理。

  • object是您要注册为 MySQL Shell 全局对象的扩展对象。您只能注册一次扩展对象。

  • definition是一个可选的字典,其中包含 MySQL Shell 帮助系统中提供的全局对象的帮助信息。该词典包含以下键:

    • brief(字符串,可选):作为帮助信息提供的全局对象的简短描述。

    • details(字符串列表,可选):作为帮助信息提供的全局对象的详细描述。