API de séries chronologiques MetricBase

  • Rversion finale: Washingtondc
  • Mis à jour 1 févr. 2024
  • 60 minutes de lecture
  • L’API de séries chronologiques MetricBase fournit des points de terminaison pour insérer des données dans une base de données, y récupérer des informations et exécuter des transformations MetricBase .

    Ces API ne peuvent être utilisées que lorsque le module d’extension MetricBase (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 des données du 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 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

    Métrique 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 si les données de résultat doivent être étiquetées avec la valeur d’affichage de l’enregistrement d’objet si aucune autre étiquette n’est spécifiée.
    Valeurs valides :
    • true : les données de résultat sont étiquetées avec la valeur d’affichage de l’enregistrement d’objet.
    • false : 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.

    Type de données : chaîne

    Format : ISO 8601 (UTC), soit :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], par exemple, 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 l’heure actuelle moins la période de conservation maximale pour les mesures spécifiées. Une valeur vide ou manquante est traitée comme un tout implicite.

    Type de données : chaîne

    Format : ISO 8601 (UTC), soit :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], par exemple, 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 une 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 une 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 de corps de 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

    seriesRef Résultats des séries de données.

    Type de données : tableau

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    seriesRef.metric Nom de la mesure à partir de laquelle la série de données a été obtenue. Apparaît uniquement si l’objet metrics est transmis dans la demande.

    Type de données : chaîne

    seriesRef.subject sys_id de l’enregistrement de la série de données. Situé dans la table spécifiée dans seriesRef.table.

    Type de données : chaîne

    seriesRef.table Nom de la table à partir de laquelle la série de données a été obtenue.

    Type de données : chaîne

    valeurs Les valeurs des séries transformées.

    Type de données : tableau

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

    Type de données : chaîne

    valeurs.valeur Les 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 indiqué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 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

    Métrique 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 si les données de résultat doivent être étiquetées avec la valeur d’affichage de l’enregistrement d’objet si aucune autre étiquette n’est spécifiée.
    Valeurs valides :
    • true : les données de résultat sont étiquetées avec la valeur d’affichage de l’enregistrement d’objet.
    • false : 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.

    Type de données : chaîne

    Format : ISO 8601 (UTC), soit :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], par exemple, 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 de sujets.

    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 l’heure actuelle moins la période de conservation maximale pour les mesures spécifiées. Une valeur vide ou manquante est traitée comme un tout implicite.

    Type de données : chaîne

    Format : ISO 8601 (UTC), soit :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], par exemple, 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 Limitez la taille du résultat de la requête d’objet.

    Type de données : nombre

    Par défaut : 10 000

    sysparm_transforms Liste de 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 une 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 une 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 de corps de 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

    seriesRef Résultats des séries de données.

    Type de données : tableau

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    seriesRef.metric Nom de la mesure à partir de laquelle la série de données a été obtenue. Apparaît uniquement si l’objet metrics est transmis dans la demande.

    Type de données : chaîne

    seriesRef.subject sys_id de l’enregistrement de la série de données. Situé dans la table spécifiée dans seriesRef.table.

    Type de données : chaîne

    seriesRef.table Nom de la table à partir de laquelle la série de données a été obtenue.

    Type de données : chaîne

    valeurs Les valeurs des séries transformées.

    Type de données : tableau

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

    Type de données : chaîne

    valeurs.valeur Les 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 : POST /now/clotho/accumulate

    Accumule les valeurs de mesure selon l’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 mesures qui peuvent être additionnées pour une accumulation, telles que les kilowattheures (kWhs) d’électricité. Accumulate effectue un appel pour chaque mesure à l’horodatage fourni. Par exemple, les kilowatts collectés pour un radiateur, 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. 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 un total_power. Vous souhaitez accumuler des watts pour un routeur connecté à une prise sans wattmètre 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 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 poursuivre la transaction sans renvoyer d’erreur.

    Valeurs valides :
    • true : ignorer les séries inconnues.
    • false : n’ignorez pas les séries inconnues.

    Valeur par défaut : true

    Tableau 15. Paramètres de corps de demande (XML ou JSON)
    Nom Description
    seriesRef Liste de chaînes représentant des informations de séries de données à mettre à jour.

    Type de données : tableau

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    seriesRef.metric Requis. Nom de la mesure cumulative à mettre à jour.

    Type de données : chaîne

    seriesRef.subject Requis. La sys_id de l’enregistrement dans laquelle mettre à jour les données. Situé dans la table spécifiée dans seriesRef.table.

    Type de données : chaîne

    seriesRef.table Requis. Nom de la table dans laquelle enregistrer les données.

    Type de données : chaîne

    valeurs Requis. Valeurs de série à accumuler et à stocker. Les valeurs portant le même horodatage sont résumé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 une 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 une 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 de corps de 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"

    Sortie fournie avec des résultats positifs.

    {
        "result": {
            "message": "ok"
        }
    }

    Séries chronologiques MetricBase : POST /now/clotho/transform

    Récupère les données de séries chronologiques pour une ou plusieurs mesures et les regroupe éventuellement 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. 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 si les données de résultat doivent être étiquetées avec la valeur d’affichage de l’enregistrement d’objet si aucune autre étiquette n’est spécifiée.
    Valeurs valides :
    • true : les données de résultat sont étiquetées avec la valeur d’affichage de l’enregistrement d’objet.
    • false : 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.

    Type de données : chaîne

    Format : ISO 8601 (UTC), soit :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], par exemple, 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 anormalement é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, reportez-vous à 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, par lesquels regrouper la série avant de collecter ou d’appliquer des transformations agrégées.

    L’ordre des éléments de la liste est l’ordre selon lequel les données sont regroupées. Par exemple, si la liste contient 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 regroupées.

    metrics.label Étiquette à utiliser pour l’ensemble de résultats de cette mesure. Elle 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.

    metrics.metric 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

    metrics.transforms 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

    "transforms": [
      {
        "arg": {Object},
        "name": "String"
      }
    ]
    metrics.transforms.arg Dépend de la transformation. Paramètre ou paramètres à transmettre dans la transformation.
    Lignes directrices générales :
    • N’utilisez pas le arg paramètre lors de la spécification de transformations qui ne prennent pas de paramètre.
    • Utilisez Nombre, Chaîne ou Booléen pour les transformations qui utilisent 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, reportez-vous au tableau 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éé, sélectionnez Copier l’URL dans le menu contextuel des 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 l’heure actuelle moins la période de conservation maximale pour les mesures spécifiées. Une valeur vide ou manquante est traitée comme un tout implicite.

    Type de données : chaîne

    Format : ISO 8601 (UTC), soit :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], par exemple, 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 une 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 une 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 de corps de réponse (JSON ou XML)

    Nom Description
    résultats Aucun ou plusieurs objets de résultat ne répondent à la requête. Contient un series tableau ou un grouped tableau.

    Type de données : tableau

    "results":[
      {
        "grouped": [Array],
        "marker": "String",
        "series": [Array]
      }
    ]
    résultats.groupés Liste d’objets de résultat groupés où chaque grouped objet de résultat correspond à un groupe spécifique. Ce format est renvoyé lorsque le paramètre est passé dans le metrics.groupBy corps de la requête.

    Type de données : tableau

    "grouped": [
      {
        "groupingBy": "String",
        "groups": [Array]
      }
    ]
    resultats.groupés.groupingBy Valeur transmise dans le metrics.groupBy paramètre dans la demande.

    Type de données : chaîne

    resultats.groupés.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}
      }
    ]
    resultats.groupés.groupes.groupe Nom du groupe.

    Type de données : chaîne

    resultats.groupes.groupes.label Étiquette du groupe.

    Type de données : chaîne

    resultats.groupes.groupés.séries Valeurs transformées pour le résultat du groupe.

    Type de données : tableau

    "series": [
      {
        "label": "String",
        "seriesRef": {Object},
        "values": [Array]
      }
    ]
    resultats.groupes.groupes.séries.label Étiquette de la série.

    Type de données : chaîne

    resultats.grouped.groupes.séries.seriesRef Résultats d’une seule série de données. N’apparaît pas s’il existe plusieurs séries de données dans la réponse.

    Type de données : objet

    "seriesRef": {
      "metric": "String",
      "subject": "String",
      "table": "String"
    }
    resultats.groupes.groupes.séries.seriesRef.metric Nom de la mesure à partir de laquelle la série de données a été obtenue. Apparaît uniquement si l’objet metrics est transmis dans la demande.

    Type de données : chaîne

    resultats.groupes.groupes.séries.sériesRef.sujet Sys_id de l’enregistrement de la série de données. Situé dans la table spécifiée dans results.series.seriesRef.table.

    Type de données : chaîne

    resultats.groupes.groupes.sériesRef.table Nom de la table à partir de laquelle la série de données a été obtenue.

    Type de données : chaîne

    valeurs.séries.groupes.résultats Liste des valeurs de résultat pour le groupe.

    Type de données : tableau

    "values": [
      {
        "timestamp": "String",
        "value": Number
      }
    ]
    results.grouped.groups.series.values.timestamp Horodatage ISO 8601 de la valeur.

    Type de données : chaîne

    resultats.groupes.groupes.séries.valeurs.valeur Valeur transformée.

    Type de données : nombre

    results.marker Identificateur unique pour les résultats correspondants.

    Type de données : chaîne

    résultats.séries Liste des séries non groupées d’objets de résultat.

    Type de données : tableau

    "series": [
      {
        "label": "String",
        "seriesRef": {Object},
        "values": [Array]
      }
    ]
    resultats.séries.label Étiquette de série de données. Cette valeur est soit générée par le point de terminaison, soit la valeur transmise dans le metrics.label paramètre.

    Type de données : chaîne

    results.series.seriesRef Résultats d’une seule série de données. N’apparaît pas s’il existe 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.seriesRef.metric Nom de la mesure à partir de laquelle la série de données a été obtenue. Apparaît uniquement si l’objet metrics est transmis dans la demande.

    Type de données : chaîne

    resultats.séries.sériesRef.sujet Sys_id de l’enregistrement de la série de données. Situé dans la table spécifiée dans results.series.seriesRef.table.

    Type de données : chaîne

    resultat.séries.seriesRef.table Nom de la table à partir de laquelle la série de données a été obtenue.

    Type de données : chaîne

    valeurs.séries.résultats Valeurs de séries transformées.

    Type de données : tableau

    "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. Transformer les types de données
    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
      }
    ]
    Appliquer une corrélation automatique Calcule la corrélation entre les valeurs d’horodatage séparées par un nombre croissant de périodes commençant à 1.
    Avg Agrège les séries chronologiques en une seule série contenant la valeur moyenne de chaque horodatage correspondant dans l’entrée.
    bas Renvoie le nombre spécifié de séries ayant les valeurs les plus basses.

    Argument : arg (Integer) – Le nombre de séries à renvoyer.

    Par exemple, ce qui suit 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écimal) : 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. Collecter les résultats de transformation contiennent 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"
            }
          ]
        }
      ]
    }
    valeurs de contrainte 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é ce qui suit, 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écimale) : valeur minimale ou maximale.
    • val2 (type de données décimale) : valeur minimale ou maximale.
    compter Agrège 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ée 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 la période 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 : nombre par lequel diviser la valeur de chaque horodatage.

    Enveloppe Renvoie deux séries chronologiques où, à tout moment dans le temps, l’une contient la valeur la plus élevée et l’autre la valeur la plus petite.
    Remarque :
    Les NaN sont ignorés, mais sont renvoyés s’il n’y a pas d’autres valeurs de retour.
    Exp Augmente la valeur de la base spécifiée à la puissance de la valeur de chaque horodatage.

    Argument : arg (type de données décimal) : valeur de base.

    filtre Applique un agrégateur au contenu d’une fenêtre glissante, par exemple en produisant une moyenne mobile.
    Arguments:
    • agrégateur (type de données de l’agrégateur) : type d’agrégation à effectuer.
    • fenêtre (type de données Durée) : durée de la fenêtre glissante.
    étage 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 à arrondir.

    fractiles Renvoie une série chronologique pour chaque fraction du tableau spécifié. Chaque valeur d’horodatage correspond à la valeur à laquelle la fraction spécifiée de valeurs, pour l’horodatage correspondant dans la série d’entrée, est inférieure au pourcentage spécifié. Par exemple, si la fraction est égale à 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 (Array of Decimal) – 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 en fonction des 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 interpolant à partir de valeurs de données adjacentes.

    Argument : arg (entier) : nombre d’échantillons de données dans chaque direction à vérifier pour une valeur non NaN. Si aucune valeur autre que NaN n’est trouvée, NaN est utilisé.

    Inverse Calcule l’inverse de chaque valeur d’horodatage.
    Iqr Effectue une transformation d’intervalle interquartile et crée un jeu de résultats contenant quatre séries :
    1. -IQR : La médiane de toutes les entrées inférieures à Q1 - (1,5 * IQR).
    2. Q1 : médiane de la plus petite moitié des entrées.
    3. Q3 : 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 formatage suivantes :
    • %% : un caractère d’échappement est un littéral « % ».
    • %l : étiquette actuelle en cours de remplacement.
    • %s : objet de la série.
    • %g : valeur du champ Regrouper par. S’il s’agit d’un enregistrement référencé, il s’agit de la valeur du champ de 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 Regrouper par. S’il s’agit d’un enregistrement référencé, l’enregistrement est alors sys_id. 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és, en commençant par la valeur enregistrée la plus récente.
    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écimales) : base pour le calcul du logarithme.

    Valeurs de carte Remplace toutes les valeurs comprises 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, alors il remplace toute valeur NaN par le targetValue.
    Arguments:
    • lowerBound (type de données décimales) : 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écimale) : valeur de remplacement.
    Par exemple, l’élément suivant modifie toutes les valeurs des séries chronologiques comprises entre 0,1 et 0,9 en 1 :
    "transforms": [
      {
        "name": "mapValues",
        "lowerBound": .1,
        "upperBound": .9,
        "targetValue": 1
      }
    ]
    max. Renvoie une série qui contient la valeur maximale de chaque horodatage correspondant dans l’entrée.
    Médiane Crée une série contenant la médiane des valeurs pour chaque horodatage dans un ensemble de séries.
    S’il y a 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) d’un horodatage.
    min. Renvoie une série qui contient la valeur minimale pour chaque horodatage correspondant dans 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

    Génère une nouvelle série avec des valeurs filtrées en appliquant un agrégateur spécifié à une fenêtre qui ne se chevauche pas.

    Arguments:
    • agrégateur (type de données de l’agrégateur) : type d’agrégation à effectuer.
    • window (type de données Durée) : durée de la fenêtre sans chevauchement pour appliquer l’agrégateur.
    • 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 effectuer la partition selon 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.

    Pow Augmente chaque valeur d’horodatage à la puissance spécifiée.

    Argument : arg (type de données décimales) : puissance à laquelle chaque valeur doit être élevée.

    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 soit en fonction d’un nombre fixe de points, soit 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 qu’il corresponde mieux au nombre d’échantillons que vous souhaitez afficher.

    Arguments : vous pouvez passer différents 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 courant ; OU, ce qui signifie que c’est le début d’un nouveau groupe d’arguments.
    • arg (entier) : nombre d’exemples à 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 les moyennant.

      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 les moyennant.

      OU

    • minValues (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 (entier) : nombre maximal d’exemples à inclure dans l’ensemble de résultats. S’il y a plus d’échantillons que ce nombre, ils sont réduits en les moyennant.

      OU

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

      ET

    • values (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 la spécificité aggregator .

      OU

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

      ET

    • period (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 leur appliquant la spécificité aggregator .

      OU

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

      ET

    • minValues (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 (entier) : nombre maximal d’exemples à inclure dans l’ensemble de résultats. S’il y a plus d’échantillons que ce nombre, ils sont réduits en les moyennant.
    arrondi Arrondit la valeur de chaque horodatage jusqu’à la précision spécifiée : (valeur / <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écimales) : index de la racine.

    Par exemple, la méthode suivante renvoie la racine carrée de chaque horodatage :
    "transforms": [
      {
        "name": "root",
        "arg": "2"
      },
    ]
    stddev Crée une série contenant l’écart-type des valeurs pour chaque horodatage dans un ensemble de séries.
    sous-marin Soustrait le nombre spécifié de la valeur de chaque horodatage.

    Argument : arg (Nombre) : nombre à soustraire de la valeur de chaque horodatage.

    somme Agrège la série de mesures sélectionnée en une seule 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.
    Timeshift 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 ayant les valeurs les plus élevées.

    Argument : arg (Integer) – Le nombre de séries à renvoyer.

    Par exemple, ce qui suit 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 : indique dans quelle mesure un modèle statistique s’adapte à l’ensemble de données métriques.
    • LAST : renvoie la dernière valeur définie dans la fenêtre de période.
    • MAX : affiche la valeur la plus élevée de l’ensemble de données de mesures, à chaque instant dans le temps.
    • MÉDIANE : affiche la médiane du jeu de données de mesures. La médiane sépare les valeurs les plus élevées du jeu de données de mesures des valeurs inférieures.
    • MIN : affiche la plus petite valeur de l’ensemble de données de mesures, à chaque instant dans le temps.
    • STDDEV : calcule l’écart-type sur les 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 absolues de date/heure 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é à zéro entre 01 et 12.
    • [JJ] : Jour complété à zéro entre le 01 et le 31.
    • T : représente le temps et est obligatoire avant que l’une des composantes temporelles ne soit spécifiée.
    • [hh] : Heure rembourrée à zéro 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 de date/d’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 : P7J = il y a sept jours.

    Décimal La valeur décimale peut être :
    • Nombre décimal signé d’une précision arbitraire qui peut utiliser une 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 dont la valeur est garantie être un nombre à virgule flottante IEEE 754 64 bits 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 », qui 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 : désignateur de temps et est obligatoire avant que l’une des composantes temporelles ne soit spécifiée.
    • [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 l’application de la liste spécifiée de transformations.

    La diffusion des données 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écifiez les données diffusées à encoder dans un format binaire,
    • Sérialiser les données diffusées dans un tableau JSON, ou
    • Diffusez des données vers le client dans un format CSV large ou restreint.
    Le point de terminaison diffuse les données à mesure que les transformations sont effectuées sur le MetricBase serveur, sans regroupements ni ordre prédéterminés. Les données diffusées au format binaire sont plus petites que la représentation JSON renvoyée par le Séries chronologiques MetricBase : POST /now/clotho/transform point de 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. 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 si les données de résultat doivent être étiquetées avec la valeur d’affichage de l’enregistrement d’objet si aucune autre étiquette n’est spécifiée.
    Valeurs valides :
    • true : les données de résultat sont étiquetées avec la valeur d’affichage de l’enregistrement d’objet.
    • false : 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.

    Type de données : chaîne

    Format : ISO 8601 (UTC), soit :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], par exemple, 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 anormalement é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 plus d’informations 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. Elle 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.

    metrics.metric 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

    metrics.transforms 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

    "transforms": [
      {
        "arg": {Object},
        "name": "String"
      }
    ]
    metrics.transforms.arg Dépend de la transformation. Paramètre ou paramètres à transmettre dans la transformation.
    Lignes directrices générales :
    • N’utilisez pas le arg paramètre lors de la spécification de transformations qui ne prennent pas de paramètre.
    • Utilisez Nombre, Chaîne ou Booléen pour les transformations qui utilisent 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, reportez-vous au tableau 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éé, sélectionnez Copier l’URL dans le menu contextuel des 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 l’heure actuelle moins la période de conservation maximale pour les mesures spécifiées. Une valeur vide ou manquante est traitée comme un tout implicite.

    Type de données : chaîne

    Format : ISO 8601 (UTC), soit :
    • Format de date absolu [AAAA-MM-JJThh :mm :ss], par exemple, 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 une 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 une 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 les données vont commencer à être diffusées.
    Remarque :
    Une réponse 200 peut toujours entraîner une erreur de traitement en cours de calcul, au fur et à mesure que les transformations sont calculées.
    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 de corps de réponse (Octet-stream 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 la forme d’un 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 est constitué d’une sérialisation binaire de chaque datum, 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 restreints.

    Un format étroit renvoie des colonnes d’objet et d’horodatage, ainsi qu’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 correspond à l’altitude des drones, cette valeur peut être l’ID d’un drone spécifique. Si un deux-points est inclus dans la valeur, les parties après l’objet représentent la mesure dont les données font partie. Les valeurs nulles sont représentées par une chaîne vide codée.

    Taille : 2+ octets

    Type de données : chaîne UTF modifiée par Java

    Dimension Mesure dont proviennent les données. Les valeurs nulles sont représentées par une chaîne vide codée.

    Taille : 2+ octets

    Type de données : chaîne UTF modifiée par Java

    Étiquette Étiquette des données. Les valeurs nulles sont représentées par une chaîne vide codée.

    Taille : 2+ octets

    Type de données : chaîne UTF modifiée par Java

    Type Type de données codées dans un octet.

    Valeurs possibles :

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

    Taille : 1 octet

    Type de données : 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.

    Taille : 1 octet

    Type de données : octet

    Période Période associée aux données.

    Taille : 4 octets

    Type de données : nombre entier

    Nombre de balises Si serializeTags la valeur est vrai, il s’agit du nombre de balises stockées dans les données.

    Taille : 4 octets

    Type de données : nombre entier

    Balises Si serializeTags la valeur est vrai, chaque balise est stockée dans les données.

    Taille : Dépend du nombre de balises (2+ octets).

    Type de données : chaînes UTF modifiées par Java

    Début de la seconde époque Heure UTC d’époque représentant l’heure de début de cette série de données.

    Taille : 8 octets

    Type de données : longues

    Nombre de valeurs Nombre de valeurs stockées dans ces données.

    Taille : 4 octets

    Type de données : nombre entier

    Valeurs Si Type est un signal flottant, le reste est constitué de valeurs flottantes.

    Taille : Number of Values * 4

    Type de données : Flottants

    Valeurs Si Type est Double signal, alors le reste est constitué de valeurs doubles.

    Taille : Number of Values * 4 octets

    Type de données : Doubles

    Modèle JSON (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 par Java représentant le modèle au format JSON.

    Taille : 2+ octets

    Type de données : JSON (chaîne UTF modifiée par Java)

    Marqueur de grand modèle (Big Model) Si la longueur du fichier JSON du modèle est supérieure à 65 535 octets, ce champ s’écrit au lieu du Model Jsonchamp .

    Taille : 5

    Type de données : chaîne UTF modifiée par Java

    Taille du grand modèle (Big Model) Longueur de la représentation JSON du grand modèle.

    Taille : 4 octets

    Type de données : nombre entier

    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.

    Taille : 65535-256000 octets

    Type de données : caractères UTF

    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 retourné.
    étiquette Étiquette des données. Cette valeur est soit générée par le point de terminaison, soit 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 signifierait que chaque valeur est séparée d’une minute.

    Unité : Secondes

    Type de données : nombre

    Gamme Heures de début et de fin des données au format ISO 8601 (UTC).

    Type de données : tableau

    séries Identifie les données individuelles. S’il est présent, il se présente généralement sous la forme [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èces Type de données de retour. Pour une série de valeurs flottantes ou doubles, il s’agit de FLOAT_SIGNAL ou de DOUBLE_SIGNAL. Pour un modèle destiné à analyser des données flottantes ou doubles, il s’agit d’une FLOAT_MODEL ou d’une DOUBLE_MODEL.

    Type de données : chaîne

    balises Balises associées aux données.

    Type de données : tableau de chaîne

    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. Transformer les types de données
    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
      }
    ]
    Appliquer une corrélation automatique Calcule la corrélation entre les valeurs d’horodatage séparées par un nombre croissant de périodes commençant à 1.
    Avg Agrège les séries chronologiques en une seule série contenant la valeur moyenne de chaque horodatage correspondant dans l’entrée.
    bas Renvoie le nombre spécifié de séries ayant les valeurs les plus basses.

    Argument : arg (Integer) – Le nombre de séries à renvoyer.

    Par exemple, ce qui suit 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écimal) : 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. Collecter les résultats de transformation contiennent 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"
            }
          ]
        }
      ]
    }
    valeurs de contrainte 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é ce qui suit, 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écimale) : valeur minimale ou maximale.
    • val2 (type de données décimale) : valeur minimale ou maximale.
    compter Agrège 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ée 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 la période 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 : nombre par lequel diviser la valeur de chaque horodatage.

    Enveloppe Renvoie deux séries chronologiques où, à tout moment dans le temps, l’une contient la valeur la plus élevée et l’autre la valeur la plus petite.
    Remarque :
    Les NaN sont ignorés, mais sont renvoyés s’il n’y a pas d’autres valeurs de retour.
    Exp Augmente la valeur de la base spécifiée à la puissance de la valeur de chaque horodatage.

    Argument : arg (type de données décimal) : valeur de base.

    filtre Applique un agrégateur au contenu d’une fenêtre glissante, par exemple en produisant une moyenne mobile.
    Arguments:
    • agrégateur (type de données de l’agrégateur) : type d’agrégation à effectuer.
    • fenêtre (type de données Durée) : durée de la fenêtre glissante.
    étage 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 à arrondir.

    fractiles Renvoie une série chronologique pour chaque fraction du tableau spécifié. Chaque valeur d’horodatage correspond à la valeur à laquelle la fraction spécifiée de valeurs, pour l’horodatage correspondant dans la série d’entrée, est inférieure au pourcentage spécifié. Par exemple, si la fraction est égale à 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 (Array of Decimal) – 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 en fonction des 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 interpolant à partir de valeurs de données adjacentes.

    Argument : arg (entier) : nombre d’échantillons de données dans chaque direction à vérifier pour une valeur non NaN. Si aucune valeur autre que NaN n’est trouvée, NaN est utilisé.

    Inverse Calcule l’inverse de chaque valeur d’horodatage.
    Iqr Effectue une transformation d’intervalle interquartile et crée un jeu de résultats contenant quatre séries :
    1. -IQR : La médiane de toutes les entrées inférieures à Q1 - (1,5 * IQR).
    2. Q1 : médiane de la plus petite moitié des entrées.
    3. Q3 : 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 formatage suivantes :
    • %% : un caractère d’échappement est un littéral « % ».
    • %l : étiquette actuelle en cours de remplacement.
    • %s : objet de la série.
    • %g : valeur du champ Regrouper par. S’il s’agit d’un enregistrement référencé, il s’agit de la valeur du champ de 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 Regrouper par. S’il s’agit d’un enregistrement référencé, l’enregistrement est alors sys_id. 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és, en commençant par la valeur enregistrée la plus récente.
    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écimales) : base pour le calcul du logarithme.

    Valeurs de carte Remplace toutes les valeurs comprises 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, alors il remplace toute valeur NaN par le targetValue.
    Arguments:
    • lowerBound (type de données décimales) : 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écimale) : valeur de remplacement.
    Par exemple, l’élément suivant modifie toutes les valeurs des séries chronologiques comprises entre 0,1 et 0,9 en 1 :
    "transforms": [
      {
        "name": "mapValues",
        "lowerBound": .1,
        "upperBound": .9,
        "targetValue": 1
      }
    ]
    max. Renvoie une série qui contient la valeur maximale de chaque horodatage correspondant dans l’entrée.
    Médiane Crée une série contenant la médiane des valeurs pour chaque horodatage dans un ensemble de séries.
    S’il y a 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) d’un horodatage.
    min. Renvoie une série qui contient la valeur minimale pour chaque horodatage correspondant dans 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

    Génère une nouvelle série avec des valeurs filtrées en appliquant un agrégateur spécifié à une fenêtre qui ne se chevauche pas.

    Arguments:
    • agrégateur (type de données de l’agrégateur) : type d’agrégation à effectuer.
    • window (type de données Durée) : durée de la fenêtre sans chevauchement pour appliquer l’agrégateur.
    • 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 effectuer la partition selon 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.

    Pow Augmente chaque valeur d’horodatage à la puissance spécifiée.

    Argument : arg (type de données décimales) : puissance à laquelle chaque valeur doit être élevée.

    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 soit en fonction d’un nombre fixe de points, soit 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 qu’il corresponde mieux au nombre d’échantillons que vous souhaitez afficher.

    Arguments : vous pouvez passer différents 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 courant ; OU, ce qui signifie que c’est le début d’un nouveau groupe d’arguments.
    • arg (entier) : nombre d’exemples à 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 les moyennant.

      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 les moyennant.

      OU

    • minValues (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 (entier) : nombre maximal d’exemples à inclure dans l’ensemble de résultats. S’il y a plus d’échantillons que ce nombre, ils sont réduits en les moyennant.

      OU

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

      ET

    • values (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 la spécificité aggregator .

      OU

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

      ET

    • period (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 leur appliquant la spécificité aggregator .

      OU

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

      ET

    • minValues (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 (entier) : nombre maximal d’exemples à inclure dans l’ensemble de résultats. S’il y a plus d’échantillons que ce nombre, ils sont réduits en les moyennant.
    arrondi Arrondit la valeur de chaque horodatage jusqu’à la précision spécifiée : (valeur / <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écimales) : index de la racine.

    Par exemple, la méthode suivante renvoie la racine carrée de chaque horodatage :
    "transforms": [
      {
        "name": "root",
        "arg": "2"
      },
    ]
    stddev Crée une série contenant l’écart-type des valeurs pour chaque horodatage dans un ensemble de séries.
    sous-marin Soustrait le nombre spécifié de la valeur de chaque horodatage.

    Argument : arg (Nombre) : nombre à soustraire de la valeur de chaque horodatage.

    somme Agrège la série de mesures sélectionnée en une seule 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.
    Timeshift 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 ayant les valeurs les plus élevées.

    Argument : arg (Integer) – Le nombre de séries à renvoyer.

    Par exemple, ce qui suit 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 : indique dans quelle mesure un modèle statistique s’adapte à l’ensemble de données métriques.
    • LAST : renvoie la dernière valeur définie dans la fenêtre de période.
    • MAX : affiche la valeur la plus élevée de l’ensemble de données de mesures, à chaque instant dans le temps.
    • MÉDIANE : affiche la médiane du jeu de données de mesures. La médiane sépare les valeurs les plus élevées du jeu de données de mesures des valeurs inférieures.
    • MIN : affiche la plus petite valeur de l’ensemble de données de mesures, à chaque instant dans le temps.
    • STDDEV : calcule l’écart-type sur les 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 absolues de date/heure 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é à zéro entre 01 et 12.
    • [JJ] : Jour complété à zéro entre le 01 et le 31.
    • T : représente le temps et est obligatoire avant que l’une des composantes temporelles ne soit spécifiée.
    • [hh] : Heure rembourrée à zéro 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 de date/d’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 : P7J = il y a sept jours.

    Décimal La valeur décimale peut être :
    • Nombre décimal signé d’une précision arbitraire qui peut utiliser une 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 dont la valeur est garantie être un nombre à virgule flottante IEEE 754 64 bits 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 », qui 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 : désignateur de temps et est obligatoire avant que l’une des composantes temporelles ne soit spécifiée.
    • [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 retourner un flux JSON pour les mesures de la table mb_demo_drone. Remarque : Bien que les objets de cet exemple soient étendus sur plusieurs lignes pour plus de lisibilité, dans un résultat réel, chaque objet renvoyé se trouve sur sa propre ligne. Vous pouvez faire 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 la forme « mb_demo_mt_altitude ») du dernier jour pour chaque drone stocké dans la table mb_demo_drone [Drones] du plug-in Metricbase Demo. Dans l’exemple, les données sont renvoyées dans un format de tableau étroit à trois colonnes : la 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 poursuivre la transaction sans renvoyer d’erreur.
    Valeurs valides :
    • true : ignorer les séries inconnues.
    • false : n’ignorez pas les séries inconnues.

    Valeur par défaut : true

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

    Type de données : tableau

    "seriesRef": [
      {
        "metric": "String",
        "subject": "String",
        "table": "String"
      }
    ]
    seriesRef.metric Requis. Nom de la mesure à mettre à jour.

    Type de données : chaîne

    seriesRef.subject Requis. La sys_id de l’enregistrement dans laquelle mettre à jour les données. Situé dans la table spécifiée dans seriesRef.table.

    Type de données : chaîne

    seriesRef.table Requis. Nom de la table dans laquelle enregistrer les données.

    Type de données : chaîne

    valeurs Requis. Valeurs de 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 sous 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 une 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 une 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 de corps de réponse (JSON ou XML)

    Nom Description
    message Message indiquant 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"
        }
    }