API de séries chronologiques MetricBase

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 59 minutes de lecture
  • 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

    Tableau 1. Paramètres de chemin d'accès
    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

    Tableau 2. Paramètres de requête
    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 :
    • vrai : les données de résultat sont étiquetées avec la valeur d’affichage de l’enregistrement d’objet.
    • faux : les données de résultat ne sont pas étiquetées avec la valeur d’affichage de l’enregistrement d’objet.

    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 :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], tel que 2019-03-20T17:04:55.
    • Par rapport au format de durée actuel [P(n)Y(n)M(n)DT(n)H(n)M(n)S], tel que P1M.
    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 :
    • Format de date absolu [JJ-MM-AAAAThh :mm :ss], tel que 2019-03-20T17:04:55
    • Par rapport au format de durée actuel [P(n)Y(n)M(n)DT(n)H(n)M(n)S], tel que P1M.
    Tableau 3. Paramètres de corps de demande (XML ou JSON)
    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.

    Tableau 4. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Prend uniquement en charge application/json.
    Tableau 5. En-têtes de réponses
    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.

    Tableau 6. Codes d'état
    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

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    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

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    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

    Tableau 7. Paramètres de chemin d'accès
    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

    Tableau 8. Paramètres de requête
    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 :
    • vrai : les données de résultat sont étiquetées avec la valeur d’affichage de l’enregistrement d’objet.
    • faux : les données de résultat ne sont pas étiquetées avec la valeur d’affichage de l’enregistrement d’objet.

    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 :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], tel que 2019-03-20T17:04:55.
    • Par rapport au format de durée actuel [P(n)Y(n)M(n)DT(n)H(n)M(n)S], tel que P1M.
    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 :
    • Format de date absolu [JJ-MM-AAAAThh :mm :ss], tel que 2019-03-20T17:04:55
    • Par rapport au format de durée actuel [P(n)Y(n)M(n)DT(n)H(n)M(n)S], tel que P1M.
    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 :
    • ajouter
    • Avg
    • étiquette
    • mul
    • Resample
    • somme
    • top

    Type de données : chaîne

    Par défaut : aucun

    Tableau 9. Paramètres de corps de demande (XML ou JSON)
    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.

    Tableau 10. En-têtes de demandes
    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

    Tableau 11. En-têtes de réponses
    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.

    Tableau 12. Codes d'état
    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

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    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

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    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

    Tableau 13. Paramètres de chemin d'accès
    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

    Tableau 14. Paramètres de requête
    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 :
    • true : ignorer les séries inconnues.
    • faux : N’ignorez pas les séries inconnues.

    Par défaut : true

    Tableau 15. Paramètres de corps de demande (XML ou JSON)
    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

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    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

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    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 : 2019-03-21T17:05:00Z

    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.

    Tableau 16. En-têtes de demandes
    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.
    Tableau 17. En-têtes de réponses
    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.

    Tableau 18. Codes d'état
    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

    Tableau 19. Paramètres de chemin d'accès
    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

    Tableau 20. Paramètres de requête
    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 :
    • vrai : les données de résultat sont étiquetées avec la valeur d’affichage de l’enregistrement d’objet.
    • faux : les données de résultat ne sont pas étiquetées avec la valeur d’affichage de l’enregistrement d’objet.

    Type de données : booléennes

    Valeur par défaut : false

    Tableau 21. Paramètres de corps de demande (XML ou JSON)
    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 :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], tel que 2019-03-20T17:04:55.
    • Par rapport au format de durée actuel [P(n)Y(n)M(n)DT(n)H(n)M(n)S], tel que P1M.
    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": "String"
        "label": "String",
        "metric": "String",
        "transforms": [Array]
      }
    ]
    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

    "transforms": [
      {
        "arg": {Object},
        "name": "String"
      }
    ]
    mesures.transformations.arg En fonction de la transformation. Ou paramètres à transmettre dans la transformation.
    Directives générales :
    • N’utilisez pas le paramètre lorsque vous arg spécifiez des transformations qui ne prennent pas de paramètre.
    • Utilisez Numéro, Chaîne ou Booléen pour les transformations qui ne prennent qu’un seul paramètre.
    • Utilisez un objet JSON, avec les paires nom-valeur appropriées, pour les transformations qui prennent plus d’un paramètre.

    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 :
    • Format de date absolu [JJ-MM-AAAAThh :mm :ss], tel que 2019-03-20T17:04:55
    • Par rapport au format de durée actuel [P(n)Y(n)M(n)DT(n)H(n)M(n)S], tel que P1M.
    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.

    Tableau 22. En-têtes de demandes
    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.
    Tableau 23. En-têtes de réponses
    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.

    Tableau 24. Codes d'état
    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

    "results":[
      {
        "grouped": [Array],
        "marker": "String",
        "series": [Array]
      }
    ]
    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

    "grouped": [
      {
        "groupingBy": "String",
        "groups": [Array]
      }
    ]
    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

    "groups": [
      {
        "group": "String",
        "label": "String",
        "series": {Object}
      }
    ]
    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

    "series": [
      {
        "label": "String",
        "seriesRef": {Object},
        "values": [Array]
      }
    ]
    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

    "seriesRef": {
      "metric": "String",
      "subject": "String",
      "table": "String"
    }
    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

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    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

    "series": [
      {
        "label": "String",
        "seriesRef": {Object},
        "values": [Array]
      }
    ]
    É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

    "seriesRef": {
      "metric": "String",
      "subject": "String",
      "table": "String"
    }
    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

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    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

    Tableau 25. Types de données de transformation
    Transformer Description
    ajouter Ajoute le nombre spécifié à chaque valeur d’horodatage.

    Argument : arg (type de données décimal) – nombre à ajouter.

    Par exemple :
    "transforms": [
      {
        "name": "add",
        "arg": 8
      }
    ]
    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.
    "transforms": [
      {
         "name": "bottom",
         "arg": 2
      }
    ]
    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 :
    {
      "start": "PT1H",
      "end": "",
      "table": "mb_demo_drone",
      "limit": 5000,
      "metrics": [
        {
          "metric": "mb_demo_mt_altitude",
          "transforms": [
            {
              "name": "label",
              "arg": "Series Timestamp Values"
            },
            {
              "name": "collect"
            },
            {
              "name": "avg"
            },
            {
              "name": "label",
              "arg": "Average Timestamp Values"
            }
          ]
        }
      ]
    }
    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.
    "transforms": [
      {
        "name": "constrainValues",
        "val1": 0,
        "val2": 100
      }
    ]
    Arguments:
    • val1 (type de données décimal) : valeur minimale ou maximale.
    • val2 (type de données décimales) : valeur minimale ou maximale.
    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:
    • agrégateur (type de données d’agrégateur) : type d’agrégation à effectuer.
    • window (type de données Durée) : durée de la fenêtre glissante.
    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 :
    "transforms": [
      {
        "name": "fractiles",
        "arg": [0.25, 0.5, 0.75, 1]
      }
    ]
    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 :
     "transforms": [
      {
        "name": "groupBy",
        "arg": "model"
      },
      {
        "name": "avg"
      },
      {
        "name": "label",
        "arg": "Model: %g"
      }
    ]
    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 :
    1. -IQR : La médiane de toutes les entrées en dessous de Q1 - (1,5 * IQR).
    2. Q1 : La médiane de la plus petite moitié des entrées.
    3. Q3 : La médiane de la plus grande moitié des entrées.
    4. +IQR : La médiane de toutes les entrées au-dessus de Q3 + (1,5 * IQR).
    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 :
    • %% : échappe un littéral « % ».
    • %l : étiquette actuelle en cours de remplacement.
    • %s : Sujet de la série.
    • %g : valeur du champ Grouper par. S’il s’agit d’un enregistrement référencé, alors la valeur du champ Nom de l’enregistrement. Si plusieurs groupes sont spécifiés dans la transformation, les groupBy étiquettes sont séparées par des virgules.
    • %G : valeur du champ Grouper par. S’il s’agit d’un enregistrement référencé, le sys_id de l’enregistrement. Si plusieurs groupes sont sélectionnés, les valeurs sont séparées par des virgules.
    Par exemple :
    "transforms": [
      {
        "name": "label",
        "arg": "Series Timestamp Values"
      },
    ]
    "transforms": [
      {
        "name": "groupBy",
        "arg": "model"
      },
      {
        "name": "avg"
      },
      {
        "name": "label",
        "arg": "Model: %g"
      }
    ]
    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:
    • arg (entier) : nombre de valeurs d’horodatage à renvoyer pour chaque série chronologique.

      OU

    • arg (type de données Durée) : durée à laquelle limiter chaque série chronologique.
    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:
    • lowerBound (type de données décimal) : valeur la plus basse de la plage.
    • upperBound (type de données décimal) : valeur la plus élevée de la plage.
    • targetValue (type de données décimal) : valeur de remplacement.
    Par exemple, les éléments suivants modifient toutes les valeurs des séries chronologiques comprises entre 0,1 et 0,9 à 1 :
    "transforms": [
      {
        "name": "mapValues",
        "lowerBound": .1,
        "upperBound": .9,
        "targetValue": 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 :
    • Si n est impair, la médiane est la valeur (n / 2 + 1) d’un horodatage.
    • Si n est pair, la médiane est la moyenne des valeurs (n / 2) et (n / 2 + 1) pour un horodatage.
    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:
    • agrégateur (type de données d’agrégateur) : type d’agrégation à effectuer.
    • base (type de données DateTime) : décalage zéro à utiliser pour le partitionnement. Par exemple, pour partitionner par jour (24h), définissez cette valeur sur lundi à minuit dans votre fuseau horaire. Pour partitionner sur une période de 30 jours, définissez cette valeur sur le premier jour du mois le plus récent.

      Par défaut : début de l’EPOCH.

    • fenêtre (type de données Durée) : la durée de la fenêtre sans chevauchement à laquelle appliquer l’agrégateur.
    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.
    • arg (entier) : nombre d’échantillons à inclure dans l’ensemble de résultats. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires. S’il y a plus d’échantillons que ce nombre, ils sont réduits en en faisant la moyenne.

      OU

    • arg (type de données Durée) : fréquence à laquelle rééchantillonner. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires. S’il y a plus d’échantillons que ce nombre, ils sont réduits en en faisant la moyenne.

      OU

    • minValues (nombre entier) : nombre minimal d’échantillons à inclure dans l’ensemble de résultats. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires.

      ET

    • maxValues (nombre entier) : nombre maximal d’échantillons à inclure dans l’ensemble de résultats. S’il y a plus d’échantillons que ce nombre, ils sont réduits en en faisant la moyenne.

      OU

    • agrégateur (type de données d’agrégateur) : agrégateur à utiliser lors du rééchantillonnage.

      ET

    • valeurs (nombre entier) : nombre d’échantillons à inclure dans l’ensemble de résultats. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires. S’il y a plus d’échantillons que ce nombre, ils sont réduits en leur appliquant le nombre spécifié aggregator .

      OU

    • agrégateur (type de données d’agrégateur) : agrégateur à utiliser lors du rééchantillonnage.

      ET

    • période (type de données Durée) : fréquence à laquelle le rééchantillonnage est effectué. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires. S’il y a plus d’échantillons que ce nombre, ils sont réduits en leur appliquant le nombre spécifié aggregator .

      OU

    • agrégateur (type de données d’agrégateur) : agrégateur à utiliser lors du rééchantillonnage.

      ET

    • minValues (nombre entier) : nombre minimal d’échantillons à inclure dans l’ensemble de résultats. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires.

      ET

    • maxValues (nombre entier) : nombre maximal d’échantillons à inclure dans l’ensemble de résultats. S’il y a plus d’échantillons que ce nombre, ils sont réduits en en faisant la moyenne.
    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 :
    "transforms": [
      {
        "name": "root",
        "arg": "2"
      },
    ]
    é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.
    "transforms": [
      {
         "name": "top",
         "arg": 2
      }
    ]
    Type de données Description
    Agrégateur Agrégateurs disponibles à utiliser dans la transformation.
    • MOY : calcule la moyenne arithmétique de toutes les séries actuellement sélectionnées.
    • CHISQUARE : Montre dans quelle mesure un modèle statistique s’adapte à l’ensemble de données de mesure.
    • LAST : renvoie la dernière valeur définie dans la fenêtre de période.
    • MAX : affiche la plus grande valeur de l’ensemble de données de mesure, à chaque instant dans le temps.
    • MÉDIAN : affiche la médiane de l’ensemble de données de mesure. La médiane sépare les valeurs les plus élevées de l’ensemble de données de mesure des valeurs inférieures.
    • MIN : affiche la plus petite valeur de l’ensemble de données de mesure, à chaque instant.
    • écart-type : calcule l’écart-type sur l’ensemble des données sous-jacentes. Utilisé pour quantifier la variation ou la dispersion d’un ensemble de valeurs de données dans le jeu de données de mesures.
    • SOMME : calcule la somme de toutes les séries actuellement sélectionnées.
    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ù :

    • [AAAA] : année à quatre chiffres.
    • [MM] : mois complété par des zéros entre 01 et 12.
    • [JJ] : Jour rempli de zéro entre 01 et 31.
    • T : représente l’heure et est obligatoire avant que l’un des composants de l’heure ne soit spécifié.
    • [hh] : Heure rembourrée entre 00 et 23.
    • [mm] : Minutes remplies de zéros entre 00 et 59.
    • [ss] : Secondes remplies de zéros entre 00 et 59. Notez que les secondes intercalaires sont réparties uniformément sur les 1 000 secondes précédentes.

    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 :
    • Nombre décimal signé de précision arbitraire qui peut utiliser la notation exponentielle.

      Comme:

      • 2
      • 1.7
      • -3.47
      • 1.0E+2
    • Représentation sous forme de chaîne de :
      • Nombre décimal signé qui peut utiliser une notation exponentielle et qui est garanti comme étant un nombre à virgule flottante IEEE 754 64 bits en double précision.
      • « NaN »
      • « -Infini »
      • « +Infini »
    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ù :
    • P : Indicateur de durée, appelé « période », et est toujours placé au début de la durée.
    • [n]Y : Nombre d’années.
    • [n]M : Nombre de mois.
    • [n]D : Nombre de jours.
    • T : indicatif d’heure et est obligatoire avant toute spécification des composants d’heure.
    • [n]H : Nombre d’heures.
    • [n]M : Nombre de minutes.
    • [n]S : Nombre de secondes.
    Par exemple :
    • P7D : Période de sept jours.
    • P1M : Période d’un mois.
    • PT15M : Période de 15 minutes.
    • P1DT12H : Période d’un jour et douze heures.

    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.

    En définissant la valeur d’en-tête Accepter correspondante dans votre demande, vous pouvez :
    • 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.
    Le point de terminaison diffuse les données au fur et à mesure que les transformations sont terminées sur le MetricBase serveur, sans regroupement ni ordre prédéterminé. Les données diffusées au format binaire sont plus petites que la représentation JSON renvoyée par le point de Séries chronologiques MetricBase : PUBLIER /now/clotho/transform terminaison.

    Format d'URL

    URL versionnée : /api/now/{api_version}/clotho/transform/stream

    Paramètres de demande pris en charge

    Tableau 26. Paramètres de chemin d'accès
    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

    Tableau 27. Paramètres de requête
    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 :
    • vrai : les données de résultat sont étiquetées avec la valeur d’affichage de l’enregistrement d’objet.
    • faux : les données de résultat ne sont pas étiquetées avec la valeur d’affichage de l’enregistrement d’objet.

    Type de données : booléennes

    Valeur par défaut : false

    Tableau 28. Paramètres de corps de demande (XML ou JSON)
    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 :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], tel que 2019-03-20T17:04:55.
    • Par rapport au format de durée actuel [P(n)Y(n)M(n)DT(n)H(n)M(n)S], tel que P1M.
    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": "String",
        "metric": "String",
        "transforms": [Array]
      }
    ]
    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

    "transforms": [
      {
        "arg": {Object},
        "name": "String"
      }
    ]
    mesures.transformations.arg En fonction de la transformation. Ou paramètres à transmettre dans la transformation.
    Directives générales :
    • N’utilisez pas le paramètre lorsque vous arg spécifiez des transformations qui ne prennent pas de paramètre.
    • Utilisez Numéro, Chaîne ou Booléen pour les transformations qui ne prennent qu’un seul paramètre.
    • Utilisez un objet JSON, avec les paires nom-valeur appropriées, pour les transformations qui prennent plus d’un paramètre.

    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 :
    • Format de date absolu [JJ-MM-AAAAThh :mm :ss], tel que 2019-03-20T17:04:55
    • Par rapport au format de durée actuel [P(n)Y(n)M(n)DT(n)H(n)M(n)S], tel que P1M.
    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.

    Tableau 29. En-têtes de demandes
    En-tête Description
    Accepter Format de données du corps de la réponse. Prend en charge les éléments suivants :
    • application/json
    • application/octet-stream ou
    • text/csv
    Pour spécifier le format CSV, utilisez 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.
    Tableau 30. En-têtes de réponses
    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 :
    • application/json
    • application/octet-stream ou
    • text/csv

    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.

    Tableau 31. Codes d'état
    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 :

    • Mode flottant
    • Signal flottant
    • Modèle double
    • Double Signal

    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

    Tableau 32. Types de données de transformation
    Transformer Description
    ajouter Ajoute le nombre spécifié à chaque valeur d’horodatage.

    Argument : arg (type de données décimal) – nombre à ajouter.

    Par exemple :
    "transforms": [
      {
        "name": "add",
        "arg": 8
      }
    ]
    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.
    "transforms": [
      {
         "name": "bottom",
         "arg": 2
      }
    ]
    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 :
    {
      "start": "PT1H",
      "end": "",
      "table": "mb_demo_drone",
      "limit": 5000,
      "metrics": [
        {
          "metric": "mb_demo_mt_altitude",
          "transforms": [
            {
              "name": "label",
              "arg": "Series Timestamp Values"
            },
            {
              "name": "collect"
            },
            {
              "name": "avg"
            },
            {
              "name": "label",
              "arg": "Average Timestamp Values"
            }
          ]
        }
      ]
    }
    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.
    "transforms": [
      {
        "name": "constrainValues",
        "val1": 0,
        "val2": 100
      }
    ]
    Arguments:
    • val1 (type de données décimal) : valeur minimale ou maximale.
    • val2 (type de données décimales) : valeur minimale ou maximale.
    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:
    • agrégateur (type de données d’agrégateur) : type d’agrégation à effectuer.
    • window (type de données Durée) : durée de la fenêtre glissante.
    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 :
    "transforms": [
      {
        "name": "fractiles",
        "arg": [0.25, 0.5, 0.75, 1]
      }
    ]
    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 :
     "transforms": [
      {
        "name": "groupBy",
        "arg": "model"
      },
      {
        "name": "avg"
      },
      {
        "name": "label",
        "arg": "Model: %g"
      }
    ]
    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 :
    1. -IQR : La médiane de toutes les entrées en dessous de Q1 - (1,5 * IQR).
    2. Q1 : La médiane de la plus petite moitié des entrées.
    3. Q3 : La médiane de la plus grande moitié des entrées.
    4. +IQR : La médiane de toutes les entrées au-dessus de Q3 + (1,5 * IQR).
    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 :
    • %% : échappe un littéral « % ».
    • %l : étiquette actuelle en cours de remplacement.
    • %s : Sujet de la série.
    • %g : valeur du champ Grouper par. S’il s’agit d’un enregistrement référencé, alors la valeur du champ Nom de l’enregistrement. Si plusieurs groupes sont spécifiés dans la transformation, les groupBy étiquettes sont séparées par des virgules.
    • %G : valeur du champ Grouper par. S’il s’agit d’un enregistrement référencé, le sys_id de l’enregistrement. Si plusieurs groupes sont sélectionnés, les valeurs sont séparées par des virgules.
    Par exemple :
    "transforms": [
      {
        "name": "label",
        "arg": "Series Timestamp Values"
      },
    ]
    "transforms": [
      {
        "name": "groupBy",
        "arg": "model"
      },
      {
        "name": "avg"
      },
      {
        "name": "label",
        "arg": "Model: %g"
      }
    ]
    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:
    • arg (entier) : nombre de valeurs d’horodatage à renvoyer pour chaque série chronologique.

      OU

    • arg (type de données Durée) : durée à laquelle limiter chaque série chronologique.
    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:
    • lowerBound (type de données décimal) : valeur la plus basse de la plage.
    • upperBound (type de données décimal) : valeur la plus élevée de la plage.
    • targetValue (type de données décimal) : valeur de remplacement.
    Par exemple, les éléments suivants modifient toutes les valeurs des séries chronologiques comprises entre 0,1 et 0,9 à 1 :
    "transforms": [
      {
        "name": "mapValues",
        "lowerBound": .1,
        "upperBound": .9,
        "targetValue": 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 :
    • Si n est impair, la médiane est la valeur (n / 2 + 1) d’un horodatage.
    • Si n est pair, la médiane est la moyenne des valeurs (n / 2) et (n / 2 + 1) pour un horodatage.
    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:
    • agrégateur (type de données d’agrégateur) : type d’agrégation à effectuer.
    • base (type de données DateTime) : décalage zéro à utiliser pour le partitionnement. Par exemple, pour partitionner par jour (24h), définissez cette valeur sur lundi à minuit dans votre fuseau horaire. Pour partitionner sur une période de 30 jours, définissez cette valeur sur le premier jour du mois le plus récent.

      Par défaut : début de l’EPOCH.

    • fenêtre (type de données Durée) : la durée de la fenêtre sans chevauchement à laquelle appliquer l’agrégateur.
    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.
    • arg (entier) : nombre d’échantillons à inclure dans l’ensemble de résultats. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires. S’il y a plus d’échantillons que ce nombre, ils sont réduits en en faisant la moyenne.

      OU

    • arg (type de données Durée) : fréquence à laquelle rééchantillonner. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires. S’il y a plus d’échantillons que ce nombre, ils sont réduits en en faisant la moyenne.

      OU

    • minValues (nombre entier) : nombre minimal d’échantillons à inclure dans l’ensemble de résultats. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires.

      ET

    • maxValues (nombre entier) : nombre maximal d’échantillons à inclure dans l’ensemble de résultats. S’il y a plus d’échantillons que ce nombre, ils sont réduits en en faisant la moyenne.

      OU

    • agrégateur (type de données d’agrégateur) : agrégateur à utiliser lors du rééchantillonnage.

      ET

    • valeurs (nombre entier) : nombre d’échantillons à inclure dans l’ensemble de résultats. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires. S’il y a plus d’échantillons que ce nombre, ils sont réduits en leur appliquant le nombre spécifié aggregator .

      OU

    • agrégateur (type de données d’agrégateur) : agrégateur à utiliser lors du rééchantillonnage.

      ET

    • période (type de données Durée) : fréquence à laquelle le rééchantillonnage est effectué. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires. S’il y a plus d’échantillons que ce nombre, ils sont réduits en leur appliquant le nombre spécifié aggregator .

      OU

    • agrégateur (type de données d’agrégateur) : agrégateur à utiliser lors du rééchantillonnage.

      ET

    • minValues (nombre entier) : nombre minimal d’échantillons à inclure dans l’ensemble de résultats. Si les échantillons disponibles sont inférieurs à ce nombre, le point de terminaison utilise l’interpolation pour créer des échantillons supplémentaires.

      ET

    • maxValues (nombre entier) : nombre maximal d’échantillons à inclure dans l’ensemble de résultats. S’il y a plus d’échantillons que ce nombre, ils sont réduits en en faisant la moyenne.
    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 :
    "transforms": [
      {
        "name": "root",
        "arg": "2"
      },
    ]
    é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.
    "transforms": [
      {
         "name": "top",
         "arg": 2
      }
    ]
    Type de données Description
    Agrégateur Agrégateurs disponibles à utiliser dans la transformation.
    • MOY : calcule la moyenne arithmétique de toutes les séries actuellement sélectionnées.
    • CHISQUARE : Montre dans quelle mesure un modèle statistique s’adapte à l’ensemble de données de mesure.
    • LAST : renvoie la dernière valeur définie dans la fenêtre de période.
    • MAX : affiche la plus grande valeur de l’ensemble de données de mesure, à chaque instant dans le temps.
    • MÉDIAN : affiche la médiane de l’ensemble de données de mesure. La médiane sépare les valeurs les plus élevées de l’ensemble de données de mesure des valeurs inférieures.
    • MIN : affiche la plus petite valeur de l’ensemble de données de mesure, à chaque instant.
    • écart-type : calcule l’écart-type sur l’ensemble des données sous-jacentes. Utilisé pour quantifier la variation ou la dispersion d’un ensemble de valeurs de données dans le jeu de données de mesures.
    • SOMME : calcule la somme de toutes les séries actuellement sélectionnées.
    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ù :

    • [AAAA] : année à quatre chiffres.
    • [MM] : mois complété par des zéros entre 01 et 12.
    • [JJ] : Jour rempli de zéro entre 01 et 31.
    • T : représente l’heure et est obligatoire avant que l’un des composants de l’heure ne soit spécifié.
    • [hh] : Heure rembourrée entre 00 et 23.
    • [mm] : Minutes remplies de zéros entre 00 et 59.
    • [ss] : Secondes remplies de zéros entre 00 et 59. Notez que les secondes intercalaires sont réparties uniformément sur les 1 000 secondes précédentes.

    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 :
    • Nombre décimal signé de précision arbitraire qui peut utiliser la notation exponentielle.

      Comme:

      • 2
      • 1.7
      • -3.47
      • 1.0E+2
    • Représentation sous forme de chaîne de :
      • Nombre décimal signé qui peut utiliser une notation exponentielle et qui est garanti comme étant un nombre à virgule flottante IEEE 754 64 bits en double précision.
      • « NaN »
      • « -Infini »
      • « +Infini »
    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ù :
    • P : Indicateur de durée, appelé « période », et est toujours placé au début de la durée.
    • [n]Y : Nombre d’années.
    • [n]M : Nombre de mois.
    • [n]D : Nombre de jours.
    • T : indicatif d’heure et est obligatoire avant toute spécification des composants d’heure.
    • [n]H : Nombre d’heures.
    • [n]M : Nombre de minutes.
    • [n]S : Nombre de secondes.
    Par exemple :
    • P7D : Période de sept jours.
    • P1M : Période d’un mois.
    • PT15M : Période de 15 minutes.
    • P1DT12H : Période d’un jour et douze heures.

    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

    Tableau 33. Paramètres de chemin d'accès
    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

    Tableau 34. Paramètres de requête
    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 :
    • true : ignorer les séries inconnues.
    • faux : N’ignorez pas les séries inconnues.

    Par défaut : true

    Tableau 35. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    sérieRef Requis. Informations à mettre à jour.

    Type de données : tableau d’objets

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    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

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    Valeurs.Horodatage Requis. Horodatage ISO 8601 de la valeur.

    Type de données : chaîne

    Format : AAAA-MM-jjTHH :mm :jjZ

    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.

    Tableau 36. En-têtes de demandes
    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.
    Tableau 37. En-têtes de réponses
    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.

    Tableau 38. Codes d'état
    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"
        }
    }