API de requête Azure Time Series Insights Gen2
Vue d’ensemble
Les API de requête sont constituées de trois API REST, une API chacune pour les événements, les séries et les agrégats.
Les API de requête retournent le schéma d’événements et le nombre d’événements sur un intervalle de temps spécifié via des requêtes HTTP GET avec pagination facultative. Les informations sur les séries et les séries agrégées sont également exposées par le biais d’opérations GET avec pagination facultative.
API | Description |
---|---|
API Obtenir des événements | Retourne une liste d’événements bruts qui correspondent à l’étendue de recherche et au prédicat. |
API Obtenir une série | Permet l’interrogation et la récupération des 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 inline. |
Aggregate Series API | 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’exemple. |
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 les opérations courantes.
Important
- Dans le cadre des modifications à venir des règles de mise à plat et d’échappement au format JSON, les tableaux sont stockés sous le type Dynamique. Les propriétés de charge utile stockées sous ce type sont accessibles UNIQUEMENT par le biais de l’API d’extraction d’événements.
Réponses d’erreur
Si l’exécution de la requête échoue, la charge utile de réponse JSON contient une réponse d’erreur conforme à la structure suivante :
{
"error" : {
"code" : "...",
"message" : "...",
"innerError" : {
"code" : "...",
"message" : "...",
}
}
}
Ici, innerError
est facultatif. En plus des erreurs de base telles que les requêtes incorrectes, les erreurs suivantes sont retournées :
Code status Http | Code d'erreur | Exemple de message d’erreur | Codes innerError possibles |
---|---|---|---|
400 | InvalidApiVersion | La version de l’API « 2016 » n’est pas prise en charge. Les versions prises en charge sont « 2016-12-12 » et « 2018-11-01-preview ». | - |
400 | InvalidUrl | Impossible d’analyser l’URL de requête « /a/b ». | - |
400 | InvalidInput | La requête « aggregate » donnée n’est pas valide. Les requêtes prises en charge sont « getEvents », « getSeries », « aggregateSeries ». | InvalidQueryType |
400 | InvalidInput | 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 | InvalidInput | 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 retourne une valeur booléenne. | InvalidPredicateExpression |
400 | InvalidInput | L’expression de série chronologique « $event.temperature.Double » dans « projectedVariables.temperature.aggregation » n’est pas valide. Il ne contenait pas d’expression d’agrégation. | InvalidAggregateExpression |
400 | InvalidInput | 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 | InvalidInput | L’expression de série chronologique de valeur dans 'projectedVariables.temperature.value' ne doit pas être spécifiée ou doit être null pour la variable de type 'aggregate'. | ValueExpressionShouldNotBeSpecified |
400 | InvalidInput | L’expression de série chronologique de valeur dans 'projectedVariables.temperature.value' doit être spécifiée pour le type de variable 'numeric'. | ValueExpressionShouldBeSpecified |
400 | InvalidInput | Le type de variable 'aggregate' n’est pas valide pour l’expression 'min($value)' dans 'projectedVariables.temperature.aggregation'. | InvalidVariableKind |
400 | InvalidInput | L’intervalle de temps « 00.00:01 » dans « interval » n’est pas un format d’intervalle iso8601 valide. | InvalidTimeSpanFormat |
400 | InvalidInput | Le instance avec timeSeriesId '["ABC123"]' est introuvable. | InstanceNotFound |
400 | InvalidInput | Le instance portant le nom « timeSeriesName » est introuvable. | InstanceNotFound |
400 | InvalidInput | La instance avec timeSeriesId '["ABC321"]' ne peut pas être supprimée. Des événements ingérés sont déjà associés à cet ID de série chronologique. | CannotDeleteInstance |
400 | InvalidInput | 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 | InvalidInput | La variable projetée portant le nom « temperature » est introuvable dans les définitions de type ou de variable inline. | ProjectedVariableNotFound |
400 | InvalidInput | Impossible de mettre à jour 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 ». | NameAlreadyExists |
400 | InvalidInput | Impossible de monter 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 | InvalidInput | Le nombre d’instances a dépassé la limite de « 1 000 000 ». | NumberOfInstancesExceededLimit |
400 | InvalidInput | Le nombre de types a dépassé la limite de « 1000 ». | NumberOfTypesExceededLimit |
400 | InvalidInput | Le nombre de hiérarchies a dépassé la limite de « 32 ». | NumberOfHierarchiesExceedededLimit |
400 | InvalidInput | La taille de l’entité est supérieure à la taille maximale autorisée « 16 384 ». | ObjectSizeExceededLimit |
400 | InvalidInput | Le nom d’objet « ABC123 » avec la longueur « 6 » dépasse la limite de caractères maximale autorisée de « 5 ». | NameExceededLimit |
408 | RequestTimeout | Délai d’expiration de la demande après « 30 » seconde(s). | BatchRequestSizeExceededLimit |
503 | TooManyRequests | Le nombre de requêtes simultanées « 30 » a été dépassé pour l’environnement « 95880732-01b9-44ea-8d2d-4d764dfe1904 ». | EnvRequestLimitExceededed |
Voir aussi
Pour plus d’informations sur l’inscription des applications 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 requête et d’authentification, consultez Authentification et autorisation.
Les outils qui aident à tester les requêtes et réponses HTTP sont les suivants :
Fiddler. Ce proxy de débogage web gratuit peut intercepter vos requêtes REST, ce qui vous permet de diagnostiquer les messages de requête et de réponse HTTP.
JWT.io. Vous pouvez utiliser cet outil pour vider rapidement les revendications dans votre jeton du porteur, puis valider leur contenu.
Postman. Il s’agit d’un outil de test de requête et de réponse HTTP gratuit pour le débogage des API REST.
Pour en savoir plus sur Azure Time Series Insights Gen2, consultez la documentation Gen2.