Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Aperçu
Les API de requête sont constituées de trois API REST, une API pour les événements, une API pour les séries et une pour les agrégats.
Les API de requête renvoient le schéma d’événements et le nombre d’événements sur une plage de temps spécifiée par le biais de requêtes HTTP GET avec pagination facultative. Les informations de série et de série agrégée sont également exposées par le biais d’opérations GET avec pagination facultative.
| API (Interface de Programmation d'Applications) | Descriptif |
|---|---|
| Obtenir l’API d’événements | Renvoie une liste d’événements bruts qui correspondent à l’étendue de recherche et au prédicat. |
| Obtenir l’API Series | Permet l’interrogation et la récupération de données Time Series Insights à partir d’événements capturés à l’aide de données enregistrées sur le réseau via les variables définies dans le modèle ou fournies en ligne. |
| API de la série d’agrégats | Permet d’interroger et d’extraire des données Time Series Insights à partir d’événements capturés en agrégeant les données enregistrées à l’aide des fonctions d’agrégation ou d’échantillonnage. |
Les API prennent également en charge diverses opérations personnalisées spécifiées via le corps JSON de la requête HTTP. Les définitions de requête peuvent être utilisées pour des opérations courantes.
Important
- Dans le cadre des modifications à venir des règles d’aplatissement et d’échappement JSON, les tableaux seront stockés en tant que type dynamique. Les propriétés de charge utile stockées comme ce type sont UNIQUEMENT accessibles via l’API Get Events.
Réponses d’erreur
En cas d’échec de l’exécution de la requête, la charge utile de la réponse JSON contient une réponse d’erreur conforme à la structure suivante :
{
"error" : {
"code" : "...",
"message" : "...",
"innerError" : {
"code" : "...",
"message" : "...",
}
}
}
Ici, c’est innerError facultatif. En plus des erreurs de base telles qu’une requête mal formée, les erreurs suivantes sont renvoyées :
| Code status HTTP | Code d’erreur | Exemple de message d’erreur | Codes d’erreur innerError possibles |
|---|---|---|---|
| 400 | InvalidApiVersion | La version 2016 de l’API n’est pas prise en charge. Les versions prises en charge sont « 2016-12-12 », « 2018-11-01-preview ». | - |
| 400 | InvalidUrl | L’URL de la requête '/a/b' n’a pas pu être analysée. | - |
| 400 | EntréeInvalide | La requête 'aggregate' n’est pas valide. Les requêtes prises en charge sont 'getEvents', 'getSeries', 'aggregateSeries'. | InvalidQueryType |
| 400 | EntréeInvalide | L’expression de série chronologique '$event.temperature.Double > 0' dans 'projectedVariables.temperature.value' n’est pas une expression de référence de propriété valide. | InvalidPropertyReferenceExpression |
| 400 | EntréeInvalide | L’expression de série chronologique '$event.temperature.Double' dans 'projectedVariables.temperature.filter' n’est pas valide. Il ne peut s’agir que d’une expression de prédicat qui renvoie un booléen. | InvalidPredicateExpression |
| 400 | EntréeInvalide | L’expression de série chronologique '$event.temperature.Double' dans 'projectedVariables.temperature.aggregation' n’est pas valide. Il ne contenait pas d’expression agrégée. | InvalidAggregateExpression |
| 400 | EntréeInvalide | L’expression de série chronologique '$event.temperature.Double > 0' dans 'projectedVariables.temperature.value' n’est pas une expression de valeur valide de type 'numeric'. | InvalidValueExpression |
| 400 | EntréeInvalide | L’expression de la série chronologique de valeurs dans 'projectedVariables.temperature.value' ne doit pas être spécifiée ou doit être nulle pour la variable de type 'aggregate'. | ValueExpressionShouldNotBeSpecified |
| 400 | EntréeInvalide | L’expression de la série chronologique de valeur dans 'projectedVariables.temperature.value' doit être spécifiée pour le type de variable 'numeric'. | ValueExpressionShouldBeSpecified |
| 400 | EntréeInvalide | Le type de variable 'aggregate' n’est pas valide pour l’expression 'min($value)' dans 'projectedVariables.temperature.aggregation'. | InvalidVariableKind |
| 400 | EntréeInvalide | L’intervalle de temps '00.00:01' dans 'interval' n’est pas un format ISO8601 d’intervalle de temps valide. | InvalidTimeSpanFormat |
| 400 | EntréeInvalide | L’instance avec timeSeriesId '["ABC123"]' est introuvable. | InstanceNotFound |
| 400 | EntréeInvalide | L’instance nommée « timeSeriesName » est introuvable. | InstanceNotFound |
| 400 | EntréeInvalide | L’instance avec timeSeriesId '["ABC321"]' ne peut pas être supprimée. Des événements ont déjà été ingérés associés à cet ID de série chronologique. | CannotDeleteInstance |
| 400 | EntréeInvalide | L’environnement avec l’ID « 5e19f688-83fb-4aee-8321-5c123ed016b7 » ne prend pas en charge les API de requête de série chronologique. | TimeSeriesQueryNotSupported |
| 400 | EntréeInvalide | La variable projetée portant le nom de « température » n’a pas été trouvée dans les définitions de type ou de variable en ligne. | ProjectedVariableNotFound |
| 400 | EntréeInvalide | Impossible de mettre à niveau le type avec l’ID '7e19g688-83fb-4aee-8321-5c123ed016b7' et le nom 'ABC123'. Ce nom est déjà utilisé par type avec l’ID '6e19g688-83fb-4aee-8321-5c123ed016b7'. | NomDéjàExiste |
| 400 | EntréeInvalide | Impossible de mettre à niveau la hiérarchie avec l’ID « 4e19g688-83fb-4aee-8321-7c123ed016b7 » et le nom « XYZ123 ». Ce nom est déjà utilisé par la hiérarchie avec l’ID '8e39g688-83fb-4aee-8321-5c123ed016b7'. | HierarchyNotDefined |
| 400 | EntréeInvalide | Le nombre d’instances a dépassé la limite de « 1 000 000 ». | NumberOfInstancesExceedededLimit |
| 400 | EntréeInvalide | Le nombre de types dépassait la limite de « 1000 ». | NumberOfTypesExceededLimit |
| 400 | EntréeInvalide | Le nombre de hiérarchies dépassait la limite de « 32 ». | NumberOfHierarchiesExceedededLimit |
| 400 | EntréeInvalide | La taille de l’entité est supérieure à la taille maximale autorisée « 16 384 ». | ObjectSizeExceededLimit |
| 400 | EntréeInvalide | Le nom d’objet « ABC123 » avec une longueur « 6 » dépasse la limite de caractères maximale autorisée de « 5 ». | NomExceededLimit |
| 408 | RequestTimeout | La demande a expiré après « 30 » seconde(s). | BatchRequestSizeExceedededLimit |
| 503 | Trop de requêtes | Nombre de demandes simultanées de « 30 » dépassé pour l’environnement « 95880732-01b9-44ea-8d2d-4d764dfe1904 ». | EnvRequestLimitExceeded |
Voir aussi
Pour plus d’informations sur l’inscription d’application et le modèle de programmation Azure Active Directory, consultez Azure Active Directory pour les développeurs.
Pour en savoir plus sur les paramètres de demande et d’authentification, consultez Authentification et autorisation.
Les outils qui aident à tester les requêtes et les réponses HTTP incluent :
Fiddler. Ce proxy de débogage Web gratuit peut intercepter vos requêtes REST, ce qui vous permet de diagnostiquer les requêtes HTTP et les messages de réponse.
JWT.io. Vous pouvez utiliser cet outil pour vider rapidement les revendications dans votre jeton porteur, puis valider leur contenu.
facteur. Il s’agit d’un outil gratuit de test de requêtes et de réponses HTTP pour le débogage des API REST.
Pour en savoir plus sur Azure Time Series Insights Gen2, consultez la documentation Gen2.