MySQL Shell 8.4  /  ...  /  註冊 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-*) 以虛線分隔來指定。