MySQL Shell 8.0  /  ...  /  ユーザー定義 MySQL Shell グローバルオブジェクトの作成

このページは機械翻訳したものです。

7.2.1 ユーザー定義 MySQL Shell グローバルオブジェクトの作成

拡張オブジェクトのエントリポイントとして機能する新しい MySQL Shell グローバルオブジェクトを作成するには、まず Python の JavaScript または shell.create_extension_object() の組込み shell.createExtensionObject() 関数を使用して、新しいトップレベル拡張オブジェクトを作成します:

shell.createExtensionObject()

次に、Python の JavaScript または shell.register_global()shell.registerGlobal() メソッドをコールして、この最上位の拡張オブジェクトを MySQL Shell グローバルオブジェクトとして登録します。 メソッドの構文は次のとおりです:

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

ここでは:

  • name は、グローバルオブジェクトの名前 (およびクラス) を示す文字列です。 名前は有効なスクリプト識別子である必要があるため、最初の文字は文字またはアンダースコア文字で、その後に任意の数の文字、数字またはアンダースコア文字が続く必要があります。 この名前は MySQL Shell インストール内で一意である必要があるため、組込み MySQL Shell グローバルオブジェクト (db, dba, cluster, session, shell, util など) の名前にすることはできず、ユーザー定義 MySQL Shell グローバルオブジェクトにすでに使用されている名前にすることもできません。 次の例は、グローバルオブジェクトを登録する前に名前がすでに存在するかどうかを確認する方法を示しています。

    重要

    グローバルオブジェクトの登録に使用する名前は、JavaScript モードと Python モードの両方でオブジェクトにアクセスするときにそのまま使用されます。 したがって、グローバルオブジェクト (ext など) には単純な一言の名前を使用することをお薦めします。 キャメルケースまたはスネークケース (myCustomObject など) で複合名でグローバルオブジェクトを登録する場合は、グローバルオブジェクトを使用するときに、登録された名前を指定する必要があります。 メンバーに使用される名前のみが、言語に適した方法で処理されます。

  • object は、MySQL Shell グローバルオブジェクトとして登録する拡張オブジェクトです。 拡張オブジェクトは一度のみ登録できます。

  • definition は、MySQL Shell ヘルプシステムで提供されるグローバルオブジェクトのヘルプ情報を含むオプションのディクショナリです。 ディクショナリには、次のキーが含まれます:

    • brief (string、オプション): ヘルプ情報として提供されるグローバルオブジェクトの簡単な説明。

    • details (文字列のリスト、オプション): ヘルプ情報として提供されるグローバルオブジェクトの詳細な説明。