APIs de Consulta Azure Time Series Insights Gen2
Descrição Geral
As APIs de Consulta são constituídas por três APIs REST, uma API cada para eventos, séries e agregados.
As APIs de Consulta devolvem o esquema de eventos e as contagens de eventos num intervalo de tempo especificado através de pedidos HTTP GET com paginação opcional. As informações de séries e de agregação também são expostas através de operações GET com paginação opcional.
API | Descrição |
---|---|
Obter API de Eventos | Devolve uma lista de eventos não processados que correspondem ao intervalo de pesquisa e predicados. |
Obter API de Série | Ativa a consulta e a obtenção de dados do Time Series Insights a partir de eventos capturados através de dados registados no fio através das variáveis definidas no modelo ou fornecidas inline. |
API de Série agregada | Ativa a consulta e a obtenção de dados do Time Series Insights a partir de eventos capturados ao agregar dados registados com as funções agregadas ou de exemplo. |
As APIs também suportam uma variedade de operações personalizadas especificadas através do corpo JSON do pedido HTTP. As definições de consulta podem ser utilizadas para operações comuns.
Importante
- Como parte das próximas alterações às regras de aplanamento e fuga JSON, as matrizes serão armazenadas como Tipo dinâmico . As propriedades do payload armazenadas como este tipo só estão acessíveis através da API Obter Eventos.
Respostas a erros
Se a execução da consulta falhar, o payload de resposta JSON conterá uma resposta de erro em conformidade com a seguinte estrutura:
{
"error" : {
"code" : "...",
"message" : "...",
"innerError" : {
"code" : "...",
"message" : "...",
}
}
}
Aqui, innerError
é opcional. Além de erros básicos, como o pedido mal formado, são devolvidos os seguintes erros:
Código de estado http | Código de erro | Mensagem de erro de exemplo | Possíveis códigos innerError |
---|---|---|---|
400 | InvalidApiVersion | A versão da API "2016" não é suportada. As versões suportadas são "2016-12-12", "2018-11-01-preview". | - |
400 | InvalidUrl | Não foi possível analisar o URL do pedido "/a/b". | - |
400 | InvalidInput | A consulta especificada "agregação" não é válida. As consultas suportadas são "getEvents", "getSeries", "aggregateSeries". | InvalidQueryType |
400 | InvalidInput | A expressão da série temporal "$event.temperature.Double > 0" em "projectedVariables.temperature.value" não é uma expressão de referência de propriedade válida. | InvalidPropertyReferenceExpression |
400 | InvalidInput | A expressão da série temporal "$event.temperature.Double" em "projectedVariables.temperature.filter" é inválida. Só pode ser uma expressão predicado que devolve um valor booleano. | InvalidPredicateExpression |
400 | InvalidInput | A expressão da série temporal "$event.temperature.Double" em "projectedVariables.temperature.aggregation" é inválida. Não continha uma expressão de agregação. | InvalidAggregateExpression |
400 | InvalidInput | A expressão da série temporal "$event.temperature.Double > 0" em "projectedVariables.temperature.value" não é uma expressão de valor válida do tipo "numérico". | InvalidValueExpression |
400 | InvalidInput | A expressão de série temporal de valor em "projectedVariables.temperature.value" não deve ser especificada ou deve ser nula para a variável do tipo "agregar". | ValueExpressionShouldNotBeSpecified |
400 | InvalidInput | A expressão de série temporal de valor em "projectedVariables.temperature.value" deve ser especificada para o tipo de variável "numérico". | ValueExpressionShouldBeSpecified |
400 | InvalidInput | O tipo de variável "agregação" é inválido para a expressão "min($value)" em "projectedVariables.temperature.aggregation". | InvalidVariableKind |
400 | InvalidInput | O intervalo de tempo "00.00:01" em "intervalo" não é um formato de intervalo de tempo ISO8601 válido. | InvalidTimeSpanFormat |
400 | InvalidInput | A instância com timeSeriesId "["ABC123"]" não foi encontrada. | InstanceNotFound |
400 | InvalidInput | A instância com o nome "timeSeriesName" não foi encontrada. | InstanceNotFound |
400 | InvalidInput | Não é possível eliminar a instância com timeSeriesId '["ABC321"]'. Já existem eventos ingeridos associados a este ID da série temporal. | CannotDeleteInstance |
400 | InvalidInput | O ambiente com o ID '5e19f688-83fb-4aee-8321-5c123ed016b7' não suporta APIs de consulta de série temporal. | TimeSeriesQueryNotSupported |
400 | InvalidInput | A variável projetada com o nome "temperatura" não foi encontrada nas definições de variáveis de tipo ou inline. | ProjectedVariableNotFound |
400 | InvalidInput | Não é possível atualizar o tipo com o ID '7e19g688-83fb-4aee-8321-5c123ed016b7' e o nome 'ABC123'. Este nome já é utilizado por tipo com o ID '6e19g688-83fb-4aee-8321-5c123ed016b7'. | NameAlreadyExists |
400 | InvalidInput | Não é possível atualizar a hierarquia com o ID "4e19g688-83fb-4aee-8321-7c123ed016b7" e o nome "XYZ123". Este nome já é utilizado pela hierarquia com o ID "8e39g688-83fb-4aee-8321-5c123ed016b7". | HierárquicaNotDefined |
400 | InvalidInput | O número de instâncias excedeu o limite de "1000 000". | NumberOfInstancesExceededLimit |
400 | InvalidInput | O número de tipos excedeu o limite de "1000". | NumberOfTypesExceededLimit |
400 | InvalidInput | O número de hierarquias excedeu o limite de "32". | NumberOfHierarchiesExceededLimit |
400 | InvalidInput | O tamanho da entidade é superior ao tamanho máximo permitido "16.384". | ObjectSizeExceededLimit |
400 | InvalidInput | O nome do objeto "ABC123" com o comprimento '6' excede o limite máximo de carateres permitido de '5'. | NameExceededLimit |
408 | RequestTimeout | O pedido excedeu o tempo limite após "30" segundos. | BatchRequestSizeExceededLimit |
503 | TooManyRequests | A contagem de pedidos simultâneos de "30" foi excedida para o ambiente "95880732-01b9-44ea-8d2d-4d764dfe1904". | EnvRequestLimitExceeded |
Ver também
Para obter mais informações sobre o registo de aplicações e o modelo de programação do Azure Active Directory, veja Azure Active Directory para programadores.
Para saber mais sobre os parâmetros de pedido e autenticação, leia Autenticação e autorização.
As ferramentas que ajudam a testar pedidos e respostas HTTP incluem:
Fiddler. Este proxy de depuração web gratuito pode intercetar os seus pedidos REST, para que possa diagnosticar o pedido HTTP e as mensagens de resposta.
JWT.io. Pode utilizar esta ferramenta para capturar rapidamente as afirmações no token de portador e, em seguida, validar os respetivos conteúdos.
Postman. Esta é uma ferramenta de teste de resposta e pedido HTTP gratuita para depurar APIs REST.
Saiba mais sobre Azure Time Series Insights Gen2 ao rever a documentação da Gen2.