MySQL Shell 9.0  /  ...  /  建立 MySQL Shell 外掛程式

10.3.1 建立 MySQL Shell 外掛程式

MySQL Shell 外掛程式可用於包含註冊為 MySQL Shell 報表的函式(請參閱第 10.1 節「使用 MySQL Shell 報表」),以及屬於使用者定義 MySQL Shell 全域物件提供的擴充物件成員的函式(請參閱第 10.2 節「新增擴充物件至 MySQL Shell」)。單一外掛程式可以包含並註冊多個函式,並且可以包含報表和擴充物件成員的混合。由 MySQL Shell 外掛程式註冊為報表或擴充物件成員的函式,會在 MySQL 完成啟動時立即可用。

MySQL Shell 外掛程式是一個包含適合語言的初始化腳本(init.jsinit.py 檔案)的資料夾。初始化腳本是外掛程式的進入點。外掛程式只能包含一種語言的程式碼,因此如果您要建立一個擴充物件,其中包含以 Python 定義的成員和以 JavaScript 定義的成員,則必須將這些成員儲存為個別適合語言的外掛程式。

若要讓 MySQL Shell 外掛程式在啟動時自動載入,其資料夾必須位於 MySQL Shell 使用者組態路徑中的 plugins 資料夾下。MySQL Shell 會在此位置搜尋任何初始化腳本。MySQL Shell 會忽略 plugins 位置中任何名稱以點 (.) 開頭的資料夾,否則您為外掛程式資料夾使用的名稱並不重要。

plugins 資料夾的預設路徑在 Unix 上是 ~/.mysqlsh/plugins,在 Windows 中則是 %AppData%\MySQL\mysqlsh\plugins。使用者組態路徑可以在所有平台上透過定義環境變數 MYSQLSH_USER_CONFIG_HOME 來覆寫。此變數的值會取代 Windows 上的 %AppData%\MySQL\mysqlsh\ 或 Unix 上的 ~/.mysqlsh/

當載入外掛程式時發現錯誤時,會顯示警告,並且錯誤詳細資訊會在 MySQL Shell 應用程式記錄中提供。若要查看載入程序的更多詳細資訊,請在啟動 MySQL Shell 時使用 --log-level=debug 選項。

當載入 MySQL Shell 外掛程式時,下列物件會以全域變數的形式提供

  • 內建全域物件 shelldbautil

  • Shell API 主要模組 mysql

  • X DevAPI 主要模組 mysqlx

  • AdminAPI 主要模組 dba