MetricBase 時系列 API
メトリックベース時系列 API は、メトリックベース データベースにデータを挿入し、そこから情報を取得し、変換を実行するためのエンドポイントを提供します。
この API は、 メトリックベース プラグイン (com.snc.clotho) がインストールされ、アクティブ化されている場合にのみ使用できます。
この API への書き込みに必要なロール:clotho_rest_put。
このセクションの例は、メトリックベース (com.snc.clotho) プラグインのデータを使用して作成されています。
MetricBase 時系列:GET /now/clotho/table/{table}/{subject}/{metric}
指定された時系列データを メトリックベース データベースから取得します。
URL 形式
バージョニングされた URL: /api/now/{api_version}/clotho/table/{table}/{subject}/{metric}
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | |
| メトリクス | メトリクスとして使用する subject パラメーターで特定されたテーブル内の列の名前。 データタイプ:文字列 |
| 件名 | この系列に関連付けられている GlideRecord のSys_id。 データタイプ:文字列 |
| table | この系列に関連付けられた GlideRecord を含むテーブルの名前。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| sysparm_display_value | 他のラベルが指定されていない場合に、結果データに対象レコード表示値のラベルを付けるかどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン デフォルト値:false |
| sysparm_end | 必須です。評価期間の終了時間。空の値または欠落している値は、現在の時刻として扱われます。時間値にはこの終了時間が含まれます。 データタイプ:文字列 形式:ISO 8601 (UTC)、次のいずれか:
|
| sysparm_start | 必須です。評価期間の開始時間。特別な値「 すべて」 を使用して、開始時間を現在の時刻から指定されたメトリクスの最大保持期間を引いたものとして設定できます。空の値または欠落している値は、暗黙的な すべてとして扱われます。時間の値には、この開始時間が含まれます。データタイプ:文字列 形式:ISO 8601 (UTC)、次のいずれか:
|
| 名前 | 説明 |
|---|---|
| なし |
ヘッダー
次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 401 | 権限がありません。ユーザー認証情報が正しくないか、渡されていません。 |
| 500 | 内部サーバーエラー要求の処理中に予期しないエラーが発生しました。応答には、エラーに関する追加情報が含まれています。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| label | このメトリクスの結果セットを識別するために使用されるラベル。 データタイプ:文字列 |
| seriesRef | データ系列の結果。 データタイプ:オブジェクトのアレイ |
| seriesRef.metric | データ系列の取得元のメトリクスの名前。metrics オブジェクトが要求で渡された場合にのみ表示されます。 データタイプ:文字列 |
| seriesRef.subject | データ系列レコードのSys_id。seriesRef.table で指定されたテーブルにあります。 データタイプ:文字列 |
| seriesRef.table | データ系列の取得元のテーブルの名前。 データタイプ:文字列 |
| 値 | 変換された系列の値。 データタイプ:オブジェクトのアレイ |
| values.timestamp | 値のタイムスタンプ。 データタイプ:文字列 フォーマット:ISO 8601 |
| values.value | メトリクス値。 データタイプ:数値 |
cURL 要求
curl "https://instance.servicenow.com/api/now/v1/clotho/
table/mb_demo_drone/626b051787333200a328c5b836cb0b99/
mb_demo_mt_altitude?sysparm_start=2019-03-20T17%3A04%3A55
&sysparm_end=2019-03-20T17%3A09%3A55" \
--request GET \
--header "Accept:application/json" \
--user "username":"password"
{
"seriesRef": {
"subject": "626b051787333200a328c5b836cb0b99",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_altitude"
},
"label": "626b051787333200a328c5b836cb0b99:
mb_demo_drone|mb_demo_mt_altitude",
"values": [
{
"timestamp": "2019-03-20T17:05:00Z",
"value": 83.150185
},
{
"timestamp": "2019-03-20T17:06:00Z",
"value": 83.46074
},
{
"timestamp": "2019-03-20T17:07:00Z",
"value": 83.83104
},
{
"timestamp": "2019-03-20T17:08:00Z",
"value": 84.260635
},
{
"timestamp": "2019-03-20T17:09:00Z",
"value": 84.749
}
]
}
MetricBase 時系列:GET /now/clotho/transform/{table}/{metric}
指定されたパラメーターに基づいて指定されたデータを変換します。
URL 形式
バージョニングされた URL: /api/now/{api_version}/clotho/transform/{table}/{metric}
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | |
| メトリクス | メトリクスとして使用する subject パラメーターで特定されたテーブル内の列の名前。 データタイプ:文字列 |
| table | この系列に関連付けられた GlideRecord を含むテーブルの名前。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| sysparm_display_value | 他のラベルが指定されていない場合に、結果データに対象レコード表示値のラベルを付けるかどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン デフォルト値:false |
| sysparm_end | 必須です。評価期間の終了時間。空の値または欠落している値は、現在の時刻として扱われます。時間値にはこの終了時間が含まれます。 データタイプ:文字列 形式:ISO 8601 (UTC)、次のいずれか:
|
| sysparm_query | 件名レコードを検索するためのエンコードされたクエリ文字列。 データタイプ:文字列 デフォルト:なし |
| sysparm_start | 必須です。評価期間の開始時間。特別な値「 すべて」 を使用して、開始時間を現在の時刻から指定されたメトリクスの最大保持期間を引いたものとして設定できます。空の値または欠落している値は、暗黙的な すべてとして扱われます。時間の値には、この開始時間が含まれます。データタイプ:文字列 形式:ISO 8601 (UTC)、次のいずれか:
|
| sysparm_subject_limit | 対象クエリー結果のサイズを制限します。 データタイプ:数値 デフォルト:10,000 |
| sysparm_transforms | 変換のカンマ区切りリスト。 有効な変換:
データタイプ:文字列 デフォルト:なし |
| 名前 | 説明 |
|---|---|
| なし |
ヘッダー
次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。サポートされるタイプ:application/json または application/xml。 デフォルト: application/json |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 401 | 権限がありません。ユーザー認証情報が正しくないか、渡されていません。 |
| 500 | 内部サーバーエラー要求の処理中に予期しないエラーが発生しました。応答には、エラーに関する追加情報が含まれています。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| label | このメトリクスの結果セットを識別するために使用されるラベル。 データタイプ:文字列 |
| seriesRef | データ系列の結果。 データタイプ:オブジェクトのアレイ |
| seriesRef.metric | データ系列の取得元のメトリクスの名前。metrics オブジェクトが要求で渡された場合にのみ表示されます。 データタイプ:文字列 |
| seriesRef.subject | データ系列レコードのSys_id。seriesRef.table で指定されたテーブルにあります。 データタイプ:文字列 |
| seriesRef.table | データ系列の取得元のテーブルの名前。 データタイプ:文字列 |
| 値 | 変換された系列の値。 データタイプ:オブジェクトのアレイ |
| values.timestamp | 値のタイムスタンプ。 データタイプ:文字列 フォーマット:ISO 8601 |
| values.value | メトリクス値。 データタイプ:数値 |
cURL 要求
curl "https://instance.servicenow.com/api/now/v1/clotho/
transform/mb_demo_drone/mb_demo_mt_speed?
sysparm_query=model%3DKingfisher%20Phantom&
sysparm_start=2019-03-25T17%3A04%3A55&
sysparm_end=2019-03-25T17%3A05%3A10" \
--request GET \
--header "Accept:application/json" \
--user "username":"password"
出力:
[
{
"seriesRef": {
"subject": "2a6b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "2a6b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 33.67892
}
]
},
{
"seriesRef": {
"subject": "666b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "666b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 41.94985
}
]
},
{
"seriesRef": {
"subject": "a26b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "a26b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 37.74187
}
]
},
{
"seriesRef": {
"subject": "ea6b051787333200a328c5b836cb0b92",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "ea6b051787333200a328c5b836cb0b92:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 34.914192
}
]
},
{
"seriesRef": {
"subject": "ee6b051787333200a328c5b836cb0b91",
"table": "mb_demo_drone",
"metric": "mb_demo_mt_speed"
},
"label": "ee6b051787333200a328c5b836cb0b91:mb_demo_drone
|mb_demo_mt_speed",
"values": [
{
"timestamp": "2019-03-25T17:05:00Z",
"value": 44.170887
}
]
}
]
MetricBase 時系列 - POST /now/clotho/accumulate
指定されたタイムスタンプでメトリクス値を累積し、値を上書きするのではなく結果をデータベースに保存します。
この API を使用 を使用して、電気のキロワット時 (kWhs) など、累積の合計できるメトリクスを処理します。Accumulate は、指定されたタイムスタンプで各メトリクスを呼び出します。たとえば、ヒーター、電気ケトル、洗濯機のためにキロワットを集めると、3 回のコールが蓄積されます。
URL 形式
バージョニングされた URL: /api/now/{api_version}/clotho/accumulate
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプション。アクセスするエンドポイントのバージョン。たとえば、 v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| default_value | 指定されたタイムスタンプでの累積のデフォルト値。指定されたタイムスタンプで値が使用できない場合に累積する最初の呼び出し中にのみ使用されます。 ユースケースとしては、total_powerのワットメトリクスを累積することが考えられます。コンセントに接続されたルーターを測定するための電力計なしでワットを蓄積したいと考えています。消費値がわかっていて、それが一定である場合)、定数値をデフォルト値として使用してtotal_powerを累積できます。たとえば、ルーターが常に接続され、20 ワットを消費する場合は 20 を使用します。 データタイプ:文字列 デフォルト:0 |
| sysparm_ignore_unknown_series | 不明な系列を無視し、エラーを返さずにトランザクションを続行するかどうかを示すフラグ。 有効な値:
デフォルト:true |
| 名前 | 説明 |
|---|---|
| seriesRef | 更新するデータ系列情報を表す文字列のリスト。 データタイプ:アレイ |
| seriesRef.metric | 必須です。更新する累積メトリクスの名前。 データタイプ:文字列 |
| seriesRef.subject | 必須です。データを更新するレコードのSys_id。 データタイプ:文字列 テーブル:次で指定 seriesRef.table |
| seriesRef.table | 必須です。データを保存するテーブルの名前。 データタイプ:文字列 |
| 値 | 必須です。累積して保存する系列値。同じタイムスタンプを持つ値は、 default_value クエリパラメーターで合計されます。 データタイプ:アレイ |
| values.timestamp | 必須です。値の ISO 8601 タイムスタンプ。 データタイプ:文字列 形式:YYYY-MM-ddTHH:mm:ddZ 「Z」で表される文字は、ISO 形式のタイムスタンプの UTC タイムゾーンを示します。タイムスタンプ形式のこの部分はオプションです。 例: |
| values.value | 必須です。メトリクス値。 データタイプ:数値 |
ヘッダー
次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 401 | 権限がありません。ユーザー認証情報が正しくないか、渡されていません。 |
| 500 | 内部サーバーエラー要求の処理中に予期しないエラーが発生しました。応答には、エラーに関する追加情報が含まれています。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| メッセージ | 成功 (OK) またはエラーを示すメッセージ。 |
cURL 要求
この例は、特定のタイムスタンプでメトリクス値を累積する方法を示しています。
curl "https://instance.servicenow.com/api/now/v1/clotho/accumulate" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"seriesRef\": {
\"subject\": \"3D666b051787333200a328c5b836cb0b92\",
\"table\": \"power_monitoring\",
\"metric\": \"total_power\"
},
\"values\": [
{
\"timestamp\": \"2019-03-21T17:05:00Z\",
\"value\": 0.150185
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 0.46074
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 0.83104
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 1.260635
},
{
\"timestamp\": \"2019-03-21T17:05:00Z \",
\"value\": 1.749
}
]
}" \
--user "username":"password"
成功した結果とともに出力が提供されます。
{
"result": {
"message": "ok"
}
}
MetricBase 時系列:POST /now/clotho/transform
線形パイプラインを形成する変換の指定されたリストを適用した後、1 つ以上のメトリクスの時系列データを取得し、オプションでグループ化します。
URL 形式
バージョニングされた URL: /api/now/{api_version}/clotho/transform
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプション。アクセスするエンドポイントのバージョン。たとえば、 v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| sysparm_display_value | 他のラベルが指定されていない場合に、結果データに対象レコード表示値のラベルを付けるかどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン デフォルト値:false |
| 名前 | 説明 |
|---|---|
| 終了 | 必須です。評価期間の終了時間。空の値または欠落している値は、現在の時刻として扱われます。時間値にはこの終了時間が含まれます。 データタイプ:文字列 形式:ISO 8601 (UTC)、次のいずれか:
|
| limit | 返されるレコードの最大数。異常に大きい値は、システムのパフォーマンスに影響を与える可能性があります。 データタイプ:数値 デフォルト:10,000 |
| メトリクス | 変換で使用するメトリクスオブジェクトのリスト。メトリクスの詳細については、「Metrics」を参照してください。 データタイプ:アレイ |
| metrics.groupBy | table パラメーターで指定されたテーブルに含まれるフィールドのカンマ区切りリスト。集計変換を収集または適用する前に系列をグループ化します。 リスト内のアイテムの順序は、データがグループ化される順序です。たとえば、リストに「州、郵便番号」の 2 つのアイテムがある場合、系列は最初に州別にグループ化され、次に州内の郵便番号別にグループ化されます。 データタイプ:文字列 デフォルト:データはグループ化されません。 |
| metrics.label | このメトリクスの結果セットに使用するラベル。変換チェーンによって生成されたラベルを置き換えます。 データタイプ:文字列 デフォルト:生成されたデフォルトのラベル。 |
| metrics.metric | metricsオブジェクトが渡された場合は必須です。変換で使用するメトリクスフィールド。このフィールドは、 table パラメーターで指定されたテーブルに含まれている必要があります。 データタイプ:文字列 |
| metrics.transforms | 取得された時系列データに適用する変換 (変換チェーン) のリスト。各変換は、前の変換の結果に基づいて構築されます。使用可能な変換のリストについては、以下の 「サポートされている変換」 を参照してください。 データタイプ:オブジェクトのアレイ |
| metrics.transforms.arg | 変換に依存します。変換に渡すパラメーター。 一般的なガイドライン:
データタイプ:変換に応じて、数値、文字列、ブール、または JSON オブジェクト。(使用可能な変換のリストについては、以下の「 サポートされている変換」 の表を参照してください)。 |
| metrics.transforms.name | transformsオブジェクトが指定されている場合は必須です。変換の名前。 使用可能な変換のリストについては、以下の「 サポートされている変換」 の表を参照してください。 データタイプ:文字列 |
| クエリ | 結果セットをフィルタリングするために使用するエンコードされたクエリ。 指定したテーブルのフィルターエディターを使用してクエリを作成できます。作成したら、フィルターのブレッドクラムコンテキストメニューから [URL のコピー ] を選択します。 データタイプ:文字列 デフォルト:なし |
| 開始 | 必須です。評価期間の開始時間。特別な値「 すべて」 を使用して、開始時間を現在の時刻から指定されたメトリクスの最大保持期間を引いたものとして設定できます。空の値または欠落している値は、暗黙的な すべてとして扱われます。時間の値には、この開始時間が含まれます。データタイプ:文字列 形式:ISO 8601 (UTC)、次のいずれか:
|
| table | 必須です。この系列に関連付けられた GlideRecord が含まれているテーブルの名前。 データタイプ:文字列 |
ヘッダー
次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 401 | 権限がありません。ユーザー認証情報が正しくないか、渡されていません。 |
| 404 | 見つかりません。要求されたアイテムが見つかりませんでした。 |
| 405 | メソッドが無効です。機能が無効になっています。 |
| 500 | 内部サーバーエラー要求の処理中に予期しないエラーが発生しました。応答には、エラーに関する追加情報が含まれています。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| results | クエリを満たす 0 個以上の結果オブジェクトを返します。seriesアレイまたはgroupedアレイのいずれかが含まれます。 データタイプ:アレイ |
| results.grouped | 各 grouped 結果オブジェクトが特定のグループに対応する、グループ化された結果オブジェクトのリスト。この形式は、 metrics.groupBy パラメーターが要求本文で渡されたときに返されます。 データタイプ:アレイ |
| results.grouped.groupingBy | 要求の metrics.groupBy パラメーターで渡される値。 データタイプ:文字列 |
| results.grouped.groups | 要求の metrics.groupBy パラメーターの内容に基づいて生成されたグループのリスト。 データタイプ:アレイ |
| results.grouped.groups.group | グループの名前 データタイプ:文字列 |
| results.grouped.groups.label | グループのラベル。 データタイプ:文字列 |
| results.grouped.groups.series | グループの結果の変換済み値。 データタイプ:アレイ |
| results.grouped.groups.series.label | 系列のラベル。 データタイプ:文字列 |
| results.grouped.groups.series.seriesRef | 単一のデータ系列の結果。応答に複数のデータ系列がある場合は表示されません。 データタイプ: オブジェクト |
| results.grouped.groups.series.seriesRef.metric | データ系列の取得元のメトリクスの名前。metrics オブジェクトが要求で渡された場合にのみ表示されます。 データタイプ:文字列 |
| results.grouped.groups.series.seriesRef.subject | データ系列レコードのSys_id。 データタイプ:文字列 テーブル: results.series.seriesRef.table パラメーターで指定されたテーブル。 |
| results.grouped.groups.series.seriesRef.table | データ系列の取得元のテーブルの名前。 データタイプ:文字列 |
| results.grouped.groups.series.values | グループの結果値のリスト。 データタイプ:アレイ |
| results.grouped.groups.series.values.timestamp | 値の ISO 8601 タイムスタンプ。 データタイプ:文字列 |
| results.grouped.groups.series.values.value | 変換後の値。 データタイプ:数値 |
| results.marker | 対応する結果の一意の識別子。 データタイプ:文字列 |
| results.series | グループ化されていない一連の結果オブジェクトのリスト。 データタイプ:オブジェクトのアレイ |
| results.series.label | データ系列ラベル。この値は、エンドポイントによって生成されるか、 metrics.label パラメーターで渡される値です。 データタイプ:文字列 |
| results.series.seriesRef | 単一のデータ系列の結果。応答に複数のデータ系列がある場合は表示されません。 データタイプ: オブジェクト |
| results.series.seriesRef.metric | データ系列の取得元のメトリクスの名前。metrics オブジェクトが要求で渡された場合にのみ表示されます。 データタイプ:文字列 |
| results.series.seriesRef.subject | データ系列レコードのSys_id。 データタイプ:文字列 テーブル: results.series.seriesRef.table パラメーターで区分されます。 |
| results.series.seriesRef.table | データ系列の取得元のテーブルの名前。 データタイプ:文字列 |
| results.series.values | 変換された系列の値。 データタイプ:オブジェクトのアレイ |
| results.series.values.timestamp | 値の ISO 8601 タイムスタンプ。 データタイプ:文字列 |
| results.series.values.value | 変換後の値。 データタイプ:数値 |
サポートされている変換
| 変換 | 説明 |
|---|---|
| 追加 | 各タイムスタンプ値に指定された数値を加算します。 引数:arg (10 進数データ型):追加する数値。 例: |
| 自己相関 | 1 から始まる増加する期間数で区切られたタイムスタンプ値間の相関を計算します。 |
| 平均 | 時系列を、入力全体の対応する各タイムスタンプの平均値を含む 1 つの系列にアグリゲートします。 |
| 下 | 最小値を持つ指定された数の系列を返します。 引数: arg (整数) – 返される系列の数。 たとえば、次の例では、最小の値セットを含む 2 つの時系列が返されます。 |
| CEIL | 各タイムスタンプの値を指定された精度に切り上げます: ceil(value / <arg>) * <arg>) 引数: arg (10 進数データ型) – 切り上げる小数点以下桁数。 |
| 収集 | 収集変換呼び出しの時点までの変換チェーンの変換結果を表示します。変換結果の収集には一意のマーカーが含まれますが、ラベルを定義することもできます。 例: |
| constrainValues | 指定された範囲外の値を、対応する最大値または最小値に置き換えます。 たとえば、次のように指定した場合、変換によって、0 未満の値は 0 に、100 を超える値は 100 に置き換えられます。 引数:
|
| カウント | 時系列を 1 つの系列に集計します。新しい系列には、系列全体の対応する各タイムスタンプの NaN (数値ではない) ではない値の数が含まれます。 |
| 派生 | タイムスタンプ間の変化率を決定します。各タイムスタンプの値と次のタイムスタンプの値の差をタイムスタンプの期間で除算します。 注: この変換は、系列内の値の数よりも 1 つ少ない値を返します。 |
| div | 各タイムスタンプの値を指定された数値 (引数) で除算します。 引数:arg (10 進数 – 各タイムスタンプの値を除算する数値。 |
| エンベロープ | 任意の時点で、一方が最大値、もう一方が最小値を含む 2 つの時系列を返します。 注: NaN は無視されますが、他の戻り値がない場合は返されます。 |
| exp | 指定された基数の値を各タイムスタンプの値でべき乗します。 引数:arg (10 進数データ型) - 基準値。 |
| フィルター | 移動平均の生成など、スライディングウィンドウのコンテンツにアグリゲーターを適用します。 引数:
|
| フロア | 各タイムスタンプの値を指定された精度に切り下げます: floor(value / <arg>) * <arg> 引数:arg (10 進数データ型) – 切り捨てる小数点以下桁数。 |
| 変位値 | 指定された配列内の各分数の時系列を返します。各タイムスタンプ値は、入力シリーズ全体の対応するタイムスタンプに対して指定された値の割合が指定されたパーセンテージを下回っている値です。たとえば、分数が 0.5 の場合、タイムスタンプの値は、入力系列の値の半分が 0.5 未満の値です。 引数:arg (10 進数の配列) – 入力系列に使用する分数。 例: |
| groupBy | 集計された変換を収集または適用する前に、指定されたフィールド別にデータをグループ化します。 引数: arg (文字列):変換結果のグループ化に使用するテーブル内のフィールドのカンマ区切りリスト。 例: |
| 統合 | 各タイムスタンプの値にその期間を乗算します。 |
| 補間 | 隣接するデータ値から補間することにより、NaN データアイテムのデータ値を作成します。 引数: arg (整数) – NaN 以外の値をチェックする各方向のデータサンプルの数。NaN以外の値が見つからない場合は、NaNが使用されます。 |
| 反転 | 各タイムスタンプ値の逆を計算します。 |
| IQR | 四分位範囲の変換を実行し、次の 4 つの系列を含む結果セットを作成します。
注: IQR = Q3 - Q1 |
| label | 変換チェーンにラベルを付けます。 注: 後続の変換では、ラベルが変更または置換される場合があります。 引数:arg (文字列) - ラベルのテキスト。次の書式設定式を含めることができます。
例:
|
| limit | 最大で、最後に保存された値から開始して、指定された期間または値の数を返します。 引数:
|
| ログ | 各タイムスタンプの値に対して対数を実行します。結果は、タイムスタンプ値の指定された基数の対数です。 引数:arg (10 進数データ型) – 対数計算の基数。 |
| mapValue | 指定された範囲 (包括的) 内の値を指定された値に置き換えます。lowerBoundと upperBound の両方が NaN として指定されている場合は、NaN 値が targetValue に置き換えられます。 引数:
たとえば、次のようにすると、時系列で .1 から .9 までのすべての値が 1 に変更されます。 |
| 最大 | 入力全体で対応する各タイムスタンプの最大値を含む系列を返します。 |
| 中央値 | 一連の系列全体の各タイムスタンプの値の中央値を含む系列を作成します。n 系列がある場合:
|
| 最小 | 入力全体で対応する各タイムスタンプの最小値を含む系列を返します。 |
| mul | 各タイムスタンプの値に指定された数値を掛けます。 引数:arg (10 進数データ型) – 各タイムスタンプの値を乗算する数値。 |
| パーティション | 指定されたアグリゲーターを重複していないウィンドウに適用することによってフィルタリングされた値を持つ新しい系列を生成します。 引数:
|
| 戦力 | 各タイムスタンプ値を指定されたべき乗に上げます。 引数: arg (10 進数データ型) – 各値を上げるべき乗。 |
| product | 選択したメトリクス系列を、各タイムスタンプのすべての値の積を含む単一の系列にアグリゲートします。NaN は除外されます。系列内のすべての数値が NaN の場合、出力も NaN になります。 |
| リサンプル | 時系列を一定数のポイントに、またはある周波数から別の周波数にリサンプリングします。 リサンプル変換を使用して、結果セット内のサンプル数を減らし、表示するサンプル数に近づけます。 引数:この変換にはさまざまな引数を渡すことができます。以下は、考えられる各引数グループのリストです。1 つの変換内で渡すことができる引数グループは 1 つだけです。次の引数グループは、AND/OR で区切られています。AND は、引数が現在のグループの一部であることを意味します。OR は、新しい引数グループの開始であることを意味します。
|
| round | 各タイムスタンプの値を指定された精度 (値 / <arg>) * <arg) に切り上げます> 引数:arg (10 進数データ型):切り上げる小数点以下桁数。 |
| ルート | 指定されたインデックスを使用して、各タイムスタンプ値のルートを計算します。 引数:arg (10 進数データ型) – ルートのインデックス。 たとえば、次の例では、各タイムスタンプの平方根が返されます。 |
| 標準偏差 | 一連の系列全体の各タイムスタンプの値の標準偏差を含む系列を作成します。 |
| sub | 各タイムスタンプの値から指定された数値を減算します。 引数:arg (数値) – 各タイムスタンプの値から減算する数値。 |
| sum | 選択したメトリクス系列を、各タイムスタンプのすべての値の合計 (NaN を除く) を含む 1 つの系列に集計します。系列内のすべての数値が NaN の場合、出力は NaN です。 |
| タイムシフト | 値を変更せずに、指定されたオフセットを値のタイムスタンプに追加することで、時間範囲をシフトします。タイムスタンプを別のタイムゾーンにシフトするには、この変換を使用します。 引数:arg (期間データ型) – シフトする時間。 |
| top | 最大値を持つ指定された数の系列を返します。 引数:arg (整数) – 返される系列の数。 たとえば、次の例では、最も高い値セットを含む 2 つの時系列が返されます。 |
| データタイプ | 説明 |
|---|---|
| 集計関数 | 変換内で使用できるアグリゲーター。
|
| DateTime | 日付/時刻の絶対値は、ISO 8601 の日時形式 (YYYY-MM-DDThh:mm:ss) で指定されます。例:2020-02-28T13:10:42。各項目の意味は次のとおりです。
相対日付/時刻の値は、現在の時刻から差し引かれた期間 (期間データタイプ) を使用して指定されます。 例:P7D = 7 日前。 |
| 10 進数 | 10 進数値。次のいずれかを指定できます。
|
| 期間 | 時間間隔の時間。期間の値は、ISO 8601 期間形式 (P[n]Y[n]M[n]DT[n]H[n]M[n]S) で指定されます。 各項目の意味は次のとおりです。
例:
|
cURL 要求
curl "https://instance.servicenow.com/api/now/v1/clotho/transform \
--request POST \
--header "Accept:application/json", "Content-Type:application/json" \
--user "username":"password"
-d {\
"start": "PT15M",\
"end": "",\
"table": "mb_demo_drone",\
"query": "fleet.nameSTARTSWITHB",\
"limit": 5000,\
"metrics": [\
{\
"metric": "mb_demo_mt_altitude",\
"label": "Series - Avg",\
"transforms": [\
{\
"name": "partition",\
"arg": {\
"aggregator": "AVG",\
"window": "PT5M"\
}\
},
{\
"name": "avg"\
}\
]\
},
{\
"metric": "mb_demo_mt_altitude",\
"groupBy": "fleet",\
"label": "Fleet - AVG",\
"transforms": [\
{\
"name": "partition",\
"arg": {\
"aggregator": "AVG",\
"window": "PT5M"\
}\
},
{\
"name": "avg"\
}\
]\
}\
]\
} \
出力:
"results:" [
{
"marker": "674d86ba-a810-4065-942b-0b7ca2f95db2",
"series": [
{
"label": "Series - Avg",
"values": [
{
"timestamp": "2020-05-01T21:05:00Z",
"value": 157.43086
},
{
"timestamp": "2020-05-01T21:10:00Z",
"value": 162.92278
}
]
}
]
},
{
"marker": "846aa334-232a-4015-b033-d18ebc4b1d23",
"grouped": [
{
"groupingBy": "fleet",
"groups": [
{
"group": "86fac11787333200a328c5b836cb0b4e",
"label": "Bantams",
"series": {
"label": "Fleet - AVG",
"values": [
{
"timestamp": "2020-05-01T21:05:00Z",
"value": 159.70201
},
{
"timestamp": "2020-05-01T21:10:00Z",
"value": 165.1136
}
]
}
},
{
"group": "4afac11787333200a328c5b836cb0b4e",
"label": "Bumble Untd",
"series": {
"label": "Fleet - AVG",
"values": [
{
"timestamp": "2020-05-01T21:05:00Z",
"value": 154.5403
},
{
"timestamp": "2020-05-01T21:10:00Z",
"value": 160.13445
}
]
}
}
]
}
]
}
]
MetricBase 時系列:POST /now/clotho/transform/stream
指定された変換リストを適用した後、1 つ以上のメトリクスについて変換された時系列データのストリームを返します。
この方法でデータをストリーミングすると、すべての変換結果が完了してダウンロードされるのを待つのではなく、個々の変換が完了して返されたときにデータを処理できます。クライアントで大量のデータを処理する必要がある場合、このタイプの処理によりエンドツーエンドの処理時間が短縮され、クライアントのメモリ使用量が削減される可能性があります。
- バイナリ形式でエンコードするストリーミングデータを指定します。
- ストリーミングデータを JSON アレイにシリアル化します。
- データをワイドまたはナローの CSV 形式でクライアントにストリーミングします。
URL 形式
バージョニングされた URL: /api/now/{api_version}/clotho/transform/stream
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | オプション。アクセスするエンドポイントのバージョン。たとえば、 v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| sysparm_display_value | 他のラベルが指定されていない場合に、結果データに対象レコード表示値のラベルを付けるかどうかを示すフラグ。 有効な値:
データタイプ:ブーリアン デフォルト値:false |
| 名前 | 説明 |
|---|---|
| 終了 | 必須です。評価期間の終了時間。空の値または欠落している値は、現在の時刻として扱われます。時間値にはこの終了時間が含まれます。 データタイプ:文字列 形式:ISO 8601 (UTC)、次のいずれか:
|
| limit | 返されるレコードの最大数。異常に大きい値は、システムのパフォーマンスに影響を与える可能性があります。 データタイプ:数値 デフォルト:10,000 |
| メトリクス | 変換で使用するメトリクスオブジェクトのリスト。メトリクスの詳細については、「 メトリクス」を参照してください。 データタイプ:アレイ |
| metrics.label | このメトリクスの結果セットに使用するラベル。変換チェーンによって生成されたラベルを置き換えます。 データタイプ:文字列 デフォルト:生成されたデフォルトのラベル。 |
| metrics.metric | metricsオブジェクトが渡された場合は必須です。変換で使用するメトリクスフィールド。このフィールドは、 table パラメーターで指定されたテーブルに含まれている必要があります。 データタイプ:文字列 |
| metrics.transforms | 取得された時系列データに適用する変換 (変換チェーン) のリスト。各変換は、前の変換の結果に基づいて構築されます。使用可能な変換のリストについては、以下の 「サポートされている変換」 を参照してください。 データタイプ:オブジェクトのアレイ |
| metrics.transforms.arg | 変換に依存します。変換に渡すパラメーター。 一般的なガイドライン:
データタイプ:変換に応じて、数値、文字列、ブール、または JSON オブジェクト。(使用可能な変換のリストについては、以下の「 サポートされている変換」 の表を参照してください)。 |
| metrics.transforms.name | transformsオブジェクトが指定されている場合は必須です。変換の名前。 使用可能な変換のリストについては、以下の「 サポートされている変換」 の表を参照してください。 データタイプ:文字列 |
| クエリ | 結果セットをフィルタリングするために使用するエンコードされたクエリ。 指定したテーブルのフィルターエディターを使用してクエリを作成できます。作成したら、フィルターのブレッドクラムコンテキストメニューから [URL のコピー ] を選択します。 データタイプ:文字列 デフォルト:なし |
| 開始 | 必須です。評価期間の開始時間。特別な値「 すべて」 を使用して、開始時間を現在の時刻から指定されたメトリクスの最大保持期間を引いたものとして設定できます。空の値または欠落している値は、暗黙的な すべてとして扱われます。時間の値には、この開始時間が含まれます。データタイプ:文字列 形式:ISO 8601 (UTC)、次のいずれか:
|
| table | 必須です。この系列に関連付けられた GlideRecord が含まれているテーブルの名前。 データタイプ:文字列 |
ヘッダー
次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。以下をサポートします。
text/csv を使用します。format=narrow または text/csv;format=wide です。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし | 応答本文のデータフォーマット。要求の指定された [承認] 値に基づいて、次を使用します。
複数の Accept タイプが指定されている場合は、最初にサポートされているタイプが返されます。 |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理され、データのストリーミングが開始されます。 注: 200 の応答でも、変換が計算される途中で処理エラーが発生する可能性があります。 |
| 400 | 要求が正しくありません。不適切な要求タイプまたは誤った要求が検出されました。 |
| 401 | 権限がありません。ユーザー認証情報が正しくないか、渡されていません。 |
| 404 | 見つかりません。要求されたアイテムが見つかりませんでした。 |
| 405 | メソッドが無効です。機能が無効になっています。 |
| 500 | 内部サーバーエラー要求の処理中に予期しないエラーが発生しました。応答には、エラーに関する追加情報が含まれています。 |
応答本文のパラメーター (オクテットストリームまたは JSON)
| 名前 | 説明 |
|---|---|
| 出力ストリーム (オクテットストリーム) | Accept request ヘッダーが application/octet-stream に設定されている場合、一致するメトリックベースデータはバイナリシリアル化ストリームとして返されます。Clotho-Util for Java アプリケーションには、このデータを解析できるデシリアライザーが用意されています。 ストリームは、各データムのバイナリシリアル化で構成され、その前にその長さを表す整数が続きます。次のエントリでは、バイナリ表現内のデータとそのデータの順序について説明します。 |
| CSV ストリーム (UTF-8 ストリーム) | Accept request ヘッダーが text/csv に設定されている場合、一致するメトリックベースデータは、幅の広い形式または狭い形式の UTF-8 でエンコードされた CSV データとして返されます。 ナロー形式では、件名とタイムスタンプの列、および返される各メトリクスの列が返されます。ワイドフォーマットでは、メトリクスとサブジェクトのペアごとに個別の列を持つタイムスタンプ列が返されます。 |
| 件名 | データのソース。たとえば、データのメトリクスがドローンの高度である場合、この値は特定のドローンの ID である可能性があります。値にコロンが含まれている場合、件名の後の部分は、データが属するメトリクスを表します。null 値は、エンコードされた空の文字列で表されます。 データタイプ:文字列 (Java 修正済み UTF) サイズ:2+ バイト |
| ディメンション | データの取得元のメトリクス。null 値は、エンコードされた空の文字列で表されます。 データタイプ:文字列 (Java 修正済み UTF) サイズ:2+ バイト |
| ラベル | データのラベル。null 値は、エンコードされた空の文字列で表されます。 データタイプ:文字列 (Java 修正済み UTF) サイズ:2+ バイト |
| タイプ | バイトにエンコードされたデータのタイプ。 可能な値:
データタイプ:バイト サイズ:1 バイト |
| フラグ | エンコードされた serializeFlags 変数。serializeTags が true で、データにタグが含まれている場合、値は 2 で、それ以外の場合は 0 です。 データタイプ:バイト サイズ:1 バイト |
| 期間 | データに関連付けられた期間。 データタイプ:数値 (整数) サイズ:4 バイト |
| タグの数 | serializeTags が true の場合、これはデータに保存されているタグの数です。 データタイプ:数値 (整数) サイズ:4 バイト |
| タグ | serializeTags が true の場合、各タグはデータに保存されます。 データタイプ:文字列 (Java で修正された UTF) サイズ:タグの数 (2+ バイト) によって異なります。 |
| 開始エポック秒 | このデータ系列の開始時間を表すエポック UTC 時間。 データタイプ:数値 (長) サイズ:8 バイト |
| 値の数 | このデータに格納されている値の数。 データタイプ:数値 (整数) サイズ:4 バイト |
| 値 | Typeが浮動小数点シグナルの場合、残りは浮動小数点値で構成されます。 サイズ: Number of Values * 4 データタイプ:数値 (浮動小数点数) |
| 値 | Type が Double Signal の場合、残りは double 値で構成されます。 データタイプ:数値 (倍精度) サイズ: Number of Values * 4 バイト |
| モデル json (モデル) | Type が浮動小数点モデルまたはダブルモデルの場合、残りはモデルを JSON として表す Java 変更済み UTF 文字列です。 データタイプ:文字列 (Java 修正済み UTF) サイズ:2+ バイト |
| ビッグモデルマーカー (ビッグモデル) | モデルの JSON の長さが 65,535 バイトを超える場合、 Model Jsonの代わりにこのフィールドが書き込まれます。 データタイプ:文字列 (Java 修正済み UTF) サイズ:5 |
| ビッグモデルサイズ (ビッグモデル) | 大きなモデルの JSON 表現の長さ。 データタイプ:数値 (整数) サイズ:4 バイト |
| ビッグモデル JSON (ビッグモデル) | 一連の UTF 文字としてのモデルの JSON 表現。サイズは Big Model Size フィールドによって決まります。 データタイプ:文字列 (UTF 文字) サイズ:65535-256000 バイト |
| JSON ストリーム (JSON) | Accept request ヘッダーが application/json に設定されている場合、一致するメトリックベースデータは、改行区切りの JSON オブジェクトのストリームとして返されます。次のエントリは、返される各オブジェクトで使用可能な要素を示しています。 |
| label | データのラベル。この値は、エンドポイントによって生成されるか、 metrics.label パラメーターで渡される値です。 データタイプ:文字列 |
| 期間 | 各値の間の時間。たとえば、期間が 60 の場合は、各値が 1 分離れていることを意味します。 データタイプ:数値 単位:秒 |
| 範囲 | データの開始時間と終了時間 データタイプ:アレイ フォーマット:ISO 8601 (UTC) |
| 系列 | 個々のデータを識別します。存在する場合、通常は [Glide レコード ID]:[メトリクス] の形式です。これは、変換を使用する場合には存在しない場合があります。データタイプ:文字列 |
| 種 | 返されるデータのタイプ。一連の浮動小数点数または倍精度の値の場合、これはFLOAT_SIGNALまたはDOUBLE_SIGNALのいずれかです。浮動小数点数または倍精度データを分析することを目的としたモデルの場合、これはFLOAT_MODELまたはDOUBLE_MODELのいずれかです。 データタイプ:文字列 |
| タグ | データに関連付けられたタグ。 データタイプ:文字列のアレイ |
| value | データの浮動小数点値または倍精度値。 データタイプ:数値の配列 |
| エラー | 指定したデータ系列の変換に失敗した場合のエラーメッセージ。 データタイプ:文字列 |
サポートされている変換
| 変換 | 説明 |
|---|---|
| 追加 | 各タイムスタンプ値に指定された数値を加算します。 引数:arg (10 進数データ型):追加する数値。 例: |
| 自己相関 | 1 から始まる増加する期間数で区切られたタイムスタンプ値間の相関を計算します。 |
| 平均 | 時系列を、入力全体の対応する各タイムスタンプの平均値を含む 1 つの系列にアグリゲートします。 |
| 下 | 最小値を持つ指定された数の系列を返します。 引数: arg (整数) – 返される系列の数。 たとえば、次の例では、最小の値セットを含む 2 つの時系列が返されます。 |
| CEIL | 各タイムスタンプの値を指定された精度に切り上げます: ceil(value / <arg>) * <arg>) 引数: arg (10 進数データ型) – 切り上げる小数点以下桁数。 |
| 収集 | 収集変換呼び出しの時点までの変換チェーンの変換結果を表示します。変換結果の収集には一意のマーカーが含まれますが、ラベルを定義することもできます。 例: |
| constrainValues | 指定された範囲外の値を、対応する最大値または最小値に置き換えます。 たとえば、次のように指定した場合、変換によって、0 未満の値は 0 に、100 を超える値は 100 に置き換えられます。 引数:
|
| カウント | 時系列を 1 つの系列に集計します。新しい系列には、系列全体の対応する各タイムスタンプの NaN (数値ではない) ではない値の数が含まれます。 |
| 派生 | タイムスタンプ間の変化率を決定します。各タイムスタンプの値と次のタイムスタンプの値の差をタイムスタンプの期間で除算します。 注: この変換は、系列内の値の数よりも 1 つ少ない値を返します。 |
| div | 各タイムスタンプの値を指定された数値 (引数) で除算します。 引数:arg (10 進数 – 各タイムスタンプの値を除算する数値。 |
| エンベロープ | 任意の時点で、一方が最大値、もう一方が最小値を含む 2 つの時系列を返します。 注: NaN は無視されますが、他の戻り値がない場合は返されます。 |
| exp | 指定された基数の値を各タイムスタンプの値でべき乗します。 引数:arg (10 進数データ型) - 基準値。 |
| フィルター | 移動平均の生成など、スライディングウィンドウのコンテンツにアグリゲーターを適用します。 引数:
|
| フロア | 各タイムスタンプの値を指定された精度に切り下げます: floor(value / <arg>) * <arg> 引数:arg (10 進数データ型) – 切り捨てる小数点以下桁数。 |
| 変位値 | 指定された配列内の各分数の時系列を返します。各タイムスタンプ値は、入力シリーズ全体の対応するタイムスタンプに対して指定された値の割合が指定されたパーセンテージを下回っている値です。たとえば、分数が 0.5 の場合、タイムスタンプの値は、入力系列の値の半分が 0.5 未満の値です。 引数:arg (10 進数の配列) – 入力系列に使用する分数。 例: |
| groupBy | 集計された変換を収集または適用する前に、指定されたフィールド別にデータをグループ化します。 引数: arg (文字列):変換結果のグループ化に使用するテーブル内のフィールドのカンマ区切りリスト。 例: |
| 統合 | 各タイムスタンプの値にその期間を乗算します。 |
| 補間 | 隣接するデータ値から補間することにより、NaN データアイテムのデータ値を作成します。 引数: arg (整数) – NaN 以外の値をチェックする各方向のデータサンプルの数。NaN以外の値が見つからない場合は、NaNが使用されます。 |
| 反転 | 各タイムスタンプ値の逆を計算します。 |
| IQR | 四分位範囲の変換を実行し、次の 4 つの系列を含む結果セットを作成します。
注: IQR = Q3 - Q1 |
| label | 変換チェーンにラベルを付けます。 注: 後続の変換では、ラベルが変更または置換される場合があります。 引数:arg (文字列) - ラベルのテキスト。次の書式設定式を含めることができます。
例:
|
| limit | 最大で、最後に保存された値から開始して、指定された期間または値の数を返します。 引数:
|
| ログ | 各タイムスタンプの値に対して対数を実行します。結果は、タイムスタンプ値の指定された基数の対数です。 引数:arg (10 進数データ型) – 対数計算の基数。 |
| mapValue | 指定された範囲 (包括的) 内の値を指定された値に置き換えます。lowerBoundと upperBound の両方が NaN として指定されている場合は、NaN 値が targetValue に置き換えられます。 引数:
たとえば、次のようにすると、時系列で .1 から .9 までのすべての値が 1 に変更されます。 |
| 最大 | 入力全体で対応する各タイムスタンプの最大値を含む系列を返します。 |
| 中央値 | 一連の系列全体の各タイムスタンプの値の中央値を含む系列を作成します。n 系列がある場合:
|
| 最小 | 入力全体で対応する各タイムスタンプの最小値を含む系列を返します。 |
| mul | 各タイムスタンプの値に指定された数値を掛けます。 引数:arg (10 進数データ型) – 各タイムスタンプの値を乗算する数値。 |
| パーティション | 指定されたアグリゲーターを重複していないウィンドウに適用することによってフィルタリングされた値を持つ新しい系列を生成します。 引数:
|
| 戦力 | 各タイムスタンプ値を指定されたべき乗に上げます。 引数: arg (10 進数データ型) – 各値を上げるべき乗。 |
| product | 選択したメトリクス系列を、各タイムスタンプのすべての値の積を含む単一の系列にアグリゲートします。NaN は除外されます。系列内のすべての数値が NaN の場合、出力も NaN になります。 |
| リサンプル | 時系列を一定数のポイントに、またはある周波数から別の周波数にリサンプリングします。 リサンプル変換を使用して、結果セット内のサンプル数を減らし、表示するサンプル数に近づけます。 引数:この変換にはさまざまな引数を渡すことができます。以下は、考えられる各引数グループのリストです。1 つの変換内で渡すことができる引数グループは 1 つだけです。次の引数グループは、AND/OR で区切られています。AND は、引数が現在のグループの一部であることを意味します。OR は、新しい引数グループの開始であることを意味します。
|
| round | 各タイムスタンプの値を指定された精度 (値 / <arg>) * <arg) に切り上げます> 引数:arg (10 進数データ型):切り上げる小数点以下桁数。 |
| ルート | 指定されたインデックスを使用して、各タイムスタンプ値のルートを計算します。 引数:arg (10 進数データ型) – ルートのインデックス。 たとえば、次の例では、各タイムスタンプの平方根が返されます。 |
| 標準偏差 | 一連の系列全体の各タイムスタンプの値の標準偏差を含む系列を作成します。 |
| sub | 各タイムスタンプの値から指定された数値を減算します。 引数:arg (数値) – 各タイムスタンプの値から減算する数値。 |
| sum | 選択したメトリクス系列を、各タイムスタンプのすべての値の合計 (NaN を除く) を含む 1 つの系列に集計します。系列内のすべての数値が NaN の場合、出力は NaN です。 |
| タイムシフト | 値を変更せずに、指定されたオフセットを値のタイムスタンプに追加することで、時間範囲をシフトします。タイムスタンプを別のタイムゾーンにシフトするには、この変換を使用します。 引数:arg (期間データ型) – シフトする時間。 |
| top | 最大値を持つ指定された数の系列を返します。 引数:arg (整数) – 返される系列の数。 たとえば、次の例では、最も高い値セットを含む 2 つの時系列が返されます。 |
| データタイプ | 説明 |
|---|---|
| 集計関数 | 変換内で使用できるアグリゲーター。
|
| DateTime | 日付/時刻の絶対値は、ISO 8601 の日時形式 (YYYY-MM-DDThh:mm:ss) で指定されます。例:2020-02-28T13:10:42。各項目の意味は次のとおりです。
相対日付/時刻の値は、現在の時刻から差し引かれた期間 (期間データタイプ) を使用して指定されます。 例:P7D = 7 日前。 |
| 10 進数 | 10 進数値。次のいずれかを指定できます。
|
| 期間 | 時間間隔の時間。期間の値は、ISO 8601 期間形式 (P[n]Y[n]M[n]DT[n]H[n]M[n]S) で指定されます。 各項目の意味は次のとおりです。
例:
|
cURL 要求
次の例は、このエンドポイントを呼び出して、mb_demo_droneテーブルのメトリクスの JSON ストリームを返す方法を示しています。注: この例のオブジェクトは読みやすくするために複数行に展開されていますが、実際の結果では、返される各オブジェクトは独自の行上にあります。--header "Accept:application/octet-stream" \ を設定することで、同じ呼び出しを行い、オクテットストリームを返すことができます。
curl "localhost:8080/api/now/v1/clotho/transform/stream" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--user "username":"password" \
-d "{\
\"start\": \"PT5M\",\
\"end\": \"\",\
\"table\": \"mb_demo_drone\",\
\"query\": \"fleet.nameSTARTSWITHB\",\
\"limit\": 5000,\
\"metrics\": [\
{\
\"metric\": \"mb_demo_mt_altitude\",\
\"label\": \"Series - Avg\",\
\"transforms\": [\
{\
\"name\": \"partition\",\
\"arg\": {\
\"aggregator\": \"AVG\",\
\"window\": \"PT5M\"\
}\
},
{\
\"name\": \"avg\"\
}\
]\
},
{\
\"metric\": \"mb_demo_mt_altitude\",\
\"groupBy\": \"fleet\",\
\"label\": \"Fleet - AVG\",\
\"transforms\": [\
{\
\"name\": \"partition\",\
\"arg\": {\
\"aggregator\": \"AVG\",\
\"window\": \"PT5M\"\
}\
},
{\
\"name\": \"avg\"\
}\
]\
}\
]\
}"
応答:
[
{
"label": "Series - Avg",
"tags": [
"#4fb1114f-2426-4acb-8e3e-6435dd62134c"
],
"species": "DOUBLE_SIGNAL",
"range": [
"2022-06-16T17:50:00Z",
"2022-06-16T17:50:00Z"
],
"values": [
132.86805196126303
],
"period": 300
},
{
"label": "Fleet - AVG",
"tags": [
":fleet:86fac11787333200a328c5b836cb0b4e:Bantams",
"#6641aab4-c55f-4d11-8846-26b0b706ec1c"
],
"species": "DOUBLE_SIGNAL",
"range": [
"2022-06-16T17:50:00Z",
"2022-06-16T17:50:00Z"
],
"values": [
134.3775875908988
],
"period": 300
},
{
"label": "Fleet - AVG",
"tags": [
"#6641aab4-c55f-4d11-8846-26b0b706ec1c",
":fleet:4afac11787333200a328c5b836cb0b4e:Bumble Untd"
],
"species": "DOUBLE_SIGNAL",
"range": [
"2022-06-16T17:50:00Z",
"2022-06-16T17:50:00Z"
],
"values": [
129.02530271356756
],
"period": 300
}
]
次の cURL の例では、CSV 形式オプションを使用して、メトリックベースデモプラグインの mb_demo_drone [Drones] テーブルに保存されている各ドローンの最終日の高度値 (データベースに「mb_demo_mt_altitude」として保存) をストリーミングします。この例では、データは、ドローンを識別するサブジェクトのSys_id、値のタイムスタンプ、および高度値の 3 つの列を持つ狭いテーブル形式で返されます。
curl "https://instance.servicenow.com/api/now/v1/clotho/transform/stream" \
--request POST \
--header "Accept:text/csv;format=narrow" \
--header "Content-Type:application/json" \
--user "user name":"password" \
-d "{\
\"start\": \"P1D\",\
\"end\": \"\",\
\"table\": \"mb_demo_drone\",\
\"metrics\": [\
{\
\"metric\": \"mb_demo_mt_altitude\",\
\"transforms\": []\
}]\
}"
出力:
Subject, Timestamp,"mb_demo_drone|mb_demo_mt_altitude"
"a66b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,92.84400939941406
"a66b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,92.2428970336914
"6a6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,92.0076904296875
"ea6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,97.3113021850586
"a66b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,108.49791717529297
"6a6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,109.04239654541016
"6a6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,93.72159576416016
"ee6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,107.69989776611328
"ee6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,100.86473083496094
"ee6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,95.77774047851562
"666b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,105.19712829589844
"666b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,105.92308807373047
"6e6b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,93.59339141845703
"666b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,94.51266479492188
"e26b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,105.4367904663086
"6e6b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,94.64836883544922
"6e6b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,94.78523254394531
"e26b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,96.99283599853516
"aa6b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,106.67017364501953
"e26b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,94.2446517944336
"aa6b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,91.659912109375
"226b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,99.5401840209961
"226b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,98.13501739501953
"226b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,92.2428970336914
"226b051787333200a328c5b836cb0b90",2022-11-07T22:35:00Z,106.41876983642578
"aa6b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,107.69989776611328
"626b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,92.96666717529297
"e66b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,93.85079193115234
"e66b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,96.07303619384766
"e66b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,98.47595977783203
"2a6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,95.9247055053711
"226b051787333200a328c5b836cb0b9a",2022-11-07T22:35:00Z,99.5401840209961
"2a6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,103.1417465209961
"2a6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,96.99283599853516
"ae6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,94.64836883544922
"ae6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,101.8689956665039
"ae6b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,107.4388198852539
"a26b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,94.78523254394531
"266b051787333200a328c5b836cb0b93",2022-11-07T22:35:00Z,94.51266479492188
"2e6b051787333200a328c5b836cb0b97",2022-11-07T22:35:00Z,108.49791717529297
"2e6b051787333200a328c5b836cb0b91",2022-11-07T22:35:00Z,97.15129852294922
"2e6b051787333200a328c5b836cb0b94",2022-11-07T22:35:00Z,103.36128997802734
"a26b051787333200a328c5b836cb0b92",2022-11-07T22:35:00Z,100.47681427001953
"266b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,103.5830078125
"266b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,97.3113021850586
"a26b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,105.92308807373047
"ea6b051787333200a328c5b836cb0b98",2022-11-07T22:35:00Z,95.34477996826172
"ea6b051787333200a328c5b836cb0b95",2022-11-07T22:35:00Z,100.47681427001953
"626b051787333200a328c5b836cb0b99",2022-11-07T22:35:00Z,100.86473083496094
"626b051787333200a328c5b836cb0b96",2022-11-07T22:35:00Z,106.9239730834961
MetricBase 時系列:POST /now/clotho/put
時系列データを メトリックベース データベースに追加します。
URL 形式
バージョニングされた URL: /api/now/{api_version}/clotho/put
サポートされている要求パラメーター
| 名前 | 説明 |
|---|---|
| api_version | アクセスするエンドポイントのバージョン。たとえば、 v1 や v2 などです。最新以外のエンドポイントバージョンを使用する場合にのみ、この値を指定してください。 データタイプ:文字列 |
| 名前 | 説明 |
|---|---|
| sysparm_ignore_unknown_series | 不明な系列を無視し、エラーを返さずにトランザクションを続行するかどうかを示すフラグ。 有効な値:
デフォルト:true |
| 名前 | 説明 |
|---|---|
| seriesRef | 必須です。更新する情報。 データタイプ:オブジェクトのアレイ |
| seriesRef.metric | 必須です。更新するメトリクスの名前。 データタイプ:文字列 |
| seriesRef.subject | 必須です。データを更新するレコードのSys_id。 データタイプ:文字列 テーブル: seriesRef.table パラメーターで指定します。 |
| seriesRef.table | 必須です。データを保存するテーブルの名前。 データタイプ:文字列 |
| 値 | 必須です。保存する系列値。 データタイプ:アレイ |
| values.timestamp | 必須です。値の ISO 8601 タイムスタンプ。 データタイプ:文字列 形式: ISO 形式のタイムスタンプで UTC タイムゾーンを示す終了「Z」はオプションです。 |
| values.value | 必須です。メトリクス値。 データタイプ:数値 |
ヘッダー
次の要求ヘッダーと応答ヘッダーは、この HTTP アクションにのみ適用されるか、別の方法でこのアクションに適用されます。REST API で使用される一般的なヘッダーのリストについては、「 サポートされている REST API ヘッダー」を参照してください。
| ヘッダー | 説明 |
|---|---|
| 承認 | 応答本文のデータフォーマット。application/json のみをサポートします。 |
| Content-Type | 要求本文のデータ形式。application/json のみをサポートします。 |
| ヘッダー | 説明 |
|---|---|
| なし |
ステータスコード
この HTTP アクションには、次のステータスコードが適用されます。REST API で使用される可能性のあるステータスコードのリストについては、「 REST API HTTP 応答コード」を参照してください。
| ステータスコード | 説明 |
|---|---|
| 200 | 成功。要求が正常に処理されました。 |
| 401 | 権限がありません。ユーザー認証情報が正しくないか、渡されていません。 |
| 500 | 内部サーバーエラー要求の処理中に予期しないエラーが発生しました。応答には、エラーに関する追加情報が含まれています。 |
応答本文のパラメーター (JSON または XML)
| 名前 | 説明 |
|---|---|
| メッセージ | 要求が正常に処理された場合は 「OK 」など、要求のステータスを示すメッセージ。 |
cURL 要求
curl "https://instance.servicenow.com/api/now/v1/clotho/put" \
--request POST \
--header "Accept:application/json" \
--header "Content-Type:application/json" \
--data "{
\"seriesRef\": {
\"subject\": \"3D666b051787333200a328c5b836cb0b92\",
\"table\": \"mb_demo_drone\",
\"metric\": \"mb_demo_mt_altitude\"
},
\"values\": [
{
\"timestamp\": \"2019-03-21T17:05:00Z\",
\"value\": 0.150185
},
{
\"timestamp\": \"2019-03-21T17:06:00Z\",
\"value\": 0.46074
},
{
\"timestamp\": \"2019-03-21T17:07:00Z\",
\"value\": 0.83104
},
{
\"timestamp\": \"2019-03-21T17:08:00Z\",
\"value\": 1.260635
},
{
\"timestamp\": \"2019-03-21T17:09:00Z\",
\"value\": 1.749
}
]
}" \
--user "username":"password"
{
"result": {
"message": "ok"
}
}