MySQL Shell 8.4  /  ...  /  建立使用者定義的 MySQL Shell 全域物件

10.2.1 建立使用者定義的 MySQL Shell 全域物件

若要建立新的 MySQL Shell 全域物件作為擴充物件的進入點,請先使用內建的 shell.createExtensionObject() 函數 (在 JavaScript 中) 或 shell.create_extension_object() 函數 (在 Python 中) 建立新的頂層擴充物件。

shell.createExtensionObject()

然後,透過在 JavaScript 中呼叫 shell.registerGlobal() 方法或在 Python 中呼叫 shell.register_global() 方法,將此頂層擴充物件註冊為 MySQL Shell 全域物件。此方法的語法如下:

shell.registerGlobal(name, object[, definition])

其中

  • name 是一個字串,提供全域物件的名稱 (和類別)。名稱必須是有效的指令碼識別碼,因此第一個字元必須是字母或底線字元,後面接著任意數量的字母、數字或底線字元。名稱在您的 MySQL Shell 安裝中必須是唯一的,因此它不能是內建 MySQL Shell 全域物件的名稱 (例如,dbdbaclustersessionshellutil),並且不能是您已用於使用者定義的 MySQL Shell 全域物件的名稱。以下範例說明如何在註冊全域物件之前檢查名稱是否已存在。

    重要事項

    當您在 JavaScript 和 Python 模式中存取物件時,用於註冊全域物件的名稱會直接使用。因此,建議為全域物件使用簡單的單字名稱 (例如,ext)。如果您使用駝峰式大小寫或蛇式大小寫 (例如,myCustomObject) 的複雜名稱註冊全域物件,當您使用全域物件時,必須指定註冊時的名稱。只有用於成員的名稱會以適合語言的方式處理。

  • object 是您要註冊為 MySQL Shell 全域物件的擴充物件。您只能註冊擴充物件一次。

  • definition 是一個選用的字典,其中包含在 MySQL Shell 說明系統中提供的全域物件的說明資訊。字典包含以下索引鍵:

    • brief (字串,選用):要作為說明資訊提供的全域物件簡短描述。

    • details (字串清單,選用):要作為說明資訊提供的全域物件詳細描述。