このページは機械翻訳したものです。
サポートされているスクリプト言語 (JavaScript および Python) のいずれかで、MySQL Shell のユーザー定義レポートを作成および登録できます。 レポート機能は、同じ API フロントエンドスキームを使用して組込みレポートおよびユーザー定義レポートを処理します。
レポートでは、受け入れるレポート固有のオプションのリストを指定できます。また、指定した数の追加引数を受け入れることもできます。 レポートでは、これらの入力の両方をサポートすることも、いずれもサポートしないこともできます。 レポートのヘルプをリクエストすると、MySQL Shell では、オプションと引数のリスト、およびレポートの登録時に提供されるこれらの説明が提供されます。
MySQL Shell レポートとして登録する Python または JavaScript 関数のシグネチャは、次のようにする必要があります:
Dict report(Session session, List argv, Dict options);
ここでは:
session
は、レポートの実行に使用される MySQL Shell セッションオブジェクトです。argv
は、レポートに渡される追加の引数の文字列値を含むオプションのリストです。options
は、レポート固有のオプションとその値に対応するキー名と値を持つオプションのディクショナリです。
レポート関数は、登録時に使用するタイプに応じて、特定の形式でデータを返すことが期待されます:
- リストタイプ
出力をリストのリストとして返します。最初のリストはカラムの名前で構成され、残りは行のコンテンツです。MySQL Shell では、デフォルトで出力がテーブル形式で表示されるか、
\show
または\watch
コマンドで--vertical
または--E
オプションが指定されている場合は垂直形式で表示されます。 行の値は、アイテムの文字列表現に変換されます。 行の要素数がカラム名の数より少ない場合、欠落している要素は NULL とみなされます。 行の要素数がカラム名の数より多い場合、余分な要素は無視されます。 このレポートを登録するときは、「list」 タイプを使用します。
- レポートタイプ
単一アイテムを含むリストとしてフリーフォーム出力を返します。MySQL Shell では、YAML を使用してこの出力が表示されます。 このレポートを登録するときは、「report」 タイプを使用します。
- 印刷タイプ
出力を画面に直接出力し、出力がすでに表示されていることを示す空のリストを MySQL Shell に返します。 このレポートを登録するときは、「print」 タイプを使用します。
出力を提供するには、レポートの API 関数で、キー report
を含むディクショナリと、返されるリスト内の各セクション目に対して 1 つずつ JSON オブジェクトのリストを返す必要があります。 リストタイプにはリストごとに 1 つの要素を使用し、レポートタイプには単一の要素を使用し、印刷タイプには要素を使用しません。