API de séries chronologiques MetricBase
L’API de série chronologique MetricBase fournit des points de terminaison pour insérer des données, récupérer des informations et exécuter des transformations dans une MetricBase base de données.
Cette API ne peut être utilisée que lorsque le MetricBase plugin (com.snc.clotho) est installé et activé.
Rôle requis pour écrire dans cette API : clotho_rest_put.
Les exemples de cette section ont été créés à l’aide de données dans le module d’extension MetricBase (com.snc.clotho).
Séries chronologiques MetricBase : GET /now/clotho/table/{table}/{subject}/{metric}
Récupère les données de séries chronologiques spécifiées à partir de la MetricBase base de données.
Format d'URL
URL versionnée : /api/now/{api_version}/clotho/table/{table}/{subject}/{metric}
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | |
| mesure | Nom de la colonne de la table identifiée dans le subject paramètre à utiliser comme mesure. Type de données : chaîne |
| objet | Sys_id du GlideRecord associé à cette série. Type de données : chaîne |
| table | Nom de la table contenant le GlideRecord associé à cette série. Type de données : chaîne |
| Nom | Description |
|---|---|
| sysparm_display_value | Marqueur indiquant s’il faut étiqueter les données de résultat avec la valeur d’affichage de l’enregistrement objet si aucune autre étiquette n’est spécifiée. Valeurs valides :
Type de données : booléennes Valeur par défaut : false |
| sysparm_end | Requis. Heure de fin de la période d’évaluation. Une valeur vide ou manquante est traitée comme l’heure actuelle. Les valeurs de temps sont incluses dans cette heure de fin. Type de données : chaîne Format : ISO 8601 (UTC), soit :
|
| sysparm_start | Requis. Heure de début de la période d’évaluation. La valeur spéciale all peut être utilisée pour définir l’heure de début comme étant l’heure actuelle moins la période de conservation maximale des mesures spécifiées. Une valeur vide ou manquante est traitée comme un all implicite. Les valeurs de temps incluent cette heure de début.Type de données : chaîne Format : ISO 8601 (UTC), soit :
|
| Nom | Description |
|---|---|
| Néant |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 401 | Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de la réponse (JSON ou XML)
| Nom | Description |
|---|---|
| étiquette | Étiquette utilisée pour identifier l’ensemble de résultats de cette mesure. Type de données : chaîne |
| sérieRef | Résultats de séries de données. Type de données : tableau d’objets |
| sériesRef.metric | Nom de la mesure à partir de laquelle la série de données a été obtenue. S’affiche uniquement si l’objet metrics est transmis dans la demande. Type de données : chaîne |
| sérieRef.subject | Sys_id de l’enregistrement de séries de données. Situé dans la table spécifiée dans .seriesRef.table Type de données : chaîne |
| sériesRéf.table | Nom de la table à partir de laquelle la série de données a été obtenue. Type de données : chaîne |
| valeurs | Valeurs des séries transformées. Type de données : tableau d’objets |
| Valeurs.Horodatage | Horodatage de la valeur. Type de données : chaîne Format : ISO 8601 |
| valeurs.valeur | Valeurs de mesures. Type de données : nombre |
Demande 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
}
]
}
Séries chronologiques MetricBase : GET /now/clotho/transform/{table}/{metric}
Transforme les données spécifiées en fonction des paramètres spécifiés.
Format d'URL
URL versionnée : /api/now/{api_version}/clotho/transform/{table}/{metric}
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | |
| mesure | Nom de la colonne de la table identifiée dans le subject paramètre à utiliser comme mesure. Type de données : chaîne |
| table | Nom de la table contenant le GlideRecord associé à cette série. Type de données : chaîne |
| Nom | Description |
|---|---|
| sysparm_display_value | Marqueur indiquant s’il faut étiqueter les données de résultat avec la valeur d’affichage de l’enregistrement objet si aucune autre étiquette n’est spécifiée. Valeurs valides :
Type de données : booléennes Valeur par défaut : false |
| sysparm_end | Requis. Heure de fin de la période d’évaluation. Une valeur vide ou manquante est traitée comme l’heure actuelle. Les valeurs de temps sont incluses dans cette heure de fin. Type de données : chaîne Format : ISO 8601 (UTC), soit :
|
| sysparm_query | Chaîne de requête codée pour trouver les enregistrements du sujet. Type de données : chaîne Par défaut : aucun |
| sysparm_start | Requis. Heure de début de la période d’évaluation. La valeur spéciale all peut être utilisée pour définir l’heure de début comme étant l’heure actuelle moins la période de conservation maximale des mesures spécifiées. Une valeur vide ou manquante est traitée comme un all implicite. Les valeurs de temps incluent cette heure de début.Type de données : chaîne Format : ISO 8601 (UTC), soit :
|
| sysparm_subject_limit | Limite de taille du résultat de la requête d’objet. Type de données : nombre Par défaut : 10 000 |
| sysparm_transforms | Liste des transformations séparées par des virgules. Transformations valides :
Type de données : chaîne Par défaut : aucun |
| Nom | Description |
|---|---|
| Néant |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Types pris en charge : application/json ou application/xml. Valeur par défaut : application/json |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 401 | Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de la réponse (JSON ou XML)
| Nom | Description |
|---|---|
| étiquette | Étiquette utilisée pour identifier l’ensemble de résultats de cette mesure. Type de données : chaîne |
| sérieRef | Résultats de séries de données. Type de données : tableau d’objets |
| sériesRef.metric | Nom de la mesure à partir de laquelle la série de données a été obtenue. S’affiche uniquement si l’objet metrics est transmis dans la demande. Type de données : chaîne |
| sérieRef.subject | Sys_id de l’enregistrement de séries de données. Situé dans la table spécifiée dans .seriesRef.table Type de données : chaîne |
| sériesRéf.table | Nom de la table à partir de laquelle la série de données a été obtenue. Type de données : chaîne |
| valeurs | Valeurs des séries transformées. Type de données : tableau d’objets |
| Valeurs.Horodatage | Horodatage de la valeur. Type de données : chaîne Format : ISO 8601 |
| valeurs.valeur | Valeurs de mesures. Type de données : nombre |
Demande 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"
Sortie :
[
{
"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
}
]
}
]
Séries chronologiques MetricBase : PUBLIER /now/clotho/accumulate
Accumule les valeurs de mesures à un horodatage spécifié et enregistre le résultat dans la base de données plutôt que de remplacer la valeur.
Utiliser cette API pour gérer les métriques qui peuvent être additionnées pour une accumulation, telles que les kilowattheures (kWh) d’électricité. Accumulate effectue un appel pour chaque mesure à l’horodatage fourni. Par exemple, les kilowatts collectés pour un chauffage, une bouilloire électrique et une machine à laver entraîneraient l’accumulation de trois appels.
Format d'URL
URL versionnée : /api/now/{api_version}/clotho/accumulate
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| default_value | Valeur par défaut pour l’accumulation à un horodatage donné. Utilisé uniquement lors du premier appel pour accumuler si une valeur n’est pas disponible pour un horodatage donné. Un cas d’utilisation pourrait être l’accumulation d’une mesure de watts pour une total_power. Vous souhaitez accumuler des watts pour un routeur connecté à une prise sans compteur électrique pour le mesurer. Si vous connaissez la valeur de consommation et qu’elle est constante), vous pouvez utiliser la valeur constante comme valeur par défaut pour accumuler total_power. Par exemple, vous en utiliseriez 20 si le routeur est constamment branché et consomme 20 watts. Type de données : chaîne Par défaut : 0 |
| sysparm_ignore_unknown_series | Marqueur indiquant s’il faut ignorer une série inconnue et continuer la transaction sans renvoyer d’erreur. Valeurs valides :
Par défaut : true |
| Nom | Description |
|---|---|
| sérieRef | Liste de chaînes représentant les informations de séries de données à mettre à jour. Type de données : tableau |
| sériesRef.metric | Requis. Nom de la mesure cumulée à mettre à jour. Type de données : chaîne |
| sérieRef.subject | Requis. Sys_id de l’enregistrement dans lequel mettre à jour les données. Type de données : chaîne Table : spécifiée dans seriesRef.table |
| sériesRéf.table | Requis. Nom de la table dans laquelle enregistrer les données. Type de données : chaîne |
| valeurs | Requis. Valeurs des séries à accumuler et à stocker. Les valeurs avec le même horodatage sont additionnées avec le paramètre de default_value requête. Type de données : tableau |
| Valeurs.Horodatage | Requis. Horodatage ISO 8601 de la valeur. Type de données : chaîne Format : AAAA-MM-jjTHH :mm :jjZ Le caractère représenté par « Z » désigne le fuseau horaire UTC dans un horodatage au format ISO. Cette partie du format d’horodatage est facultative. Exemple : |
| valeurs.valeur | Requis. Valeur de mesure. Type de données : nombre |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| Content-Type | Format de données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 401 | Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de la réponse (JSON ou XML)
| Nom | Description |
|---|---|
| message | Message indiquant la réussite (OK) ou l’erreur. |
Demande cURL
Cet exemple montre comment accumuler des valeurs de mesures à un horodatage donné.
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"
Résultats obtenus avec des résultats positifs.
{
"result": {
"message": "ok"
}
}
Séries chronologiques MetricBase : PUBLIER /now/clotho/transform
Récupère et regroupe éventuellement des données de séries chronologiques pour une ou plusieurs mesures après l’application d’une liste spécifiée de transformations qui forment un pipeline linéaire.
Format d'URL
URL versionnée : /api/now/{api_version}/clotho/transform
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| sysparm_display_value | Marqueur indiquant s’il faut étiqueter les données de résultat avec la valeur d’affichage de l’enregistrement objet si aucune autre étiquette n’est spécifiée. Valeurs valides :
Type de données : booléennes Valeur par défaut : false |
| Nom | Description |
|---|---|
| fin | Requis. Heure de fin de la période d’évaluation. Une valeur vide ou manquante est traitée comme l’heure actuelle. Les valeurs de temps sont incluses dans cette heure de fin. Type de données : chaîne Format : ISO 8601 (UTC), soit :
|
| limite | Nombre maximal d'enregistrements à renvoyer. Des valeurs inhabituellement élevées peuvent avoir un impact sur les performances du système. Type de données : nombre Par défaut : 10 000 |
| metrics | Liste des objets de mesures à utiliser dans la transformation. Pour en savoir plus sur les mesures, consultez Metrics. Type de données : tableau |
| metrics.groupBy | Liste de champs séparés par des virgules, contenus dans la table spécifiée dans le table paramètre, pour regrouper les séries avant de collecter ou d’appliquer des transformations agrégées. L’ordre des éléments de la liste est l’ordre dans lequel les données sont regroupées. Par exemple, si la liste comporte deux éléments, « état, code postal », la série est d’abord regroupée par état, puis par code postal au sein de l’état. Type de données : chaîne Par défaut : les données ne sont pas groupées. |
| metrics.label | Étiquette à utiliser pour l’ensemble de résultats de cette mesure. Il remplace toutes les étiquettes générées par la chaîne de transformation. Type de données : chaîne Par défaut : étiquette par défaut générée. |
| mesures.mesures | Requis si metrics l’objet est transmis. Champ de mesure à utiliser dans la transformation. Ce champ doit se trouver dans la table spécifiée dans le table paramètre. Type de données : chaîne |
| mesures.transformations | Liste des transformations (chaîne de transformation) à appliquer aux données de séries chronologiques récupérées. Chaque transformation s’appuie sur les résultats de la transformation précédente. Pour obtenir la liste des transformations disponibles, consultez Transformations prises en charge ci-dessous. Type de données : tableau d’objets |
| mesures.transformations.arg | En fonction de la transformation. Ou paramètres à transmettre dans la transformation. Directives générales :
Type de données : nombre, chaîne, booléen ou objet JSON, selon la transformation. (Pour obtenir la liste des transformations disponibles, consultez la table Transformations prises en charge ci-dessous.) |
| metrics.transforms.name | Requis si un transforms objet est spécifié. Nom de la transformation. Pour obtenir la liste des transformations disponibles, consultez la table Transformations prises en charge ci-dessous. Type de données : chaîne |
| query | Requête codée à utiliser pour filtrer l’ensemble de résultats. Vous pouvez composer la requête à l’aide de l’éditeur de filtre de la table spécifiée. Une fois créée, sélectionnez Copier l’URL dans le menu contextuel Fils d’Ariane du filtre. Type de données : chaîne Par défaut : aucun |
| début | Requis. Heure de début de la période d’évaluation. La valeur spéciale all peut être utilisée pour définir l’heure de début comme étant l’heure actuelle moins la période de conservation maximale des mesures spécifiées. Une valeur vide ou manquante est traitée comme un all implicite. Les valeurs de temps incluent cette heure de début.Type de données : chaîne Format : ISO 8601 (UTC), soit :
|
| table | Requis. Nom de la table qui contient le GlideRecord associé à cette série. Type de données : chaîne |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| Content-Type | Format de données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 400 | Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté. |
| 401 | Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises. |
| 404 | Introuvable. L’élément demandé est introuvable. |
| 405 | Méthode non valide. La fonctionnalité est désactivée. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de la réponse (JSON ou XML)
| Nom | Description |
|---|---|
| résultats | Zéro ou plusieurs objets de résultat de retour qui satisfont la requête. Contient soit un series tableau, soit un grouped tableau. Type de données : tableau |
| résultats.groupés | Liste des objets de résultat groupés où chaque grouped objet de résultat correspond à un groupe spécifique. Ce format est renvoyé lorsque le metrics.groupBy paramètre est transmis dans le corps de la demande. Type de données : tableau |
| résultats.grouped.regroupement | Valeur transmise dans le metrics.groupBy paramètre dans la demande. Type de données : chaîne |
| résultats.grouped.groupes | Liste des groupes générés en fonction du contenu du metrics.groupBy paramètre dans la demande. Type de données : tableau |
| results.grouped.groups.group | Nom du groupe. Type de données : chaîne |
| résultats.grouped.groupes.étiquette | Étiquette du groupe. Type de données : chaîne |
| résultats.grouped.groupes.séries | Valeurs transformées pour le résultat du groupe. Type de données : tableau |
| résultats.grouped.groupes.séries.étiquette | Étiquette de la série. Type de données : chaîne |
| résultats.grouped.groupes.série.sérieRef | Résultats d’une seule série de données. N’apparaît pas s’il y a plusieurs séries de données dans la réponse. Type de données : objet |
| résultats.grouped.groupes.series.seriesRef.metric | Nom de la mesure à partir de laquelle la série de données a été obtenue. S’affiche uniquement si l’objet metrics est transmis dans la demande. Type de données : chaîne |
| résultats.grouped.groupes.séries.sériesRef.sujet | Sys_id de l’enregistrement de séries de données. Type de données : chaîne Table : la table spécifie le paramètre in results.series.seriesRef.table . |
| résultats.grouped.groupes.series.seriesRef.table | Nom de la table à partir de laquelle la série de données a été obtenue. Type de données : chaîne |
| résultats.grouped.groupes.séries.valeurs | Liste des valeurs de résultat pour le groupe. Type de données : tableau |
| résultats.grouped.groupes.séries.valeurs.horodatage | Horodatage ISO 8601 de la valeur. Type de données : chaîne |
| résultats.grouped.groupes.séries.valeurs.valeur | Valeur transformée. Type de données : nombre |
| résultats.marqueur | Identificateur unique pour les résultats correspondants. Type de données : chaîne |
| Résultats.Série | Liste des séries dissociées d’objets de résultat. Type de données : tableau d’objets |
| Étiquette.Séries.Résultats | Étiquette de série de données. Cette valeur est générée par le point de terminaison ou est la valeur transmise dans le metrics.label paramètre. Type de données : chaîne |
| résultats.série.sérieRef | Résultats d’une seule série de données. N’apparaît pas s’il y a plusieurs séries de données dans la réponse. Type de données : objet |
| résultats.séries.séries.mesures. | Nom de la mesure à partir de laquelle la série de données a été obtenue. S’affiche uniquement si l’objet metrics est transmis dans la demande. Type de données : chaîne |
| résultats.série.sériesRef.sujet | Sys_id de l’enregistrement de séries de données. Type de données : chaîne Table : spécifiée dans le results.series.seriesRef.table paramètre. |
| résultats.série.sériesRéf.table | Nom de la table à partir de laquelle la série de données a été obtenue. Type de données : chaîne |
| résultats.séries.valeurs | Valeurs des séries transformées. Type de données : tableau d’objets |
| résultats.séries.valeurs.horodatage | Horodatage ISO 8601 de la valeur. Type de données : chaîne |
| résultats.séries.valeurs.valeur | Valeur transformée. Type de données : nombre |
Transformations prises en charge
| Transformer | Description |
|---|---|
| ajouter | Ajoute le nombre spécifié à chaque valeur d’horodatage. Argument : arg (type de données décimal) – nombre à ajouter. Par exemple : |
| corrélation automatique | Calcule la corrélation entre les valeurs d’horodatage séparées par un nombre croissant de périodes à partir de 1. |
| Avg | Agrège les séries chronologiques en une seule série contenant la valeur moyenne de chaque horodatage correspondant sur l’entrée. |
| bas | Renvoie le nombre spécifié de séries qui ont les valeurs les plus basses. Argument : arg (entier) – Le nombre de séries à renvoyer. Par exemple, l’élément suivant renvoie les deux séries chronologiques qui contiennent les ensembles de valeurs les plus bas. |
| Ceil | Arrondit la valeur de chaque horodatage jusqu’à la précision spécifiée : ceil(value / <arg>) * <arg>) Argument : arg (type de données décimales) : précision décimale à arrondir à. |
| recueillir | Affiche les résultats de transformation de la chaîne de transformation jusqu’au point de l’appel de transformation de collecte. La collecte des résultats de transformation contient un marqueur unique, mais vous pouvez également définir une étiquette. Par exemple : |
| constrainValues | Remplace toute valeur en dehors de la plage spécifiée par la valeur maximale ou minimale correspondante. Par exemple, si vous avez spécifié les éléments suivants, la transformation remplace toute valeur inférieure à 0 par 0, et toute valeur supérieure à 100 par 100. Arguments:
|
| compter | Regroupe les séries chronologiques en une seule série. La nouvelle série contient le nombre de valeurs qui ne sont pas NaN (Not a Number) pour chaque horodatage correspondant dans la série. |
| dérivé | Détermine le taux de changement entre les horodatages. Divise la différence entre la valeur de chaque horodatage et la valeur de l’horodatage suivant par le point de l’horodatage. Remarque : Cette transformation renvoie une valeur de moins que le nombre de valeurs dans la série. |
| div | Divise la valeur de chaque horodatage par le nombre spécifié (arg). Argument : arg (Décimal – Le nombre par lequel diviser la valeur de chaque horodatage. |
| enveloppe | Renvoie deux séries chronologiques dans lesquelles, à tout moment, l’une contient la valeur la plus élevée et l’autre la valeur la plus petite. Remarque : Les NaN sont ignorées, mais sont renvoyées s’il n’y a pas d’autres valeurs de retour. |
| Exp | Élève la valeur de la base spécifiée à la puissance de la valeur dans chaque horodatage. Argument : arg (type de données décimal) : valeur de base. |
| filtre | Applique un agrégateur au contenu d’une fenêtre mobile, tel que la production d’une moyenne mobile. Arguments:
|
| sol | Arrondit la valeur de chaque horodatage à la précision spécifiée : floor(value / <arg>) * <arg> Argument : arg (type de données décimal) : précision décimale à laquelle arrondir à la baisse. |
| fractiles | Renvoie une série chronologique pour chaque fraction du tableau spécifié. Chaque valeur d’horodatage est la valeur à laquelle la fraction de valeurs spécifiée, pour l’horodatage correspondant dans la série d’entrées, est inférieure au pourcentage spécifié. Par exemple, si la fraction est de 0,5, la valeur de l’horodatage est la valeur où la moitié des valeurs de la série d’entrée sont inférieures à 0,5. Argument : arg (tableau décimal) – Les fractions à utiliser sur la série d’entrée. Par exemple : |
| groupBy | Regroupe les données selon les champs spécifiés avant de collecter ou d’appliquer des transformations agrégées. Argument : arg (chaîne) : liste de champs séparés par des virgules dans la table à utiliser pour regrouper les résultats de transformation. Par exemple : |
| intégrer | Multiplie la valeur de chaque horodatage par son point. |
| interpoler | Crée une valeur de données pour un élément de données NaN en l’interpolant à partir des valeurs de données adjacentes. Argument : arg (entier) : nombre d’échantillons de données dans chaque direction pour vérifier une valeur non-NaN. Si aucune valeur non NaN n’est trouvée, NaN est utilisé. |
| inverse | Calcule l’inverse de chaque valeur d’horodatage. |
| Iqr | Effectue une transformation de l’intervalle interquartile et crée un jeu de résultats contenant quatre séries :
Remarque : IQR = Q3 - Q1 |
| étiquette | Étiquette une chaîne de transformation. Remarque : Les transformations ultérieures peuvent modifier ou remplacer l’étiquette. Argument : arg (chaîne) : texte de l’étiquette. Peut contenir les expressions de mise en forme suivantes :
Par exemple :
|
| limite | Renvoie au maximum la durée ou le nombre de valeurs spécifiées, en commençant par la dernière valeur enregistrée. Arguments:
|
| journal | Exécute un logarithme sur la valeur de chaque horodatage où le résultat est le journal de la base spécifiée pour la valeur d’horodatage. Argument : arg (type de données décimal) : base du calcul du logarithme. |
| valeurs de mappage | Remplace toutes les valeurs se trouvant dans la plage spécifiée (incluse) par la valeur spécifiée. Si les deux lowerBound et upperBound sont spécifiés comme NaN, toute valeur NaN est remplacée par la targetValuevaleur . Arguments:
Par exemple, les éléments suivants modifient toutes les valeurs des séries chronologiques comprises entre 0,1 et 0,9 à 1 : |
| max. | Renvoie une série qui contient la valeur maximale pour chaque horodatage correspondant sur l’entrée. |
| médian | Crée une série qui contient la médiane des valeurs de chaque horodatage dans un ensemble de séries. S’il existe n séries :
|
| min. | Renvoie une série qui contient la valeur minimale pour chaque horodatage correspondant sur l’entrée. |
| mul | Multiplie la valeur de chaque horodatage par le nombre spécifié. Argument : arg (type de données décimal) – nombre par lequel multiplier la valeur de chaque horodatage. |
| partition | Produit une nouvelle série avec des valeurs filtrées en appliquant un agrégateur spécifié à une fenêtre sans chevauchement. Arguments:
|
| prisonnier de guerre | Augmente chaque valeur d’horodatage à la puissance spécifiée. Argument : arg (type de données décimal) – Puissance à laquelle élever chaque valeur. |
| produit | Agrège la série de mesures sélectionnée en une seule série qui contient le produit de toutes les valeurs pour chaque horodatage. Les NaN sont exclus. Si tous les nombres de la série sont NaN, la sortie est également NaN. |
| Resample | Rééchantillonne une série temporelle à un nombre fixe de points ou d’une fréquence à une autre. Utilisez la transformation de rééchantillonnage pour réduire le nombre d’échantillons dans le jeu de résultats afin de mieux correspondre au nombre d’échantillons que vous souhaitez afficher. Arguments : vous pouvez transmettre divers arguments pour cette transformation. Vous trouverez ci-dessous une liste de chacun des groupes d’arguments possibles. Un seul de ces groupes d’arguments peut être transmis dans une seule transformation. Les groupes d’arguments suivants sont délimités par ET/OU. ET signifiant que l’argument fait partie du groupe actuel ; OU signifiant que c’est le début d’un nouveau groupe d’arguments.
|
| arrondi | Arrondit la valeur de chaque horodatage jusqu’à la précision spécifiée : (value / <arg>) * <arg> Argument : arg (type de données décimal) – Précision décimale à arrondir à. |
| racine | Calcule la racine de chaque valeur d’horodatage à l’aide de l’index spécifié. Argument : arg (type de données décimal) – Index de la racine. Par exemple, l’élément suivant renvoie la racine carrée de chaque horodatage : |
| écart-type | Crée une série qui contient l’écart-type des valeurs pour chaque horodatage dans un ensemble de séries. |
| sub | Soustrait le nombre spécifié de la valeur de chaque horodatage. Argument : arg (Nombre) – Le nombre à soustraire de la valeur dans chaque horodatage. |
| somme | Agrège la série de mesures sélectionnée en une série qui contient la somme de toutes les valeurs pour chaque horodatage, à l’exclusion des NaN. Si tous les nombres de la série sont NaN, la sortie est NaN. |
| Décalage horaire | Décale la plage horaire en ajoutant le décalage spécifié à l’horodatage d’une valeur sans modifier la valeur. Utilisez cette transformation pour déplacer les horodatages vers un autre fuseau horaire. Argument : arg (type de données Durée) – Durée du décalage. |
| top | Renvoie le nombre spécifié de séries qui ont les valeurs les plus élevées. Argument : arg (entier) – Le nombre de séries à renvoyer. Par exemple, l’élément suivant renvoie les deux séries chronologiques qui contiennent les ensembles de valeurs les plus élevés. |
| Type de données | Description |
|---|---|
| Agrégateur | Agrégateurs disponibles à utiliser dans la transformation.
|
| Date/Heure | Les valeurs de date/heure absolues sont spécifiées par le format de date et d’heure ISO 8601 : AAAA-MM-JJThh :mm :ss. Par exemple : 2020-02-28T13:10:42.Où :
Les valeurs date/heure relatives sont spécifiées à l’aide d’une durée (type de données Durée), qui est soustraite de l’heure actuelle. Par exemple : P7D = il y a sept jours. |
| Décimal | Valeur décimale qui peut être :
|
| Durée | Durée dans un intervalle de temps. Les valeurs de durée sont spécifiées par le format de durée ISO 8601 : P[n]Y[n]M[n]DT[n]H[n]M[n]S Où :
Par exemple :
|
Demande 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"\
}\
]\
}\
]\
} \
Sortie :
"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
}
]
}
}
]
}
]
}
]
Séries chronologiques MetricBase : POST /now/clotho/transform/stream
Renvoie un flux de données de séries chronologiques transformées pour une ou plusieurs mesures après application de la liste spécifiée des transformations.
La diffusion des données en continu de cette manière vous permet de traiter les données au fur et à mesure que les transformations individuelles sont terminées et renvoyées, plutôt que d’attendre que tous les résultats de transformation soient terminés et téléchargés. Si de grandes quantités de données doivent être traitées par le client, ce type de traitement réduit le temps de traitement de bout en bout et réduit potentiellement l’utilisation de la mémoire sur le client.
- Spécifier les données diffusées à encoder au format binaire,
- Sérialiser les données diffusées dans un tableau JSON, ou
- Transmettre les données au client dans un format CSV large ou étroit.
Format d'URL
URL versionnée : /api/now/{api_version}/clotho/transform/stream
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Facultatif. Version du point de terminaison auquel accéder. Par exemple, v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| sysparm_display_value | Marqueur indiquant s’il faut étiqueter les données de résultat avec la valeur d’affichage de l’enregistrement objet si aucune autre étiquette n’est spécifiée. Valeurs valides :
Type de données : booléennes Valeur par défaut : false |
| Nom | Description |
|---|---|
| fin | Requis. Heure de fin de la période d’évaluation. Une valeur vide ou manquante est traitée comme l’heure actuelle. Les valeurs de temps sont incluses dans cette heure de fin. Type de données : chaîne Format : ISO 8601 (UTC), soit :
|
| limite | Nombre maximal d'enregistrements à renvoyer. Des valeurs inhabituellement élevées peuvent avoir un impact sur les performances du système. Type de données : nombre Par défaut : 10 000 |
| metrics | Liste des objets de mesures à utiliser dans la transformation. Pour en savoir plus sur les mesures, consultez Mesures. Type de données : tableau |
| metrics.label | Étiquette à utiliser pour l’ensemble de résultats de cette mesure. Il remplace toutes les étiquettes générées par la chaîne de transformation. Type de données : chaîne Par défaut : étiquette par défaut générée. |
| mesures.mesures | Requis si metrics l’objet est transmis. Champ de mesure à utiliser dans la transformation. Ce champ doit se trouver dans la table spécifiée dans le table paramètre. Type de données : chaîne |
| mesures.transformations | Liste des transformations (chaîne de transformation) à appliquer aux données de séries chronologiques récupérées. Chaque transformation s’appuie sur les résultats de la transformation précédente. Pour obtenir la liste des transformations disponibles, consultez Transformations prises en charge ci-dessous. Type de données : tableau d’objets |
| mesures.transformations.arg | En fonction de la transformation. Ou paramètres à transmettre dans la transformation. Directives générales :
Type de données : nombre, chaîne, booléen ou objet JSON, selon la transformation. (Pour obtenir la liste des transformations disponibles, consultez la table Transformations prises en charge ci-dessous.) |
| metrics.transforms.name | Requis si un transforms objet est spécifié. Nom de la transformation. Pour obtenir la liste des transformations disponibles, consultez la table Transformations prises en charge ci-dessous. Type de données : chaîne |
| query | Requête codée à utiliser pour filtrer l’ensemble de résultats. Vous pouvez composer la requête à l’aide de l’éditeur de filtre de la table spécifiée. Une fois créée, sélectionnez Copier l’URL dans le menu contextuel Fils d’Ariane du filtre. Type de données : chaîne Par défaut : aucun |
| début | Requis. Heure de début de la période d’évaluation. La valeur spéciale all peut être utilisée pour définir l’heure de début comme étant l’heure actuelle moins la période de conservation maximale des mesures spécifiées. Une valeur vide ou manquante est traitée comme un all implicite. Les valeurs de temps incluent cette heure de début.Type de données : chaîne Format : ISO 8601 (UTC), soit :
|
| table | Requis. Nom de la table qui contient le GlideRecord associé à cette série. Type de données : chaîne |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend en charge les éléments suivants :
text/csv ; format=étroit ou texte/csv ; format=large. |
| Content-Type | Format de données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Néant | Format de données du corps de la réponse. En fonction des valeurs Accepter spécifiées de la demande, utilisez :
Si plusieurs types d’acceptation sont spécifiés, le premier type pris en charge est renvoyé. |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été traitée avec succès et la diffusion des données commence. Remarque : Une réponse de type 200 peut toujours entraîner une erreur de traitement en cours de route pendant le calcul des transformations. |
| 400 | Demande incorrecte. Un type de demande incorrecte ou mal formé a été détecté. |
| 401 | Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises. |
| 404 | Introuvable. L’élément demandé est introuvable. |
| 405 | Méthode non valide. La fonctionnalité est désactivée. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de réponse (flux d’octets ou JSON)
| Nom | Description |
|---|---|
| Flux de sortie (flux d’octets) | Si l’en-tête Accepter la demande est défini sur application/octet-stream, les données MetricBase correspondantes sont renvoyées sous forme de flux binaire sérialisé. Les applications Clotho-Util for Java fournissent un désérialiseur qui vous permet d’analyser ces données. Le flux consiste en une sérialisation binaire de chaque donnée, précédée d’un entier représentant sa longueur. Les entrées suivantes décrivent les données dans la représentation binaire et l’ordre de ces données. |
| Flux CSV (flux UTF-8) | Si l’en-tête Accepter la demande est défini sur text/csv, les données MetricBase correspondantes sont renvoyées sous forme de données CSV encodées UTF-8 dans des formats larges ou étroits. Un format étroit renvoie des colonnes d’objet et d’horodatage et une colonne pour chaque mesure renvoyée. Un format large renvoie une colonne d’horodatage avec une colonne distincte pour chaque paire mesure-sujet. |
| Objet | Source des données. Par exemple, si la mesure des données est l’altitude des drones, cette valeur peut être l’ID d’un drone spécifique. Si deux points sont inclus dans la valeur, les parties suivant l’objet représentent la mesure dont les données font partie. Les valeurs Null sont représentées par une chaîne vide codée. Type de données : chaîne (UTF modifié par Java) Taille : 2+ octets |
| Dimension | Mesure d’où proviennent les données. Les valeurs Null sont représentées par une chaîne vide codée. Type de données : chaîne (UTF modifié par Java) Taille : 2+ octets |
| Étiquette | Étiquette des données. Les valeurs Null sont représentées par une chaîne vide codée. Type de données : chaîne (UTF modifié par Java) Taille : 2+ octets |
| Type | Type de données codées en octets. Valeurs possibles :
Type de données : Octet Taille : 1 octet |
| Marqueurs | Variable codée serializeFlags . Si serializeTags la valeur est vrai et que les données contiennent des balises, la valeur est 2, sinon elle est 0. Type de données : Octet Taille : 1 octet |
| Période | Période associée aux données. Type de données : nombre (entier) Taille : 4 octets |
| Nombre de balises | Si serializeTags la valeur est vrai, il s’agit du nombre de balises stockées dans les données. Type de données : nombre (entier) Taille : 4 octets |
| Balises | Si serializeTags la valeur est vrai, chaque balise est stockée dans les données. Type de données : chaîne (UTF modifié par Java) Taille : dépend du nombre de balises (2+ octets). |
| Commencer l’époque en secondes | Heure Epoch UTC représentant l’heure de début de cette série de données. Type de données : nombre (long) Taille : 8 octets |
| Nombre de valeurs | Nombre de valeurs stockées dans ces données. Type de données : nombre (entier) Taille : 4 octets |
| Valeurs | Si Type est un signal flottant, le reste est constitué de valeurs flottantes. Taille : Number of Values * 4 Type de données : nombre (flottant) |
| Valeurs | Si Type est Double signal, alors le reste est constitué de valeurs doubles. Type de données : nombre (double) Taille : Number of Values * 4 octets |
| JSON du modèle (modèle) | S’il Type s’agit d’un modèle flottant ou d’un modèle double, le reste est une chaîne UTF modifiée Java représentant le modèle au format JSON. Type de données : chaîne (UTF modifié par Java) Taille : 2+ octets |
| Marqueur de grand modèle (grand modèle) | Si la longueur du JSON du modèle est supérieure à 65 535 octets, alors ce champ est écrit à la place de .Model Json Type de données : chaîne (UTF modifié par Java) Taille : 5 |
| Taille du grand modèle (grand modèle) | Longueur de la représentation JSON du grand modèle. Type de données : nombre (entier) Taille : 4 octets |
| JSON de grand modèle (grand modèle) | Représentation JSON du modèle sous la forme d’une série de caractères UTF. La taille est dictée par le Big Model Size champ. Type de données : chaîne (caractères UTF) Taille : 65535-256000 octets |
| Flux JSON (JSON) | Si l’en-tête Accepter la demande est défini sur application/json, les données MetricBase correspondantes sont renvoyées sous la forme d’un flux de nouveaux objets JSON séparés par des lignes. Les entrées suivantes décrivent les éléments possibles dans chaque objet renvoyé. |
| étiquette | Étiquette des données. Cette valeur est générée par le point de terminaison ou est la valeur transmise dans le metrics.label paramètre. Type de données : chaîne |
| période | Durée entre chaque valeur. Par exemple, une période de 60 signifie que chaque valeur est séparée d’une minute. Type de données : nombre Unité : Secondes |
| gamme | Heures de début et de fin des données Type de données : tableau Format : ISO 8601 (UTC) |
| séries | Identifie les données individuelles. Si elle est présente, elle se présente généralement sous la forme de [ID d’enregistrement Glide] : [mesure]. Cela peut ne pas être présent lors de l’utilisation de transformations.Type de données : chaîne |
| espèce | Type de données de retour. Pour une série de valeurs flottantes ou doubles, il s’agit soit d’une FLOAT_SIGNAL, soit d’une DOUBLE_SIGNAL. Pour un modèle destiné à analyser des données flottantes ou doubles, il s’agit soit d’un FLOAT_MODEL, soit d’un DOUBLE_MODEL. Type de données : chaîne |
| balises | Balises associées aux données. Type de données : tableau de chaînes |
| valide | Valeurs flottantes ou doubles pour les données. Type de données : tableau de nombres |
| erreur | Message d’erreur si la transformation de la série de données spécifiée échoue. Type de données : chaîne |
Transformations prises en charge
| Transformer | Description |
|---|---|
| ajouter | Ajoute le nombre spécifié à chaque valeur d’horodatage. Argument : arg (type de données décimal) – nombre à ajouter. Par exemple : |
| corrélation automatique | Calcule la corrélation entre les valeurs d’horodatage séparées par un nombre croissant de périodes à partir de 1. |
| Avg | Agrège les séries chronologiques en une seule série contenant la valeur moyenne de chaque horodatage correspondant sur l’entrée. |
| bas | Renvoie le nombre spécifié de séries qui ont les valeurs les plus basses. Argument : arg (entier) – Le nombre de séries à renvoyer. Par exemple, l’élément suivant renvoie les deux séries chronologiques qui contiennent les ensembles de valeurs les plus bas. |
| Ceil | Arrondit la valeur de chaque horodatage jusqu’à la précision spécifiée : ceil(value / <arg>) * <arg>) Argument : arg (type de données décimales) : précision décimale à arrondir à. |
| recueillir | Affiche les résultats de transformation de la chaîne de transformation jusqu’au point de l’appel de transformation de collecte. La collecte des résultats de transformation contient un marqueur unique, mais vous pouvez également définir une étiquette. Par exemple : |
| constrainValues | Remplace toute valeur en dehors de la plage spécifiée par la valeur maximale ou minimale correspondante. Par exemple, si vous avez spécifié les éléments suivants, la transformation remplace toute valeur inférieure à 0 par 0, et toute valeur supérieure à 100 par 100. Arguments:
|
| compter | Regroupe les séries chronologiques en une seule série. La nouvelle série contient le nombre de valeurs qui ne sont pas NaN (Not a Number) pour chaque horodatage correspondant dans la série. |
| dérivé | Détermine le taux de changement entre les horodatages. Divise la différence entre la valeur de chaque horodatage et la valeur de l’horodatage suivant par le point de l’horodatage. Remarque : Cette transformation renvoie une valeur de moins que le nombre de valeurs dans la série. |
| div | Divise la valeur de chaque horodatage par le nombre spécifié (arg). Argument : arg (Décimal – Le nombre par lequel diviser la valeur de chaque horodatage. |
| enveloppe | Renvoie deux séries chronologiques dans lesquelles, à tout moment, l’une contient la valeur la plus élevée et l’autre la valeur la plus petite. Remarque : Les NaN sont ignorées, mais sont renvoyées s’il n’y a pas d’autres valeurs de retour. |
| Exp | Élève la valeur de la base spécifiée à la puissance de la valeur dans chaque horodatage. Argument : arg (type de données décimal) : valeur de base. |
| filtre | Applique un agrégateur au contenu d’une fenêtre mobile, tel que la production d’une moyenne mobile. Arguments:
|
| sol | Arrondit la valeur de chaque horodatage à la précision spécifiée : floor(value / <arg>) * <arg> Argument : arg (type de données décimal) : précision décimale à laquelle arrondir à la baisse. |
| fractiles | Renvoie une série chronologique pour chaque fraction du tableau spécifié. Chaque valeur d’horodatage est la valeur à laquelle la fraction de valeurs spécifiée, pour l’horodatage correspondant dans la série d’entrées, est inférieure au pourcentage spécifié. Par exemple, si la fraction est de 0,5, la valeur de l’horodatage est la valeur où la moitié des valeurs de la série d’entrée sont inférieures à 0,5. Argument : arg (tableau décimal) – Les fractions à utiliser sur la série d’entrée. Par exemple : |
| groupBy | Regroupe les données selon les champs spécifiés avant de collecter ou d’appliquer des transformations agrégées. Argument : arg (chaîne) : liste de champs séparés par des virgules dans la table à utiliser pour regrouper les résultats de transformation. Par exemple : |
| intégrer | Multiplie la valeur de chaque horodatage par son point. |
| interpoler | Crée une valeur de données pour un élément de données NaN en l’interpolant à partir des valeurs de données adjacentes. Argument : arg (entier) : nombre d’échantillons de données dans chaque direction pour vérifier une valeur non-NaN. Si aucune valeur non NaN n’est trouvée, NaN est utilisé. |
| inverse | Calcule l’inverse de chaque valeur d’horodatage. |
| Iqr | Effectue une transformation de l’intervalle interquartile et crée un jeu de résultats contenant quatre séries :
Remarque : IQR = Q3 - Q1 |
| étiquette | Étiquette une chaîne de transformation. Remarque : Les transformations ultérieures peuvent modifier ou remplacer l’étiquette. Argument : arg (chaîne) : texte de l’étiquette. Peut contenir les expressions de mise en forme suivantes :
Par exemple :
|
| limite | Renvoie au maximum la durée ou le nombre de valeurs spécifiées, en commençant par la dernière valeur enregistrée. Arguments:
|
| journal | Exécute un logarithme sur la valeur de chaque horodatage où le résultat est le journal de la base spécifiée pour la valeur d’horodatage. Argument : arg (type de données décimal) : base du calcul du logarithme. |
| valeurs de mappage | Remplace toutes les valeurs se trouvant dans la plage spécifiée (incluse) par la valeur spécifiée. Si les deux lowerBound et upperBound sont spécifiés comme NaN, toute valeur NaN est remplacée par la targetValuevaleur . Arguments:
Par exemple, les éléments suivants modifient toutes les valeurs des séries chronologiques comprises entre 0,1 et 0,9 à 1 : |
| max. | Renvoie une série qui contient la valeur maximale pour chaque horodatage correspondant sur l’entrée. |
| médian | Crée une série qui contient la médiane des valeurs de chaque horodatage dans un ensemble de séries. S’il existe n séries :
|
| min. | Renvoie une série qui contient la valeur minimale pour chaque horodatage correspondant sur l’entrée. |
| mul | Multiplie la valeur de chaque horodatage par le nombre spécifié. Argument : arg (type de données décimal) – nombre par lequel multiplier la valeur de chaque horodatage. |
| partition | Produit une nouvelle série avec des valeurs filtrées en appliquant un agrégateur spécifié à une fenêtre sans chevauchement. Arguments:
|
| prisonnier de guerre | Augmente chaque valeur d’horodatage à la puissance spécifiée. Argument : arg (type de données décimal) – Puissance à laquelle élever chaque valeur. |
| produit | Agrège la série de mesures sélectionnée en une seule série qui contient le produit de toutes les valeurs pour chaque horodatage. Les NaN sont exclus. Si tous les nombres de la série sont NaN, la sortie est également NaN. |
| Resample | Rééchantillonne une série temporelle à un nombre fixe de points ou d’une fréquence à une autre. Utilisez la transformation de rééchantillonnage pour réduire le nombre d’échantillons dans le jeu de résultats afin de mieux correspondre au nombre d’échantillons que vous souhaitez afficher. Arguments : vous pouvez transmettre divers arguments pour cette transformation. Vous trouverez ci-dessous une liste de chacun des groupes d’arguments possibles. Un seul de ces groupes d’arguments peut être transmis dans une seule transformation. Les groupes d’arguments suivants sont délimités par ET/OU. ET signifiant que l’argument fait partie du groupe actuel ; OU signifiant que c’est le début d’un nouveau groupe d’arguments.
|
| arrondi | Arrondit la valeur de chaque horodatage jusqu’à la précision spécifiée : (value / <arg>) * <arg> Argument : arg (type de données décimal) – Précision décimale à arrondir à. |
| racine | Calcule la racine de chaque valeur d’horodatage à l’aide de l’index spécifié. Argument : arg (type de données décimal) – Index de la racine. Par exemple, l’élément suivant renvoie la racine carrée de chaque horodatage : |
| écart-type | Crée une série qui contient l’écart-type des valeurs pour chaque horodatage dans un ensemble de séries. |
| sub | Soustrait le nombre spécifié de la valeur de chaque horodatage. Argument : arg (Nombre) – Le nombre à soustraire de la valeur dans chaque horodatage. |
| somme | Agrège la série de mesures sélectionnée en une série qui contient la somme de toutes les valeurs pour chaque horodatage, à l’exclusion des NaN. Si tous les nombres de la série sont NaN, la sortie est NaN. |
| Décalage horaire | Décale la plage horaire en ajoutant le décalage spécifié à l’horodatage d’une valeur sans modifier la valeur. Utilisez cette transformation pour déplacer les horodatages vers un autre fuseau horaire. Argument : arg (type de données Durée) – Durée du décalage. |
| top | Renvoie le nombre spécifié de séries qui ont les valeurs les plus élevées. Argument : arg (entier) – Le nombre de séries à renvoyer. Par exemple, l’élément suivant renvoie les deux séries chronologiques qui contiennent les ensembles de valeurs les plus élevés. |
| Type de données | Description |
|---|---|
| Agrégateur | Agrégateurs disponibles à utiliser dans la transformation.
|
| Date/Heure | Les valeurs de date/heure absolues sont spécifiées par le format de date et d’heure ISO 8601 : AAAA-MM-JJThh :mm :ss. Par exemple : 2020-02-28T13:10:42.Où :
Les valeurs date/heure relatives sont spécifiées à l’aide d’une durée (type de données Durée), qui est soustraite de l’heure actuelle. Par exemple : P7D = il y a sept jours. |
| Décimal | Valeur décimale qui peut être :
|
| Durée | Durée dans un intervalle de temps. Les valeurs de durée sont spécifiées par le format de durée ISO 8601 : P[n]Y[n]M[n]DT[n]H[n]M[n]S Où :
Par exemple :
|
Demande cURL
L’exemple suivant montre comment appeler ce point de terminaison pour renvoyer un flux JSON pour les mesures de la table mb_demo_drone. Remarque : Bien que les objets de cet exemple soient développés en plusieurs lignes pour plus de lisibilité, dans un résultat réel, chaque objet renvoyé est sur sa propre ligne. Vous pouvez effectuer le même appel et renvoyer un flux d’octets en définissant --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\"\
}\
]\
}\
]\
}"
Réponse :
[
{
"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
}
]
L’exemple cURL suivant utilise l’option de format CSV pour diffuser les valeurs d’altitude (stockées dans la base de données sous le nom de « mb_demo_mt_altitude ») du dernier jour pour chaque drone stocké dans la table mb_demo_drone [Drones] du module d’extension Démonstration Metricbase. Dans l’exemple, les données sont renvoyées sous forme de tableau étroit avec trois colonnes : le Sys_id du sujet identifiant le drone, l’horodatage de la valeur et la valeur d’altitude.
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\": []\
}]\
}"
Sortie :
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
Séries chronologiques MetricBase : POST /now/clotho/put
Ajoute des données de séries chronologiques à la MetricBase base de données.
Format d'URL
URL versionnée : /api/now/{api_version}/clotho/put
Paramètres de demande pris en charge
| Nom | Description |
|---|---|
| api_version | Version du point de terminaison auquel accéder. Exemple : v1 ou v2. Spécifiez uniquement cette valeur pour utiliser une version de point de terminaison différente de la dernière. Type de données : chaîne |
| Nom | Description |
|---|---|
| sysparm_ignore_unknown_series | Marqueur indiquant s’il faut ignorer les séries inconnues et continuer la transaction sans renvoyer d’erreur. Valeurs valides :
Par défaut : true |
| Nom | Description |
|---|---|
| sérieRef | Requis. Informations à mettre à jour. Type de données : tableau d’objets |
| sériesRef.metric | Requis. Nom de la mesure à mettre à jour. Type de données : chaîne |
| sérieRef.subject | Requis. Sys_id de l’enregistrement dans lequel mettre à jour les données. Type de données : chaîne Table : spécifiée dans le seriesRef.table paramètre. |
| sériesRéf.table | Requis. Nom de la table dans laquelle enregistrer les données. Type de données : chaîne |
| valeurs | Requis. Valeurs des séries à stocker. Type de données : tableau |
| Valeurs.Horodatage | Requis. Horodatage ISO 8601 de la valeur. Type de données : chaîne Format : La terminaison 'Z', qui désigne le fuseau horaire UTC dans un horodatage au format ISO, est facultative. |
| valeurs.valeur | Requis. Valeur de mesure. Type de données : nombre |
En-têtes
Les en-têtes de demande et de réponse suivants s'appliquent à cette action HTTP uniquement ou s'appliquent à cette action d'une manière distincte. Pour obtenir la liste des en-têtes généraux utilisés dans l’API REST, consultez En-têtes d’API REST pris en charge.
| En-tête | Description |
|---|---|
| Accepter | Format de données du corps de la réponse. Prend uniquement en charge application/json. |
| Content-Type | Format de données du corps de la demande. Prend uniquement en charge application/json. |
| En-tête | Description |
|---|---|
| Aucun |
Codes d'état
Les codes d'état suivants s'appliquent à cette action HTTP. Pour obtenir la liste des codes d’état possibles utilisés dans l’API REST, consultez Codes de réponse HTTP de l’API REST.
| Code d'état | Description |
|---|---|
| 200 | Réussi. La demande a été correctement traitée. |
| 401 | Non autorisé. Les informations d'identification de l'utilisateur sont incorrectes ou n'ont pas été transmises. |
| 500 | Erreur interne du serveur. Une erreur inattendue s'est produite lors du traitement de la demande. La réponse contient des informations supplémentaires sur l'erreur. |
Paramètres du corps de la réponse (JSON ou XML)
| Nom | Description |
|---|---|
| message | Message qui indique l’état de la demande, par exemple OK si la demande a été traitée avec succès. |
Demande 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"
}
}