クライアント - スコープ、グローバル

  • リリースバージョン: Yokohama
  • 更新日 2025年01月30日
  • 所要時間:7分
  • クライアント API には、メトリックベース データベースにデータを追加したり、メトリックベース データベースで変換を実行したり、変換の結果を受け取ったりするためのメソッドが用意されています。

    Client クラスは、スコープ指定されたサーバースクリプトとグローバルサーバースクリプトの両方で使用できます。このクラスは メトリックベース アプリケーションの一部であり、 sn_clotho 名前空間内で実行する必要があります。

    Client - Client()

    メトリックベースデータベースにアクセスするためのクライアントクラスのインスタンスを作成します。

    表 : 1. パラメーター
    名前 タイプ 説明
    なし
    var client = new sn_clotho.Client();

    Client - accumulate(GlideRecord now_GR, 文字列 metric)

    指定されたタイムスタンプの測定基準値を累積し、値を上書きするのではなく結果をデータベースに保存します。

    このメソッドを使用を使用して、電力のキロワット時 (kWh) など、合計して累積できる測定基準を処理します。累積では、指定されたタイムスタンプで各測定基準の呼び出しを行います。たとえば、ヒーター、電気ケトル、洗濯機で収集されたキロワットは、累積する呼び出しを 3 回発生します。

    表 : 2. パラメーター
    名前 タイプ 説明
    now_GR GlideRecord 累積値の取得元の系列 GlideRecord の名前。

    関連項目:getSeries()

    default_value 番号 オプション。 指定されたタイムスタンプでの累積のデフォルト値。指定されたタイムスタンプの値が利用できない場合に、accumulate に対する最初の呼び出し中にのみ使用されます。

    ユースケースとして、total_power のワット測定基準の累積が考えられます。電力量計なしでコンセントに接続されたルーターのワット数を累積して測定する必要があります。消費値がわかっていて定数である場合は、定数値をデフォルト値として使用して total_power を累積できます。たとえば、ルーターが常に接続されていて、20 ワットを消費する場合は、20 を使用します。

    タイムスタンプ値は、DataBuilder API を使用して指定できます。

    デフォルト:0

    表 : 3. 返される内容
    タイプ 説明
    なし

    次の例は、building_a というレコード内に total_power 測定基準値を累積する方法を示しています。

    var time = new GlideDateTime();
    
    // total_power is the name of a metric within building_a which stores accumulated values
    
    var dataBuilder1 = new sn_clotho.DataBuilder(building_a, "total_power");
    // values to be accumulated
    dataBuilder1.add(time, 3.5);
    new sn_clotho.Client().accumulate(dataBuilder1, 0);
    
    var dataBuilder2 = new sn_clotho.DataBuilder(building_a, "total_power");
    // values to be accumulated
    dataBuilder2.add(time, 3.5);
    new sn_clotho.Client().accumulate(dataBuilder2, 0);
    
    var dataBuilder3 = new sn_clotho.DataBuilder(building_a, "total_power");
    // values to be accumulated
    dataBuilder3.add(time, 3.5);
    new sn_clotho.Client().accumulate(dataBuilder3, 0);
    
    // As a result of these operations client will save value of
    // 3.5+12+4.3+0(default value) at the timestamp 'time'

    Client - deleteMetric(文字列 tableName, 文字列 metricName)

    メトリックベース データベース内の指定されたテーブルから指定された測定基準を削除します。

    注:
    このメソッドは、 メトリックベースデータベースからのデータを削除します。復元する方法ははありません。
    表 : 4. パラメーター
    名前 タイプ 説明
    tableName 文字列 指定された測定基準を削除するテーブルの名前。
    metricName 文字列 測定基準の名前
    表 : 5. 返される内容
    タイプ 説明
    なし

    次の例は、テーブルから測定基準を削除する方法を示しています。

    var client = new sn_clotho.Client();
    
    // delete metric (Speed) from the Drones table
    client.deleteMetric("mb_demo_drone", "mb_demo_mt_speed");

    Client - deleteSeries(GlideRecord now_GR, 文字列 metric)

    指定された GlideRecord 内の指定されたメトリックに関連付けられたデータベースメトリックベースデータベースのデータを削除します。テストデータを削除するには、このメソッドを使用します。

    注:
    このメソッドは、 メトリックベースデータベースからのデータを削除します。復元する方法ははありません。
    表 : 6. パラメーター
    名前 タイプ 説明
    now_GR GlideRecord 指定したメトリックの時系列データを削除するレコード
    metric 文字列 測定基準の名前
    表 : 7. 返される内容
    タイプ 説明
    なし
    var client = new sn_clotho.Client();
    //query drones of a specific model
    var drones = new GlideRecord("mb_demo_drone");
    drones.addQuery("model", "Kingfisher Phantom");
    drones.query();
    
    client.deleteSeries(drones, 'mb_demo_mt_speed');

    Client - getSeries(GlideRecord now_GR, 文字列 metricName, GlideDateTime lastUpdateBefore)

    特定のディメンションからすべての系列を取得します。

    表 : 8. パラメーター
    名前 タイプ 説明
    now_GR GlideRecord 系列の取得元のレコード。
    metric 文字列 測定基準の名前
    lastUpdateBefore GlideDateTime オプション。評価期間の終了日を表す将来の日付。
    表 : 9. 返される内容
    タイプ 説明
    アレイ 指定された測定基準のデータを含む系列を表す文字列 sys_id のリスト。lastUpdateBefore パラメーターが指定されている場合、lastUpdateBefore の日付よりも新しいデータがない (非包含) 系列を返します。

    次の例は、ドローン [mb_demo_drone] テーブルにリストされている速度値の完全なリストを取得する方法を示しています。

    var client = new sn_clotho.Client();
    
    // query subject records
    var grDrone = new GlideRecord('mb_demo_drone');
    grDrone.query();
    
    var series = client.getSeries(grDrone,'mb_demo_mt_speed');

    Client - put(オブジェクト metricData)

    測定基準データを メトリックベース データベースに保存します。

    表 : 10. パラメーター
    名前 タイプ 説明
    metricData オブジェクト 次のいずれかになります。
    • メトリクスデータを含む DataBuilder オブジェクト。
    • 測定基準データを含む DataBuilder オブジェクトのアレイ。
    表 : 11. 返される内容
    タイプ 説明
    なし
    var time = new GlideDateTime();
    ​
    // two different GlideRecord instances and metrics
    var dataBuilder = new sn_clotho.DataBuilder(now_GR, 'cpu_percentage');
    dataBuilder.add(time, 0.6);
    ​
    var dataBuilder2 = new sn_clotho.DataBuilder(gr2, 'disk_free_percentage');
    dataBuilder2.add(time, 0.2);
    ​
    new sn_clotho.Client().put([dataBuilder,dataBuilder2]);