MetricBase-Zeitreihen-API
Die MetricBase Time Series- API bietet Endpunkte zum Einfügen von Daten in, zum Abrufen von Informationen aus und zum Ausführen von Transformationen für eine MetricBase -Datenbank.
Diese APIs können nur verwendet werden, wenn das Plugin MetricBase (com.snc.clotho) installiert und aktiviert ist.
Zum Schreiben in diese API erforderliche Rolle: Clotho_rest_put.
Die Beispiele in diesem Abschnitt wurden mit Daten im MetricBase-Plugin (com.snc.clotho) erstellt.
MetricBase Time Series – GET /now/clotho/table/{table}/{subject}/{metric}
Ruft die angegebenen Zeitreihendaten aus der Datenbank MetricBase ab.
URL-Format
Versionierte URL: /api/now/{api_version}/clotho/table/{table}/{subject}/{metric}
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| api_version | Version des Endpunkts, auf den zugegriffen werden soll. Zum Beispiel v1 oder v2. Geben Sie diesen Wert nur an, um eine andere Endpunktversion als die neueste zu verwenden. Datentyp: Zeichenfolge |
| metric | Name der Spalte in der im Parameter subject angegebenen Tabelle, die als Metrik verwendet werden soll. Datentyp: Zeichenfolge |
| Betreff | Sys_id des GlideRecord, der dieser Serie zugeordnet ist. Datentyp: Zeichenfolge |
| Tabelle | Name der Tabelle, die den dieser Serie zugeordneten GlideRecord enthält. Datentyp: Zeichenfolge |
| Name | Beschreibung |
|---|---|
| sysparm_display_value | Kennzeichnung, die angibt, ob die Ergebnisdaten mit dem Anzeigewert des Betreffdatensatzes gekennzeichnet werden sollen, wenn keine andere Bezeichnung angegeben ist. Gültige Werte:
Datentyp: Boolesch Standardwert: false |
| sysparm_end | Erforderlich. Endzeit des Auswertungszeitraums. Ein leerer oder fehlender Wert wird als aktuelle Uhrzeit behandelt. Datentyp: Zeichenfolge Format: ISO 8601 (UTC), entweder:
|
| sysparm_start | Erforderlich. Startzeit des Auswertungszeitraums. Mit dem Sonderwert all kann die Startzeit als aktuelle Zeit abzüglich der maximalen Aufbewahrungsdauer für die angegebenen Metriken festgelegt werden. Ein leerer oder fehlender Wert wird als impliziter allbehandelt.Datentyp: Zeichenfolge Format: ISO 8601 (UTC), entweder:
|
| Name | Beschreibung |
|---|---|
| Keine |
Kopfzeilen
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützt nur application/json. |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| 401 | Nicht autorisiert. Die Anmeldeinformationen sind falsch oder wurden nicht übergeben. |
| 500 | Interner Serverfehler. Beim Verarbeiten der Anforderung ist ein unerwarteter Fehler aufgetreten. Der Antworttext enthält Informationen zum Fehler. |
Antworttextparameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| label | Die Bezeichnung, die zum Identifizieren des Ergebnissatzes dieser Metrik verwendet wird. Datentyp: Zeichenfolge |
| SerienRef | Datenreihenergebnisse. Datentyp: Array |
| seriesRef.metric | Der Name der Metrik, aus der die Datenreihe abgerufen wurde. Wird nur angezeigt, wenn das Objekt metrics in der Anforderung übergeben wird. Datentyp: Zeichenfolge |
| seriesRef.subject | Die sys_id des Datenreihen-Datensatzes. Befindet sich in der in seriesRef.tableangegebenen Tabelle. Datentyp: Zeichenfolge |
| seriesRef.table | Der Name der Tabelle, aus der die Datenreihe abgerufen wurde. Datentyp: Zeichenfolge |
| Werte | Die transformierten Reihenwerte. Datentyp: Array |
| werte.timestamp | Der ISO 8601-Zeitstempel des Werts. Datentyp: Zeichenfolge |
| values.value | Die Metrikwerte. Datentyp: Zahl |
cURL-Anforderung
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 Time Series – GET /now/clotho/transform/{table}/{metric}
Transformiert die angegebenen Daten basierend auf den angegebenen Parametern.
URL-Format
Versionierte URL: /api/now/{api_version}/clotho/transform/{table}/{metric}
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| api_version | Version des Endpunkts, auf den zugegriffen werden soll. Zum Beispiel v1 oder v2. Geben Sie diesen Wert nur an, um eine andere Endpunktversion als die neueste zu verwenden. Datentyp: Zeichenfolge |
| metric | Name der Spalte in der im Parameter subject angegebenen Tabelle, die als Metrik verwendet werden soll. Datentyp: Zeichenfolge |
| Tabelle | Name der Tabelle, die den dieser Serie zugeordneten GlideRecord enthält. Datentyp: Zeichenfolge |
| Name | Beschreibung |
|---|---|
| sysparm_display_value | Kennzeichnung, die angibt, ob die Ergebnisdaten mit dem Anzeigewert des Betreffdatensatzes gekennzeichnet werden sollen, wenn keine andere Bezeichnung angegeben ist. Gültige Werte:
Datentyp: Boolesch Standardwert: false |
| sysparm_end | Erforderlich. Endzeit des Auswertungszeitraums. Ein leerer oder fehlender Wert wird als aktuelle Uhrzeit behandelt. Datentyp: Zeichenfolge Format: ISO 8601 (UTC), entweder:
|
| sysparm_query | Codierte Abfragezeichenfolge zum Suchen der Betreffdatensätze. Datentyp: Zeichenfolge Standard: Keine |
| sysparm_start | Erforderlich. Startzeit des Auswertungszeitraums. Mit dem Sonderwert all kann die Startzeit als aktuelle Zeit abzüglich der maximalen Aufbewahrungsdauer für die angegebenen Metriken festgelegt werden. Ein leerer oder fehlender Wert wird als impliziter allbehandelt.Datentyp: Zeichenfolge Format: ISO 8601 (UTC), entweder:
|
| sysparm_subject_limit | Begrenzen Sie die Größe des Betreff-Abfrageergebnisses. Datentyp: Zahl Standard: 10.000 |
| sysparm_transforms | Kommagetrennte Liste von Transformationen. Gültige Transformationen:
Datentyp: Zeichenfolge Standard: Keine |
| Name | Beschreibung |
|---|---|
| Keine |
Kopfzeilen
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützte Typen: application/json oder application/xml. Standard: application/json |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| 401 | Nicht autorisiert. Die Anmeldeinformationen sind falsch oder wurden nicht übergeben. |
| 500 | Interner Serverfehler. Beim Verarbeiten der Anforderung ist ein unerwarteter Fehler aufgetreten. Der Antworttext enthält Informationen zum Fehler. |
Antworttextparameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| label | Die Bezeichnung, die zum Identifizieren des Ergebnissatzes dieser Metrik verwendet wird. Datentyp: Zeichenfolge |
| SerienRef | Datenreihenergebnisse. Datentyp: Array |
| seriesRef.metric | Der Name der Metrik, aus der die Datenreihe abgerufen wurde. Wird nur angezeigt, wenn das Objekt metrics in der Anforderung übergeben wird. Datentyp: Zeichenfolge |
| seriesRef.subject | Die sys_id des Datenreihen-Datensatzes. Befindet sich in der in seriesRef.tableangegebenen Tabelle. Datentyp: Zeichenfolge |
| seriesRef.table | Der Name der Tabelle, aus der die Datenreihe abgerufen wurde. Datentyp: Zeichenfolge |
| Werte | Die transformierten Reihenwerte. Datentyp: Array |
| werte.timestamp | Der ISO 8601-Zeitstempel des Werts. Datentyp: Zeichenfolge |
| values.value | Die Metrikwerte. Datentyp: Zahl |
cURL-Anforderung
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"
Ausgabe:
[
{
"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 Time Series – POST /now/clotho/acumulate
Sammelt Metrikwerte zum angegebenen Zeitstempel und speichert das Ergebnis in der Datenbank, anstatt den Wert zu überschreiben.
Verwenden Sie diese API , um Metriken zu verarbeiten, die für eine Akkumulation summiert werden können, z. B. Kilowattstunden (kWh) Strom. Accumulate ruft für jede Metrik zum angegebenen Zeitstempel auf. Zum Beispiel würden gesammelte Kilowattstunden für eine Heizkörper-, einen Elektro-Wasserkocher- und eine Waschmaschine drei Anrufe zur akkumulieren führen.
URL-Format
Versionierte URL: /api/now/{api_version}/clotho/ackumulate
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| api_version | Optional. Version des Endpunkts, auf den zugegriffen werden soll. Zum Beispiel v1 oder v2. Geben Sie diesen Wert nur an, um eine andere Endpunktversion als die neueste zu verwenden. Datentyp: Zeichenfolge |
| Name | Beschreibung |
|---|---|
| default_value | Standardwert für die Akkumulation zu einem bestimmten Zeitstempel. Wird nur während des ersten Aufrufs verwendet, um zu akkumulieren, wenn ein Wert für einen bestimmten Zeitstempel nicht verfügbar ist. Ein Anwendungsfall könnte das Sammeln einer Watt-Metrik für total_power sein. Sie möchten die Leistung eines Routers, der an eine Steckdose ohne Leistungsmesser angeschlossen ist, in Watt akkumulieren. Wenn Sie den Verbrauchswert kennen und dieser konstant ist, können Sie den konstanten Wert als Standardwert verwenden, um „total_power“ zu akkumulieren. Zum Beispiel würden Sie 20 verwenden, wenn der Router ständig angeschlossen ist und 20 Watt verbraucht. Datentyp: Zeichenfolge Standard: 0 |
| sysparm_ignore_unknown_series | Kennzeichnung, die angibt, ob eine unbekannte Serie ignoriert und die Transaktion fortgesetzt werden soll, ohne einen Fehler zurückzugeben. Gültige Werte:
Standardwert: true |
| Name | Beschreibung |
|---|---|
| SerienRef | Liste der Zeichenfolgen, die die zu aktualisierenden Datenreiheninformationen darstellen. Datentyp: Array |
| seriesRef.metric | Erforderlich. Der Name der zu aktualisierenden akkumulierenden Metrik. Datentyp: Zeichenfolge |
| seriesRef.subject | Erforderlich. Die sys_id des Datensatzes, in dem die Daten aktualisiert werden sollen. Befindet sich in der in seriesRef.tableangegebenen Tabelle. Datentyp: Zeichenfolge |
| seriesRef.table | Erforderlich. Der Name der Tabelle, in der die Daten gespeichert werden sollen. Datentyp: Zeichenfolge |
| Werte | Erforderlich. Die Reihenwerte, die akkumuliert und gespeichert werden sollen. Werte mit demselben Zeitstempel werden mit dem Abfrageparameter default_value zusammengefasst. Datentyp: Array |
| werte.timestamp | Erforderlich. Der ISO 8601-Zeitstempel des Werts. Datentyp: Zeichenfolge Format: JJJJ-MM-ttTHH:mm:ttZ Das durch „Z“ dargestellte Zeichen bezeichnet die UTC-Zeitzone in einem ISO-formatierten Zeitstempel. Dieser Teil des Zeitstempelformats ist optional. Beispiel: |
| values.value | Erforderlich. Der Metrikwert. Datentyp: Zahl |
Header
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützt nur application/json. |
| Content-Type | Datenformat des Anforderungstexts. Unterstützt nur application/json. |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| 401 | Nicht autorisiert. Die Anmeldeinformationen sind falsch oder wurden nicht übergeben. |
| 500 | Interner Serverfehler. Beim Verarbeiten der Anforderung ist ein unerwarteter Fehler aufgetreten. Der Antworttext enthält Informationen zum Fehler. |
Antworttextparameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| Nachricht | Meldung, die Erfolg (OK) oder Fehlerangibt. |
cURL-Anforderung
Dieses Beispiel zeigt, wie Metrikwerte zu einem bestimmten Zeitstempel akkumuliert werden.
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"
Ausgabe mit erfolgreichen Ergebnissen bereitgestellt.
{
"result": {
"message": "ok"
}
}
MetricBase Time Series – POST /now/clotho/transform
Ruft Zeitreihendaten für eine oder mehrere Metriken ab und gruppiert sie optional, nachdem eine angegebene Liste von Transformationen angewendet wurde, die eine lineare Pipeline bilden.
URL-Format
Versionierte URL: /api/now/{api_version}/clotho/transform
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| api_version | Optional. Version des Endpunkts, auf den zugegriffen werden soll. Zum Beispiel v1 oder v2. Geben Sie diesen Wert nur an, um eine andere Endpunktversion als die neueste zu verwenden. Datentyp: Zeichenfolge |
| Name | Beschreibung |
|---|---|
| sysparm_display_value | Kennzeichnung, die angibt, ob die Ergebnisdaten mit dem Anzeigewert des Betreffdatensatzes gekennzeichnet werden sollen, wenn keine andere Bezeichnung angegeben ist. Gültige Werte:
Datentyp: Boolesch Standardwert: false |
| Name | Beschreibung |
|---|---|
| Ende | Erforderlich. Endzeit des Auswertungszeitraums. Ein leerer oder fehlender Wert wird als aktuelle Uhrzeit behandelt. Datentyp: Zeichenfolge Format: ISO 8601 (UTC), entweder:
|
| limit | Maximale Anzahl der zurückzugebenden Datensätze. Ungewöhnlich große Werte können die Systemleistung beeinträchtigen. Datentyp: Zahl Standard: 10.000 |
| metrics | Liste der Metrikobjekte, die in der Transformation verwendet werden sollen. Weitere Informationen zu Metriken finden Sie unter Metrics. Datentyp: Array |
| metrics.groupBy | Kommagetrennte Liste von Feldern, die in der im Parameter table angegebenen Tabelle enthalten sind, nach der die Serie gruppiert werden soll, bevor zusammengefasste Transformationen erfasst oder angewendet werden. Die Reihenfolge der Elemente in der Liste entspricht der Reihenfolge, in der die Daten nach gruppiert werden. Wenn die Liste beispielsweise zwei Elemente enthält: „Bundesland, Postleitzahl“, wird die Serie zuerst nach Bundesland und dann nach Postleitzahl innerhalb des Bundeslandes gruppiert. Datentyp: Zeichenfolge Standard: Daten werden nicht gruppiert. |
| metrics.label | Bezeichnung, die für den Ergebnissatz dieser Metrik verwendet werden soll. Sie ersetzt alle von der Transformationskette generierten Bezeichnungen. Datentyp: Zeichenfolge Standard: Generierte Standardbezeichnung. |
| metrics.metric | Erforderlich, wenn Objekt metrics übergeben wird. In der Transformation zu verwendendes Metrikfeld. Dieses Feld muss sich in der im Parameter table angegebenen Tabelle befinden. Datentyp: Zeichenfolge |
| metrics.transforms | Liste der Transformationen (Transformationskette), die auf die abgerufenen Zeitreihendaten angewendet werden sollen. Jede Transformation baut auf den Ergebnissen der vorherigen Transformation auf. Eine Liste der verfügbaren Transformationen finden Sie unten unter „ Unterstützte Transformationen “. Datentyp: Array |
| metrics.transforms.arg | Abhängig von der Transformation. Parameter, die an die Transformation übergeben werden sollen. Allgemeine Richtlinien:
Datentyp: Zahl, Zeichenfolge, Boolean oder JSON-Objekt, abhängig von der Transformation. (Eine Liste der verfügbaren Transformationen finden Sie in der Tabelle „ Unterstützte Transformationen “ unten.) |
| metrics.transforms.name | Erforderlich, wenn ein transforms -Objekt angegeben ist. Name der Transformation. Eine Liste der verfügbaren Transformationen finden Sie in der Tabelle „Unterstützte Transformationen “. Datentyp: Zeichenfolge |
| query | Codierte Abfrage, die zum Filtern der Ergebnismenge verwendet werden soll. Sie können die Abfrage mit dem Filter-Editor der angegebenen Tabelle erstellen. Wählen Sie nach der Erstellung im Breadcrumbs-Kontextmenü des Filters die Option URL kopieren aus. Datentyp: Zeichenfolge Standard: Keine |
| Start | Erforderlich. Startzeit des Auswertungszeitraums. Mit dem Sonderwert all kann die Startzeit als aktuelle Zeit abzüglich der maximalen Aufbewahrungsdauer für die angegebenen Metriken festgelegt werden. Ein leerer oder fehlender Wert wird als impliziter allbehandelt.Datentyp: Zeichenfolge Format: ISO 8601 (UTC), entweder:
|
| Tabelle | Erforderlich. Name der Tabelle, die den dieser Serie zugeordneten GlideRecord enthält. Datentyp: Zeichenfolge |
Header
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützt nur application/json. |
| Content-Type | Datenformat des Anforderungstexts. Unterstützt nur application/json. |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| 400 | Fehlerhafte Anforderung. Ein fehlerhafter Anforderungstyp oder eine falsch formatierte Anforderung wurde erkannt. |
| 401 | Nicht autorisiert. Die Anmeldeinformationen sind falsch oder wurden nicht übergeben. |
| 404 | Nicht gefunden. Das angeforderte Element wurde nicht gefunden. |
| 405 | Ungültige Methode. Die Funktion ist deaktiviert. |
| 500 | Interner Serverfehler. Beim Verarbeiten der Anforderung ist ein unerwarteter Fehler aufgetreten. Der Antworttext enthält Informationen zum Fehler. |
Antworttextparameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| Ergebnisse | Null oder mehr Ergebnisobjekte, die die Abfrage erfüllen. Enthält entweder ein series -Array oder ein grouped -Array. Datentyp: Array |
| results.grouped | Liste der gruppierten Ergebnisobjekte, bei denen jedes grouped Ergebnisobjekt einer bestimmten Gruppe entspricht. Dieses Format wird zurückgegeben, wenn der Parameter metrics.groupBy im Anforderungstext übergeben wird. Datentyp: Array |
| ergebnisse.gruppiert.gruppierenNach | Wert, der im Parameter metrics.groupBy in der Anforderung übergeben wird. Datentyp: Zeichenfolge |
| ergebnisse.gruppiert.gruppen | Liste der generierten Gruppen basierend auf dem Inhalt des Parameters metrics.groupBy in der Anforderung. Datentyp: Array |
| ergebnisse.gruppiert.gruppen.gruppe | Name der Gruppe. Datentyp: Zeichenfolge |
| results.grouped.groups.label | Bezeichnung der Gruppe. Datentyp: Zeichenfolge |
| results.grouped.groups.series | Transformierte Werte für das Ergebnis der Gruppe. Datentyp: Array |
| results.grouped.groups.series.label | Bezeichnung der Serie. Datentyp: Zeichenfolge |
| results.grouped.groups.series.seriesRef | Ergebnisse einer einzelnen Datenreihe. Wird nicht angezeigt, wenn die Antwort mehrere Datenreihen enthält. Datentyp: Objekt |
| results.grouped.groups.series.seriesRef.metric | Name der Metrik, aus der die Datenreihe abgerufen wurde. Wird nur angezeigt, wenn das Objekt metrics in der Anforderung übergeben wird. Datentyp: Zeichenfolge |
| results.grouped.groups.series.seriesRef.subject | Sys_id des Datenreihen-Datensatzes. Befindet sich in der in results.series.seriesRef.tableangegebenen Tabelle. Datentyp: Zeichenfolge |
| results.grouped.groups.series.seriesRef.table | Name der Tabelle, aus der die Datenreihe abgerufen wurde. Datentyp: Zeichenfolge |
| results.grouped.groups.series.values | Liste der Ergebniswerte für die Gruppe. Datentyp: Array |
| results.grouped.groups.series.values.timestamp | ISO 8601-Zeitstempel des Werts. Datentyp: Zeichenfolge |
| results.grouped.groups.series.values.value | Transformierter Wert. Datentyp: Zahl |
| results.marker | Eindeutiger Bezeichner für die entsprechenden Ergebnisse. Datentyp: Zeichenfolge |
| results.series | Liste der nicht gruppierten Reihen von Ergebnisobjekten. Datentyp: Array |
| ergebnisse.serie.bezeichnung | Datenreihenbezeichnung. Dieser Wert wird entweder vom Endpunkt generiert oder ist der im Parameter metrics.label übergebene Wert. Datentyp: Zeichenfolge |
| ergebnisse.series.seriesRef | Ergebnisse einer einzelnen Datenreihe. Wird nicht angezeigt, wenn die Antwort mehrere Datenreihen enthält. Datentyp: Objekt |
| ergebnisse.series.seriesRef.metric | Name der Metrik, aus der die Datenreihe abgerufen wurde. Wird nur angezeigt, wenn das Objekt metrics in der Anforderung übergeben wird. Datentyp: Zeichenfolge |
| results.series.seriesRef.subject | Sys_id des Datenreihen-Datensatzes. Befindet sich in der in results.series.seriesRef.tableangegebenen Tabelle. Datentyp: Zeichenfolge |
| results.series.seriesRef.table | Name der Tabelle, aus der die Datenreihe abgerufen wurde. Datentyp: Zeichenfolge |
| ergebnisse.serie.werte | Transformierte Reihenwerte. Datentyp: Array |
| results.series.values.timestamp | ISO 8601-Zeitstempel des Werts. Datentyp: Zeichenfolge |
| results.series.values.value | Transformierter Wert. Datentyp: Zahl |
Unterstützte Transformationen
| Umwandeln | Beschreibung |
|---|---|
| Hinzufügen | Fügt jedem Zeitstempelwert die angegebene Zahl hinzu. Argument: arg (Dezimaldatentyp) – Zahl, die hinzugefügt werden soll. Beispiel: |
| Autokorrelation | Berechnet die Korrelation zwischen Zeitstempelwerten, die durch eine aufsteigende Anzahl von Punkten getrennt sind, beginnend bei 1. |
| avg | Fasst die Zeitreihe zu einer Reihe zusammen, die den Durchschnittswert für jeden entsprechenden Zeitstempel in der Eingabe enthält. |
| bottom | Gibt die angegebene Anzahl von Serien mit den niedrigsten Werten zurück. Argument: arg (Ganzzahl) – Die Anzahl der zurückzugebenden Reihen. Das Folgende gibt beispielsweise die beiden Zeitreihen zurück, die die niedrigsten Wertesätze enthalten. |
| ceil | Rundet den Wert in jedem Zeitstempel auf die angegebene Genauigkeit: ceil(value /<arg> ) * ) Argument: arg (Datentyp „Dezimalzahl“) – Dezimalgenauigkeit, auf die aufgerundet werden soll. |
| sammeln | Zeigt die Transformationsergebnisse der Transformationskette bis zum Punkt des Erfassungstransformationsaufrufs an. Die Ergebnisse der Erfassungstransformation enthalten eine eindeutige Markierung, aber Sie möchten möglicherweise auch eine Bezeichnung definieren. Beispiel: |
| constrainValues | Ersetzt einen Wert außerhalb des angegebenen Bereichs durch den entsprechenden Höchst- oder Mindestwert. Wenn Sie beispielsweise Folgendes angegeben haben, ersetzt die Transformation jeden Wert, der kleiner als 0 ist, durch 0 und jeden Wert, der größer als 100 ist, durch 100.
Parameter:
|
| count | Fasst die Zeitreihe zu einer Reihe zusammen. Die neue Serie enthält die Anzahl der Werte, die nicht NaN (Not a Number) für jeden entsprechenden Zeitstempel in der Serie sind. |
| Ableitung | Bestimmt die Änderungsrate zwischen Zeitstempeln. Dividiert die Differenz zwischen dem Wert in jedem Zeitstempel und dem Wert im nächsten Zeitstempel durch den Zeitraum des Zeitstempels. Hinweis: Diese Transformation gibt einen Wert weniger zurück als die Anzahl der Werte in der Reihe. |
| div | Dividiert den Wert in jedem Zeitstempel durch die angegebene Zahl (arg). Argument: arg (Dezimalzahl – Die Zahl, durch die der Wert jedes Zeitstempels geteilt werden soll. |
| Umschlag | Gibt zwei Zeitreihen zurück, von denen zu jedem Zeitpunkt eine den größten Wert und die andere den kleinsten Wert enthält. Hinweis: NaNs werden ignoriert, aber zurückgegeben, wenn keine anderen Rückgabewerte vorhanden sind. |
| ab | Potenziert den Wert der angegebenen Basis mit dem Wert in jedem Zeitstempel. Argument: arg (Dezimaldatentyp) – Der Basiswert. |
| filter | Wendet einen Aggregator auf den Inhalt eines Schiebefensters an, z. B. zur Erstellung eines gleitenden Durchschnitts. Parameter:
|
| Stockwerk | Rundet den Wert in jedem Zeitstempel auf die angegebene Genauigkeit ab: Floor(Wert /<arg> ) * Argument: arg (Dezimaldatentyp) – Die Dezimalgenauigkeit, auf die abgerundet werden soll. |
| Fraktile | Gibt eine Zeitreihe für jeden Bruch im angegebenen Array zurück. Jeder Zeitstempelwert ist der Wert, bei dem der angegebene Bruchteil von Werten für den entsprechenden Zeitstempel in der Eingabeserie unter dem angegebenen Prozentsatz liegt. Wenn der Bruch beispielsweise 0,5 ist, ist der Wert im Zeitstempel der Wert, bei dem die Hälfte der Werte in der Eingabereihe unter 0,5 liegt. Argument: arg (Array of Decimal) – Die für die Eingabeserie zu verwendenden Brüche. Beispiel: |
| groupBy | Gruppiert Daten nach den angegebenen Feldern, bevor zusammengefasste Transformationen erfasst oder angewendet werden. Argument: arg (Zeichenfolge) – Eine durch Kommas getrennte Liste von Feldern in der Tabelle, die zum Gruppieren der Transformationsergebnisse verwendet werden sollen. Beispiel: |
| integrieren | Multipliziert den Wert in jedem Zeitstempel mit seinem Zeitraum. |
| interpolieren | Erstellt einen Datenwert für ein NaN-Datenelement durch Interpolation aus benachbarten Datenwerten. Argument: arg (Ganzzahl) – Anzahl der Datenbeispiele in jede Richtung, die auf einen Nicht-NaN-Wert überprüft werden soll. Wenn kein Nicht-NaN-Wert gefunden wird, wird NaN verwendet. |
| invers | Berechnet den Kehrwert jedes Zeitstempelwerts. |
| iqr | Führt eine Interquartilbereichstransformation durch und erstellt einen Ergebnissatz, der vier Reihen enthält:
Hinweis: IQR = Q3 - Q1 |
| label | Beschriftet eine Transformationskette. Hinweis:
Nachfolgende Transformationen können die Bezeichnung ändern oder ersetzen. Argument: arg (Zeichenfolge) – Text der Bezeichnung. Kann die folgenden Formatierungsausdrücke enthalten:
Beispiel:
|
| limit | Gibt höchstens die angegebene Dauer oder Anzahl von Werten zurück, beginnend mit dem zuletzt gespeicherten Wert. Parameter:
|
| Protokoll | Führt einen Logarithmus für den Wert in jedem Zeitstempel aus, wobei das Ergebnis das Protokoll der angegebenen Basis für den Zeitstempelwert ist. Argument: arg (Dezimaldatentyp) – Basis für die Berechnung des Logarithmus. |
| mapValues | Ersetzt alle Werte innerhalb des angegebenen Bereichs (einschließlich) durch den angegebenen Wert. Wenn sowohl lowerBound als auch upperBound als NaN angegeben sind, wird ein beliebiger NaN-Wert durch targetValueersetzt. Parameter:
Folgendes ändert beispielsweise alle Werte in der Zeitreihe, die zwischen 0,1 und 0,9 liegen, in 1: |
| max. | Gibt eine Reihe zurück, die den maximalen Wert für jeden entsprechenden Zeitstempel in der Eingabe enthält. |
| Median | Erstellt eine Reihe, die den Median der Werte für jeden Zeitstempel in einem Satz von Reihen enthält. Wenn es n Serien gibt:
|
| min | Gibt eine Reihe zurück, die den Mindestwert für jeden entsprechenden Zeitstempel in der Eingabe enthält. |
| mul | Multipliziert den Wert in jedem Zeitstempel mit der angegebenen Zahl. Argument: arg (Dezimaldatentyp) – Zahl, mit der der Wert jedes Zeitstempels multipliziert werden soll. |
| partition | Erzeugt eine neue Reihe mit Werten, die gefiltert werden, indem ein angegebener Aggregator auf ein nicht überlappendes Fenster angewendet wird. Parameter:
|
| pow | Erhöht jeden Zeitstempelwert um die angegebene Potenz. Argument: arg (Dezimaldatentyp) – Potenz, um die jeder Wert erhöht werden soll. |
| Produkt | Fasst die ausgewählten Metrikserien zu einer einzelnen Serie zusammen, die das Produkt aller Werte für jeden Zeitstempel enthält. NaNs sind ausgeschlossen. Wenn alle Zahlen in der Reihe NaN sind, ist die Ausgabe auch NaN. |
| erneut berechnen | Berechnet eine Zeitreihe entweder auf eine feste Anzahl von Punkten oder von einer Häufigkeit zur anderen. Verwenden Sie die Resample-Transformation, um die Anzahl der Beispiele im Ergebnissatz so zu reduzieren, dass sie der Anzahl der Beispiele entspricht, die Sie anzeigen möchten. Argumente: Sie können verschiedene Argumente für diese Transformation übergeben. Nachfolgend finden Sie eine Liste aller möglichen Argumentgruppen. Nur eine dieser Argumentgruppen kann innerhalb einer einzelnen Transformation übergeben werden. Die folgenden Argumentgruppen werden durch UND/ODER beschrieben. UND bedeutet, dass das Argument Teil der aktuellen Gruppe ist; OR bedeutet, dass es sich um den Beginn einer neuen Argumentgruppe handelt.
|
| Runden | Rundet den Wert in jedem Zeitstempel auf die angegebene Genauigkeit: (Wert /<arg> ) * Argument: arg (Dezimaldatentyp) – Die Dezimalgenauigkeit, auf die aufgerundet werden soll. |
| Stamm | Berechnet den Stamm jedes Zeitstempelwerts anhand des angegebenen Index. Argument: arg (Dezimaldatentyp) – Der Index des Stamms. Folgendes gibt beispielsweise die Quadratwurzel jedes Zeitstempels zurück: |
| stddev | Erstellt eine Reihe, die die Standardabweichung von Werten für jeden Zeitstempel in einem Satz von Reihen enthält. |
| Sub | Subtrahiert die angegebene Zahl vom Wert in jedem Zeitstempel. Argument: arg (Number) – Die Zahl, die vom Wert in jedem Zeitstempel abgezogen werden soll. |
| sum | Fasst die ausgewählten Metrikserien zu einer Serie zusammen, die die Summe aller Werte für jeden Zeitstempel enthält, ausschließlich NaNs. Wenn alle Zahlen in der Reihe NaN sind, ist die Ausgabe NaN. |
| Zeitverschiebung | Verschiebt den Zeitbereich, indem der angegebene Offset zum Zeitstempel eines Werts hinzugefügt wird, ohne den Wert zu ändern. Verwenden Sie diese Transformation, um Zeitstempel in eine andere Zeitzone zu verschieben. Argument: arg (Datentyp „Dauer“) – Die Zeit, um die verschoben werden soll. |
| top | Gibt die angegebene Anzahl von Serien mit den höchsten Werten zurück. Argument: arg (Ganzzahl) – Die Anzahl der zurückzugebenden Reihen. Das Folgende gibt beispielsweise die beiden Zeitreihen zurück, die die höchsten Wertesätze enthalten. |
| Datentyp | Beschreibung |
|---|---|
| Aggregator | Verfügbare Aggregatoren zur Verwendung innerhalb der Transformation.
|
| DateTime | Absolute Datums-/Uhrzeitwerte werden im ISO 8601-Datums- und Uhrzeitformat angegeben: JJJJ-MM-TTThh:mm:ss. Beispiel: 2020-02-28T13:10:42.Wobei:
Relative Datums-/Uhrzeitwerte werden mithilfe einer Dauer (Datentyp „Dauer“) angegeben, die von der aktuellen Uhrzeit subtrahiert wird. Beispiel: P7T = vor sieben Tagen. |
| Dezimalzahl | Dezimalwert, der wie folgt lauten kann:
|
| Dauer | Zeit in einem Zeitintervall. Dauerwerte werden im ISO 8601-Dauerformat angegeben: P[n]Y[n]M[n]DT[n]H[n]M[n]S Wobei:
Beispiel:
|
cURL-Anforderung
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"\
}\
]\
}\
]\
} \
Ausgabe:
"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 Time Series – POST /now/clotho/transform/stream
Gibt einen Stream transformierter Zeitreihendaten für eine oder mehrere Metriken zurück, nachdem die angegebene Liste der Transformationen angewendet wurde.
Wenn Sie Daten auf diese Weise streamen, können Sie die Daten verarbeiten, wenn einzelne Transformationen abgeschlossen und zurückgegeben werden, anstatt darauf zu warten, dass alle Transformationsergebnisse abgeschlossen und heruntergeladen werden. Wenn große Datenmengen vom Client verarbeitet werden müssen, reduziert diese Art der Verarbeitung die End-to-End-Verarbeitungszeit und reduziert möglicherweise die Speichernutzung auf dem Client.
- Geben Sie die gestreamten Daten an, die in einem binären Format codiert werden sollen.
- Serialisieren Sie gestreamte Daten in ein JSON-Array oder
- Streamen Sie Daten in einem breiten oder schmalen CSV-Format an den Client zurück.
URL-Format
Versionierte URL: /api/now/{api_version}/clotho/transform/stream
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| api_version | Optional. Version des Endpunkts, auf den zugegriffen werden soll. Zum Beispiel v1 oder v2. Geben Sie diesen Wert nur an, um eine andere Endpunktversion als die neueste zu verwenden. Datentyp: Zeichenfolge |
| Name | Beschreibung |
|---|---|
| sysparm_display_value | Kennzeichnung, die angibt, ob die Ergebnisdaten mit dem Anzeigewert des Betreffdatensatzes gekennzeichnet werden sollen, wenn keine andere Bezeichnung angegeben ist. Gültige Werte:
Datentyp: Boolesch Standardwert: false |
| Name | Beschreibung |
|---|---|
| Ende | Erforderlich. Endzeit des Auswertungszeitraums. Ein leerer oder fehlender Wert wird als aktuelle Uhrzeit behandelt. Datentyp: Zeichenfolge Format: ISO 8601 (UTC), entweder:
|
| limit | Maximale Anzahl der zurückzugebenden Datensätze. Ungewöhnlich große Werte können die Systemleistung beeinträchtigen. Datentyp: Zahl Standard: 10.000 |
| metrics | Liste der Metrikobjekte, die in der Transformation verwendet werden sollen. Weitere Informationen zu Metriken finden Sie unter Metriken. Datentyp: Array |
| metrics.label | Bezeichnung, die für den Ergebnissatz dieser Metrik verwendet werden soll. Sie ersetzt alle von der Transformationskette generierten Bezeichnungen. Datentyp: Zeichenfolge Standard: Generierte Standardbezeichnung. |
| metrics.metric | Erforderlich, wenn Objekt metrics übergeben wird. In der Transformation zu verwendendes Metrikfeld. Dieses Feld muss sich in der im Parameter table angegebenen Tabelle befinden. Datentyp: Zeichenfolge |
| metrics.transforms | Liste der Transformationen (Transformationskette), die auf die abgerufenen Zeitreihendaten angewendet werden sollen. Jede Transformation baut auf den Ergebnissen der vorherigen Transformation auf. Eine Liste der verfügbaren Transformationen finden Sie unten unter „ Unterstützte Transformationen “. Datentyp: Array |
| metrics.transforms.arg | Abhängig von der Transformation. Parameter, die an die Transformation übergeben werden sollen. Allgemeine Richtlinien:
Datentyp: Zahl, Zeichenfolge, Boolean oder JSON-Objekt, abhängig von der Transformation. (Eine Liste der verfügbaren Transformationen finden Sie in der Tabelle „ Unterstützte Transformationen “ unten.) |
| metrics.transforms.name | Erforderlich, wenn ein transforms -Objekt angegeben ist. Name der Transformation. Eine Liste der verfügbaren Transformationen finden Sie in der Tabelle „Unterstützte Transformationen “. Datentyp: Zeichenfolge |
| query | Codierte Abfrage, die zum Filtern der Ergebnismenge verwendet werden soll. Sie können die Abfrage mit dem Filter-Editor der angegebenen Tabelle erstellen. Wählen Sie nach der Erstellung im Breadcrumbs-Kontextmenü des Filters die Option URL kopieren aus. Datentyp: Zeichenfolge Standard: Keine |
| Start | Erforderlich. Startzeit des Auswertungszeitraums. Mit dem Sonderwert all kann die Startzeit als aktuelle Zeit abzüglich der maximalen Aufbewahrungsdauer für die angegebenen Metriken festgelegt werden. Ein leerer oder fehlender Wert wird als impliziter allbehandelt.Datentyp: Zeichenfolge Format: ISO 8601 (UTC), entweder:
|
| Tabelle | Erforderlich. Name der Tabelle, die den dieser Serie zugeordneten GlideRecord enthält. Datentyp: Zeichenfolge |
Header
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützt Folgendes:
Sie text/csv;format=nallow oder text/csv;format=width. |
| Content-Type | Datenformat des Anforderungstexts. Unterstützt nur application/json. |
| Kopfzeile | Beschreibung |
|---|---|
| Keine | Datenformat des Antworttexts. Verwenden Sie basierend auf den angegebenen Akzeptanzwerten der Anforderung Folgendes:
Wenn mehrere akzeptierte Typen angegeben sind, wird der erste unterstützte Typ zurückgegeben. |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet, und das Datenstreaming beginnt. Hinweis: Eine 200-Antwort kann während der Berechnung der Transformationen immer noch einen Verarbeitungsfehler verursachen. |
| 400 | Fehlerhafte Anforderung. Ein fehlerhafter Anforderungstyp oder eine falsch formatierte Anforderung wurde erkannt. |
| 401 | Nicht autorisiert. Die Anmeldeinformationen sind falsch oder wurden nicht übergeben. |
| 404 | Nicht gefunden. Das angeforderte Element wurde nicht gefunden. |
| 405 | Ungültige Methode. Die Funktion ist deaktiviert. |
| 500 | Interner Serverfehler. Beim Verarbeiten der Anforderung ist ein unerwarteter Fehler aufgetreten. Der Antworttext enthält Informationen zum Fehler. |
Parameter des Antworttexts (Octet-Stream oder JSON)
| Name | Beschreibung |
|---|---|
| Ausgabe-Stream (Octet-Stream) | Wenn die Anforderungskopfzeile „Accept“ auf application/octet-streamfestgelegt ist, werden die übereinstimmenden MetricBase-Daten als binärer serialisierter Stream zurückgegeben. Die Anwendungen Clotho-Util für Java stellen einen Deserialisierer bereit, mit dem Sie diese Daten analysieren können. Der Stream besteht aus einer binären Serialisierung jedes Datums, der eine Ganzzahl vorangestellt ist, die seine Länge darstellt. Die folgenden Einträge beschreiben die Daten innerhalb der binären Darstellung und die Reihenfolge dieser Daten. |
| CSV-Stream (UTF-8-Stream) | Wenn der Accept-Anforderungsheader auf text/csvfestgelegt ist, werden die übereinstimmenden MetricBase-Daten als UTF-8-codierte CSV-Daten im breiten oder schmalen Format zurückgegeben. Ein schmales Format gibt Betreff- und Zeitstempelspalten und eine Spalte für jede zurückgegebene Metrik zurück. Ein breites Format gibt eine Zeitstempelspalte mit einer separaten Spalte für jedes Metrik-Antragsteller-Paar zurück. |
| Betreff | Quelle der Daten. Beispiel: Wenn die Metrik für die Daten die Höhen der Luftdrohnen sind, kann dieser Wert die ID einer bestimmten Drohne sein. Wenn der Wert einen Doppelpunkt enthält, stellen die Teile nach dem Betreff die Metrik dar, zu der die Daten gehören. Nullwerte werden durch eine codierte leere Zeichenfolge dargestellt. Größe: 2+ Byte Datentyp: Java − Geänderte UTF-Zeichenfolge |
| Maß | Metrik, aus der die Daten stammen. Nullwerte werden durch eine codierte leere Zeichenfolge dargestellt. Größe: 2+ Byte Datentyp: Java − Geänderte UTF-Zeichenfolge |
| Bezeichnung | Bezeichnung der Daten. Nullwerte werden durch eine codierte leere Zeichenfolge dargestellt. Größe: 2+ Byte Datentyp: Java − Geänderte UTF-Zeichenfolge |
| Typ | Typ der in einem Byte codierten Daten. Mögliche Werte:
Größe: 1 Byte Datentyp: Byte |
| Kennzeichnungen | Codierte Variable serializeFlags. Wenn serializeTags „ true“ ist und die Daten Tags enthalten, ist der Wert 2, andernfalls ist er 0. Größe: 1 Byte Datentyp: Byte |
| Zeitraum | Zeitraum, der den Daten zugeordnet ist. Größe: 4 Byte Datentyp: Ganzzahl |
| Anzahl der Tags | Wenn serializeTags „ true“ ist, ist dies die Anzahl der in den Daten gespeicherten Tags. Größe: 4 Byte Datentyp: Ganzzahl |
| Tags | Wenn serializeTags auf „true“ festgelegt ist, wird jedes Tag in den Daten gespeichert. Größe: Hängt von der Anzahl der Tags ab (2+ Byte). Datentyp: Java-modifizierte UTF-Zeichenfolgen |
| Starte Epoche Sekunde | Epochen-UTC-Zeit, die die Startzeit dieser Datenreihe darstellt. Größe: 8 Byte Datentyp: Lang |
| Anzahl der Werte | Anzahl der in diesen Daten gespeicherten Werte. Größe: 4 Byte Datentyp: Ganzzahl |
| Werte | Wenn Type das Gleitkomma-Signalist, besteht der Rest aus Gleitkomma-Werten. Größe: Number of Values * 4 Datentyp: Gleitkommazahlen |
| Werte | Wenn Type das doppelte Signalist, besteht der Rest aus doppelten Werten. Größe: Number of Values * 4 Byte Datentyp: Doppelte |
| Modell-JSON (Modell) | Wenn Type ein Float-Modell oder ein Double-Modellist, ist der Rest eine in Java geänderte UTF-Zeichenfolge, die das Modell als JSON darstellt. Größe: 2+ Byte Datentyp: JSON (Java modifizierte UTF-Zeichenfolge) |
| Marker für großes Modell (großes Modell) | Wenn die Länge des JSON-Objekts des Modells größer als 65.535 Byte ist, wird dieses Feld anstelle von Model Jsongeschrieben. Größe: 5 Datentyp: Java − Geänderte UTF-Zeichenfolge |
| Größe des großen Modells (großes Modell) | Länge der JSON-Darstellung des großen Modells. Größe: 4 Byte Datentyp: Ganzzahl |
| JSON für großes Modell (großes Modell) | JSON-Darstellung des Modells als Reihe von UTF-Zeichen. Die Größe wird durch das Feld Big Model Size bestimmt. Größe: 65535-256000 Byte Datentyp: UTF-Zeichen |
| JSON-Stream (JSON) | Wenn die Anforderungskopfzeile „Accept“ auf application/jsonfestgelegt ist, werden die übereinstimmenden MetricBase-Daten als Stream von durch neue Zeilen getrennten JSON-Objekten zurückgegeben. Die folgenden Einträge beschreiben die möglichen Elemente in jedem zurückgegebenen Objekt. |
| label | Bezeichnung der Daten. Dieser Wert wird entweder vom Endpunkt generiert oder ist der im Parameter metrics.label übergebene Wert. Datentyp: Zeichenfolge |
| Zeitraum | Zeitspanne zwischen jedem Wert. Zum Beispiel würde ein Zeitraum von 60 bedeuten, dass jeder Wert eine Minute voneinander entfernt ist. Einheit: Sekunden Datentyp: Zahl |
| range | Start- und Endzeit der Daten im ISO 8601-Format (UTC). Datentyp: Array |
| Serie | Identifiziert die einzelnen Daten. Wenn vorhanden, hat er normalerweise das Format [glide record id]:[metric]. Dies ist möglicherweise nicht vorhanden, wenn Transformationen verwendet werden.Datentyp: Zeichenfolge |
| Arten | Typ der Rückgabedaten. Für eine Reihe von Gleitkomma- oder Doppelwerten ist dies entweder FLOAT_SIGNAL oder DOUBLE_SIGNAL. Für ein Modell, das Float- oder Double-Daten analysieren soll, ist dies entweder FLOAT_MODEL oder DOUBLE_MODEL. Datentyp: Zeichenfolge |
| tags | Tags, die den Daten zugeordnet sind. Datentyp: Array von Zeichenfolge |
| Wert | Gleitkomma- oder Double-Werte für die Daten. Datentyp: Array von Zahlen |
| Fehler | Fehlermeldung, wenn die Transformation der angegebenen Datenreihe fehlschlägt. Datentyp: Zeichenfolge |
Unterstützte Transformationen
| Umwandeln | Beschreibung |
|---|---|
| Hinzufügen | Fügt jedem Zeitstempelwert die angegebene Zahl hinzu. Argument: arg (Dezimaldatentyp) – Zahl, die hinzugefügt werden soll. Beispiel: |
| Autokorrelation | Berechnet die Korrelation zwischen Zeitstempelwerten, die durch eine aufsteigende Anzahl von Punkten getrennt sind, beginnend bei 1. |
| avg | Fasst die Zeitreihe zu einer Reihe zusammen, die den Durchschnittswert für jeden entsprechenden Zeitstempel in der Eingabe enthält. |
| bottom | Gibt die angegebene Anzahl von Serien mit den niedrigsten Werten zurück. Argument: arg (Ganzzahl) – Die Anzahl der zurückzugebenden Reihen. Das Folgende gibt beispielsweise die beiden Zeitreihen zurück, die die niedrigsten Wertesätze enthalten. |
| ceil | Rundet den Wert in jedem Zeitstempel auf die angegebene Genauigkeit: ceil(value /<arg> ) * ) Argument: arg (Datentyp „Dezimalzahl“) – Dezimalgenauigkeit, auf die aufgerundet werden soll. |
| sammeln | Zeigt die Transformationsergebnisse der Transformationskette bis zum Punkt des Erfassungstransformationsaufrufs an. Die Ergebnisse der Erfassungstransformation enthalten eine eindeutige Markierung, aber Sie möchten möglicherweise auch eine Bezeichnung definieren. Beispiel: |
| constrainValues | Ersetzt einen Wert außerhalb des angegebenen Bereichs durch den entsprechenden Höchst- oder Mindestwert. Wenn Sie beispielsweise Folgendes angegeben haben, ersetzt die Transformation jeden Wert, der kleiner als 0 ist, durch 0 und jeden Wert, der größer als 100 ist, durch 100.
Parameter:
|
| count | Fasst die Zeitreihe zu einer Reihe zusammen. Die neue Serie enthält die Anzahl der Werte, die nicht NaN (Not a Number) für jeden entsprechenden Zeitstempel in der Serie sind. |
| Ableitung | Bestimmt die Änderungsrate zwischen Zeitstempeln. Dividiert die Differenz zwischen dem Wert in jedem Zeitstempel und dem Wert im nächsten Zeitstempel durch den Zeitraum des Zeitstempels. Hinweis: Diese Transformation gibt einen Wert weniger zurück als die Anzahl der Werte in der Reihe. |
| div | Dividiert den Wert in jedem Zeitstempel durch die angegebene Zahl (arg). Argument: arg (Dezimalzahl – Die Zahl, durch die der Wert jedes Zeitstempels geteilt werden soll. |
| Umschlag | Gibt zwei Zeitreihen zurück, von denen zu jedem Zeitpunkt eine den größten Wert und die andere den kleinsten Wert enthält. Hinweis: NaNs werden ignoriert, aber zurückgegeben, wenn keine anderen Rückgabewerte vorhanden sind. |
| ab | Potenziert den Wert der angegebenen Basis mit dem Wert in jedem Zeitstempel. Argument: arg (Dezimaldatentyp) – Der Basiswert. |
| filter | Wendet einen Aggregator auf den Inhalt eines Schiebefensters an, z. B. zur Erstellung eines gleitenden Durchschnitts. Parameter:
|
| Stockwerk | Rundet den Wert in jedem Zeitstempel auf die angegebene Genauigkeit ab: Floor(Wert /<arg> ) * Argument: arg (Dezimaldatentyp) – Die Dezimalgenauigkeit, auf die abgerundet werden soll. |
| Fraktile | Gibt eine Zeitreihe für jeden Bruch im angegebenen Array zurück. Jeder Zeitstempelwert ist der Wert, bei dem der angegebene Bruchteil von Werten für den entsprechenden Zeitstempel in der Eingabeserie unter dem angegebenen Prozentsatz liegt. Wenn der Bruch beispielsweise 0,5 ist, ist der Wert im Zeitstempel der Wert, bei dem die Hälfte der Werte in der Eingabereihe unter 0,5 liegt. Argument: arg (Array of Decimal) – Die für die Eingabeserie zu verwendenden Brüche. Beispiel: |
| groupBy | Gruppiert Daten nach den angegebenen Feldern, bevor zusammengefasste Transformationen erfasst oder angewendet werden. Argument: arg (Zeichenfolge) – Eine durch Kommas getrennte Liste von Feldern in der Tabelle, die zum Gruppieren der Transformationsergebnisse verwendet werden sollen. Beispiel: |
| integrieren | Multipliziert den Wert in jedem Zeitstempel mit seinem Zeitraum. |
| interpolieren | Erstellt einen Datenwert für ein NaN-Datenelement durch Interpolation aus benachbarten Datenwerten. Argument: arg (Ganzzahl) – Anzahl der Datenbeispiele in jede Richtung, die auf einen Nicht-NaN-Wert überprüft werden soll. Wenn kein Nicht-NaN-Wert gefunden wird, wird NaN verwendet. |
| invers | Berechnet den Kehrwert jedes Zeitstempelwerts. |
| iqr | Führt eine Interquartilbereichstransformation durch und erstellt einen Ergebnissatz, der vier Reihen enthält:
Hinweis: IQR = Q3 - Q1 |
| label | Beschriftet eine Transformationskette. Hinweis:
Nachfolgende Transformationen können die Bezeichnung ändern oder ersetzen. Argument: arg (Zeichenfolge) – Text der Bezeichnung. Kann die folgenden Formatierungsausdrücke enthalten:
Beispiel:
|
| limit | Gibt höchstens die angegebene Dauer oder Anzahl von Werten zurück, beginnend mit dem zuletzt gespeicherten Wert. Parameter:
|
| Protokoll | Führt einen Logarithmus für den Wert in jedem Zeitstempel aus, wobei das Ergebnis das Protokoll der angegebenen Basis für den Zeitstempelwert ist. Argument: arg (Dezimaldatentyp) – Basis für die Berechnung des Logarithmus. |
| mapValues | Ersetzt alle Werte innerhalb des angegebenen Bereichs (einschließlich) durch den angegebenen Wert. Wenn sowohl lowerBound als auch upperBound als NaN angegeben sind, wird ein beliebiger NaN-Wert durch targetValueersetzt. Parameter:
Folgendes ändert beispielsweise alle Werte in der Zeitreihe, die zwischen 0,1 und 0,9 liegen, in 1: |
| max. | Gibt eine Reihe zurück, die den maximalen Wert für jeden entsprechenden Zeitstempel in der Eingabe enthält. |
| Median | Erstellt eine Reihe, die den Median der Werte für jeden Zeitstempel in einem Satz von Reihen enthält. Wenn es n Serien gibt:
|
| min | Gibt eine Reihe zurück, die den Mindestwert für jeden entsprechenden Zeitstempel in der Eingabe enthält. |
| mul | Multipliziert den Wert in jedem Zeitstempel mit der angegebenen Zahl. Argument: arg (Dezimaldatentyp) – Zahl, mit der der Wert jedes Zeitstempels multipliziert werden soll. |
| partition | Erzeugt eine neue Reihe mit Werten, die gefiltert werden, indem ein angegebener Aggregator auf ein nicht überlappendes Fenster angewendet wird. Parameter:
|
| pow | Erhöht jeden Zeitstempelwert um die angegebene Potenz. Argument: arg (Dezimaldatentyp) – Potenz, um die jeder Wert erhöht werden soll. |
| Produkt | Fasst die ausgewählten Metrikserien zu einer einzelnen Serie zusammen, die das Produkt aller Werte für jeden Zeitstempel enthält. NaNs sind ausgeschlossen. Wenn alle Zahlen in der Reihe NaN sind, ist die Ausgabe auch NaN. |
| erneut berechnen | Berechnet eine Zeitreihe entweder auf eine feste Anzahl von Punkten oder von einer Häufigkeit zur anderen. Verwenden Sie die Resample-Transformation, um die Anzahl der Beispiele im Ergebnissatz so zu reduzieren, dass sie der Anzahl der Beispiele entspricht, die Sie anzeigen möchten. Argumente: Sie können verschiedene Argumente für diese Transformation übergeben. Nachfolgend finden Sie eine Liste aller möglichen Argumentgruppen. Nur eine dieser Argumentgruppen kann innerhalb einer einzelnen Transformation übergeben werden. Die folgenden Argumentgruppen werden durch UND/ODER beschrieben. UND bedeutet, dass das Argument Teil der aktuellen Gruppe ist; OR bedeutet, dass es sich um den Beginn einer neuen Argumentgruppe handelt.
|
| Runden | Rundet den Wert in jedem Zeitstempel auf die angegebene Genauigkeit: (Wert /<arg> ) * Argument: arg (Dezimaldatentyp) – Die Dezimalgenauigkeit, auf die aufgerundet werden soll. |
| Stamm | Berechnet den Stamm jedes Zeitstempelwerts anhand des angegebenen Index. Argument: arg (Dezimaldatentyp) – Der Index des Stamms. Folgendes gibt beispielsweise die Quadratwurzel jedes Zeitstempels zurück: |
| stddev | Erstellt eine Reihe, die die Standardabweichung von Werten für jeden Zeitstempel in einem Satz von Reihen enthält. |
| Sub | Subtrahiert die angegebene Zahl vom Wert in jedem Zeitstempel. Argument: arg (Number) – Die Zahl, die vom Wert in jedem Zeitstempel abgezogen werden soll. |
| sum | Fasst die ausgewählten Metrikserien zu einer Serie zusammen, die die Summe aller Werte für jeden Zeitstempel enthält, ausschließlich NaNs. Wenn alle Zahlen in der Reihe NaN sind, ist die Ausgabe NaN. |
| Zeitverschiebung | Verschiebt den Zeitbereich, indem der angegebene Offset zum Zeitstempel eines Werts hinzugefügt wird, ohne den Wert zu ändern. Verwenden Sie diese Transformation, um Zeitstempel in eine andere Zeitzone zu verschieben. Argument: arg (Datentyp „Dauer“) – Die Zeit, um die verschoben werden soll. |
| top | Gibt die angegebene Anzahl von Serien mit den höchsten Werten zurück. Argument: arg (Ganzzahl) – Die Anzahl der zurückzugebenden Reihen. Das Folgende gibt beispielsweise die beiden Zeitreihen zurück, die die höchsten Wertesätze enthalten. |
| Datentyp | Beschreibung |
|---|---|
| Aggregator | Verfügbare Aggregatoren zur Verwendung innerhalb der Transformation.
|
| DateTime | Absolute Datums-/Uhrzeitwerte werden im ISO 8601-Datums- und Uhrzeitformat angegeben: JJJJ-MM-TTThh:mm:ss. Beispiel: 2020-02-28T13:10:42.Wobei:
Relative Datums-/Uhrzeitwerte werden mithilfe einer Dauer (Datentyp „Dauer“) angegeben, die von der aktuellen Uhrzeit subtrahiert wird. Beispiel: P7T = vor sieben Tagen. |
| Dezimalzahl | Dezimalwert, der wie folgt lauten kann:
|
| Dauer | Zeit in einem Zeitintervall. Dauerwerte werden im ISO 8601-Dauerformat angegeben: P[n]Y[n]M[n]DT[n]H[n]M[n]S Wobei:
Beispiel:
|
cURL-Anforderung
Das folgende Beispiel zeigt, wie dieser Endpunkt aufgerufen wird, um einen JSON-Stream für Metriken in der Tabelle „mb_demo_drone“ zurückzugeben. Hinweis: Während die Objekte in diesem Beispiel aus Gründen der Lesbarkeit auf mehrere Zeilen erweitert sind, befindet sich in einem tatsächlichen Ergebnis jedes zurückgegebene Objekt in einer eigenen Zeile. Sie können denselben Aufruf durchführen und einen Oktett-Stream zurückgeben, indem Sie --header "Accept:application/octet-stream" \ festlegen.
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\"\
}\
]\
}\
]\
}"
Antwort:
[
{
"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
}
]
Im folgenden cURL-Beispiel wird die CSV-Formatoption verwendet, um die Höhenwerte (in der Datenbank als „mb_demo_mt_altitude“ gespeichert) des letzten Tages für jede in der Tabelle „mb_demo_drone“ [Drohnen] des Metricbase-Demo-Plugins gespeicherte Höhenwerte zurückzugeben. In diesem Beispiel werden die Daten in einem schmalen Tabellenformat mit drei Spalten zurückgegeben: die Sys_id des Subjekts, das die Bedrohung identifiziert, der Zeitstempel des Werts und der Höhenwert.
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\": []\
}]\
}"
Ausgabe:
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 Time Series – POST /now/clotho/put
Fügt Zeitreihendaten zur Datenbank MetricBase hinzu.
URL-Format
Versionierte URL: /api/now/{api_version}/clotho/put
Unterstützte Anforderungsparameter
| Name | Beschreibung |
|---|---|
| api_version | Version des Endpunkts, auf den zugegriffen werden soll. Zum Beispiel v1 oder v2. Geben Sie diesen Wert nur an, um eine andere Endpunktversion als die neueste zu verwenden. Datentyp: Zeichenfolge |
| Name | Beschreibung |
|---|---|
| sysparm_ignore_unknown_series | Kennzeichnung, die angibt, ob unbekannte Serien ignoriert und die Transaktion fortgesetzt werden sollen, ohne einen Fehler zurückzugeben. Gültige Werte:
Standardwert: true |
| Name | Beschreibung |
|---|---|
| SerienRef | Erforderlich. Zu aktualisierende Informationen. Datentyp: Array |
| seriesRef.metric | Erforderlich. Der Name der zu aktualisierenden Metrik. Datentyp: Zeichenfolge |
| seriesRef.subject | Erforderlich. Die sys_id des Datensatzes, in dem die Daten aktualisiert werden sollen. Befindet sich in der in seriesRef.tableangegebenen Tabelle. Datentyp: Zeichenfolge |
| seriesRef.table | Erforderlich. Der Name der Tabelle, in der die Daten gespeichert werden sollen. Datentyp: Zeichenfolge |
| Werte | Erforderlich. Die zu speichernden Reihenwerte. Datentyp: Array |
| werte.timestamp | Erforderlich. Der ISO 8601-Zeitstempel des Werts. Datentyp: Zeichenfolge Format: Die Endung „Z“, die die UTC-Zeitzone in einem ISO-formatierten Zeitstempel angibt, ist optional. |
| values.value | Erforderlich. Der Metrikwert. Datentyp: Zahl |
Header
Die folgenden Anforderungs- und Antwortkopfzeilen gelten nur für diese HTTP-Aktion oder für diese Aktion auf eine bestimmte Weise. Eine Liste der allgemeinen Header, die in der REST-API verwendet werden, finden Sie unter Unterstützte REST-API-Header.
| Kopfzeile | Beschreibung |
|---|---|
| Akzeptieren | Datenformat des Antworttexts. Unterstützt nur application/json. |
| Content-Type | Datenformat des Anforderungstexts. Unterstützt nur application/json. |
| Kopfzeile | Beschreibung |
|---|---|
| Keine |
Statuscodes
Die folgenden Statuscodes gelten für diese HTTP-Aktion. Eine Liste der möglichen Statuscodes, die in der REST-API verwendet werden, finden Sie unter HTTP-Antwortcodesder REST-API.
| Statuscode | Beschreibung |
|---|---|
| 200 | Erfolgreich. Die Anforderung wurde erfolgreich verarbeitet. |
| 401 | Nicht autorisiert. Die Anmeldeinformationen sind falsch oder wurden nicht übergeben. |
| 500 | Interner Serverfehler. Beim Verarbeiten der Anforderung ist ein unerwarteter Fehler aufgetreten. Der Antworttext enthält Informationen zum Fehler. |
Antworttextparameter (JSON oder XML)
| Name | Beschreibung |
|---|---|
| Nachricht | Nachricht, die den Status der Anforderung angibt, z. B. OK, wenn die Anforderung erfolgreich verarbeitet wurde. |
cURL-Anforderung
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"
}
}