このページは機械翻訳したものです。
MySQL Shell に登録されている組込みレポートおよびユーザー定義レポートは、\show
または\watch
コマンドを使用して任意の対話型 MySQL Shell モード (JavaScript、Python または SQL) で実行するか、JavaScript または Python スクリプトの shell.reports
オブジェクトを使用してコールできます。 パラメータを指定せずに\show
コマンドまたは\watch
コマンドを実行すると、使用可能な組込みレポートおよびユーザー定義レポートがすべてリストされます。
\show
および\watch
コマンドを使用するには、アクティブな MySQL セッションが使用可能である必要があります。
\show
コマンドは、組込み MySQL Shell レポートまたは MySQL Shell に登録されているユーザー定義レポートのいずれかの名前付きレポートを実行します。 レポートでサポートされているオプションまたは追加の引数を指定できます。 たとえば、次のコマンドは組込みレポート query
を実行します。このレポートは、引数として単一の SQL ステートメントを取ります:
\show query show session status
レポート名では大文字と小文字は区別されず、ダッシュとアンダースコアは同じものとして扱われます。
\show
コマンドには、次の標準オプションもあります:
--vertical
(または-E
) では、テーブル形式ではなく垂直形式でリストを返すレポートの結果が表示されます。--help
では、指定したレポートに提供されているヘルプが表示されます。 (または、レポート機能のヘルプを表示するレポートの名前を指定して\help
コマンドを使用することもできます。)
標準オプションおよびレポート固有のオプションは、引数の前に指定します。 たとえば、次のコマンドは組込みレポート query
を実行し、結果を垂直形式で返します:
\show query --vertical show session status
\watch
コマンドは、\show
コマンドと同じ方法でレポートを実行しますが、Ctrl + C を使用してコマンドを取り消すまで定期的に結果をリフレッシュします。 \watch
コマンドには、次のようにリフレッシュ動作を制御するための追加の標準オプションがあります:
-
--interval=
(またはfloat
-i
) は、リフレッシュの間に待機する秒数を指定します。 デフォルトは 2 秒です。 小数秒を 0.1 秒の最小間隔で指定でき、間隔は 86400 秒 (24 時間) まで設定できます。float
--nocls
では、リフレッシュ前に画面がクリアされないように指定されているため、以前の結果は引き続き表示されます。
たとえば、次のコマンドは組込みレポート query
を使用してステートメントカウンタ変数を表示し、0.5 秒ごとに結果をリフレッシュします:
\watch query --interval=0.5 show global status like 'Com%'
引用符はサーバーによって直接ではなくコマンドハンドラによって解釈されるため、クエリーで使用される場合は、引用符の前にバックスラッシュ (\
) を付けてエスケープする必要があります。
MySQL Shell に登録されている組込み MySQL Shell レポートおよびユーザー定義レポートには、shell.reports
オブジェクトの API 関数としてアクセスすることもできます。 shell.reports
オブジェクトは、JavaScript および Python モードで使用でき、登録時に指定されたレポート名を関数名として使用します。 この関数のシグネチャは次のとおりです:
Dict report(Session session, List argv, Dict options);
ここでは:
session
は、レポートの実行に使用される MySQL Shell セッションオブジェクトです。argv
は、レポートに渡される追加の引数の文字列値を含むリストです。options
は、レポート固有のオプションとその値に対応するキー名と値を含むディクショナリです。 短い形式のオプションは、shell.reports
オブジェクトでは使用できません。
戻り値は、キー report
を含むディクショナリと、レポートを含む JSON オブジェクトのリストです。 レポートのリストタイプには各リストの要素があり、レポートタイプには単一の要素があり、印刷タイプには要素がありません。
shell.reports
オブジェクトでは、オプションのディクショナリが存在する場合、追加の引数がない場合でも argv
リストが必要です。 \help
コマンドを使用して、レポート機能のヘルプを表示し、レポートに引数またはオプションが必要かどうかを確認します。
report_name
たとえば、次のコードは、現在存在するセッションを示す sessions
という名前のユーザー定義レポートを実行します。 レポートを実行するための MySQL Shell セッションオブジェクトが作成されます。 レポート固有のオプションを使用して、返される行数を 10 に制限します。 追加の引数はないため、argv
リストは存在しますが空です。
report = shell.reports.sessions(shell.getSession(), [], {'limit':10});