MySQL Shell 9.0  /  ...  /  註冊 MySQL Shell 報表

10.1.2 註冊 MySQL Shell 報表

若要向 MySQL Shell 註冊您的使用者定義報表,請在 JavaScript 中呼叫 shell.registerReport() 方法,或在 Python 中呼叫 shell.register_report() 方法。此方法的語法如下

shell.registerReport(name, type, report[, description])

其中

  • name 是一個字串,提供報表的唯一名稱。

  • type 是一個字串,提供報表類型,決定輸出格式,可以是 listreportprint

  • report 是呼叫報表時要執行的函式。

  • description 是一個字典,其中包含可用於指定報表支援的選項、報表接受的其他引數,以及 MySQL Shell 說明系統中提供的說明資訊的選項。

nametypereport 參數都是必要的。報表名稱必須符合以下需求

  • 在您的 MySQL Shell 安裝中必須是唯一的。

  • 必須是有效的指令碼識別碼,因此第一個字元必須是字母或底線字元,後面接著任意數量的字母、數字或底線字元。

  • 可以使用混合大小寫,但在轉換為小寫時,在您的 MySQL Shell 安裝中仍然必須是唯一的。

報表名稱在註冊程序中,以及在使用 \show\watch 命令執行報表時,不區分大小寫。當在 shell.reports 物件中呼叫對應的 API 函式時,報表名稱會區分大小寫。您必須使用用來註冊報表的確切名稱來呼叫函式,無論您是在 Python 還是 JavaScript 模式下。

選用字典包含以下鍵,這些鍵都是選用的

brief

報表的簡短說明。

details

報表的詳細說明,以字串陣列的形式提供。當您使用 \help 命令或使用 \show 命令的 --help 選項時,會提供此說明。

options

報表可以接受的任何報表特定選項。陣列中的每個字典都會描述一個選項,並且必須包含以下鍵

  • name (字串,必要):選項的長格式名稱,必須是有效的指令碼識別碼。

  • brief (字串,選用):選項的簡短說明。

  • shortcut (字串,選用):選項的替代名稱,以單個英數字元表示。

  • details (字串陣列,選用):選項的詳細說明。當您使用 \help 命令或使用 \show 命令的 --help 選項時,會提供此說明。

  • type (字串,選用):選項的值類型。允許的值為 stringboolintegerfloat,如果未指定 type,則預設為 string。如果指定 bool,則選項會作為切換:如果未指定,則預設為 false;當您使用 \show\watch 命令執行報表時,則預設為 true (且不接受任何值);當您使用 shell.reports 物件執行報表時,則必須具有有效的值。

  • required (布林值,選用):選項是否為必要。如果未指定 required,則預設為 false。如果選項類型為 bool,則 required 不能為 true。

  • values (字串陣列,選用):選項的允許值清單。只有類型為 string 的選項才能具有此鍵。如果未指定 values,則選項會接受任何值。

argc

一個字串,指定報表預期的其他引數數量,可以是下列其中之一

  • 確切的引數數量,指定為單個數字。

  • 零個或多個引數,指定為星號。

  • 引數數字範圍,指定為以破折號分隔的兩個數字 (例如,1-5)。

  • 具有最小值但沒有最大值的引數數字範圍,指定為一個數字和一個以破折號分隔的星號 (例如,1-*)。