interfejsy API zapytań Azure Time Series Insights Gen2
Omówienie
Interfejsy API zapytań są tworzone przez trzy interfejsy API REST, jeden interfejs API dla zdarzeń, serii i agregacji.
Interfejsy API zapytań zwracają schemat zdarzeń i liczby zdarzeń w określonym zakresie czasu za pośrednictwem żądań HTTP GET z opcjonalną stronicacją. Informacje o serii i agregacji są również udostępniane za pośrednictwem operacji GET z opcjonalną stronicacją.
Interfejs API | Opis |
---|---|
Uzyskiwanie interfejsu API zdarzeń | Zwraca listę nieprzetworzonych zdarzeń pasujących do zakresu wyszukiwania i predykatu. |
Uzyskiwanie interfejsu API serii | Umożliwia wykonywanie zapytań i pobieranie danych usługi Time Series Insights z przechwyconych zdarzeń przy użyciu danych zarejestrowanych w sieci za pośrednictwem zmiennych zdefiniowanych w modelu lub podanych w tekście. |
Interfejs API agregacji serii | Umożliwia wykonywanie zapytań i pobieranie danych usługi Time Series Insights z przechwyconych zdarzeń przez agregowanie zarejestrowanych danych przy użyciu zagregowanych lub przykładowych funkcji. |
Interfejsy API obsługują również różne niestandardowe operacje określone za pośrednictwem treści JSON żądania HTTP. Definicje zapytań mogą służyć do typowych operacji.
Ważne
- W ramach nadchodzących zmian w regułach spłaszczania i ucieczki w formacie JSON tablice będą przechowywane jako typ dynamiczny . Właściwości ładunku przechowywane jako tego typu są dostępne tylko za pośrednictwem interfejsu API pobierania zdarzeń.
Odpowiedzi na błędy
Jeśli wykonanie zapytania zakończy się niepowodzeniem, ładunek odpowiedzi JSON będzie zawierać odpowiedź o błędzie zgodną z następującą strukturą:
{
"error" : {
"code" : "...",
"message" : "...",
"innerError" : {
"code" : "...",
"message" : "...",
}
}
}
innerError
W tym miejscu jest to opcjonalne. Oprócz podstawowych błędów, takich jak źle sformułowane żądanie, zwracane są następujące błędy:
Kod stanu HTTP | Kod błędu | Przykładowy komunikat o błędzie | Możliwe kody innerError |
---|---|---|---|
400 | InvalidApiVersion | Wersja interfejsu API "2016" nie jest obsługiwana. Obsługiwane wersje to "2016-12-12", "2018-11-01-preview". | - |
400 | InvalidUrl | Nie można przeanalizować adresu URL żądania "/a/b". | - |
400 | InvalidInput | Podane zapytanie "agregacja" jest nieprawidłowe. Obsługiwane zapytania to "getEvents", "getSeries", "aggregateSeries". | InvalidQueryType |
400 | InvalidInput | Wyrażenie szeregów czasowych "$event.temperature.Double > 0" w parametrze "projectedVariables.temperature.value" nie jest prawidłowym wyrażeniem odwołania do właściwości. | InvalidPropertyReferenceExpression |
400 | InvalidInput | Wyrażenie szeregów czasowych "$event.temperature.Double" w parametrze "projectedVariables.temperature.filter" jest nieprawidłowe. Może to być tylko wyrażenie predykat, które zwraca wartość logiczną. | InvalidPredicateExpression |
400 | InvalidInput | Wyrażenie szeregów czasowych "$event.temperature.Double" w parametrze "projectedVariables.temperature.aggregation" jest nieprawidłowe. Nie zawierała wyrażenia agregacji. | InvalidAggregateExpression |
400 | InvalidInput | Wyrażenie szeregów czasowych "$event.temperature.Double > 0" w "projectedVariables.temperature.value" nie jest prawidłowym wyrażeniem wartości typu "numerycznym". | InvalidValueExpression |
400 | InvalidInput | Wyrażenie szeregów czasowych wartości w parametrze "projectedVariables.temperature.value" nie powinno być określone lub powinno mieć wartość null dla zmiennej typu "agregacja". | ValueExpressionShouldNotBeSpecified |
400 | InvalidInput | Wyrażenie szeregów czasowych wartości w parametrze "projectedVariables.temperature.value" powinno być określone dla zmiennego typu "numeryczne". | ValueExpressionShouldBeSpecified |
400 | InvalidInput | Typ zmiennej "agregacja" jest nieprawidłowy dla wyrażenia "min($value)" w parametrze "projectedVariables.temperature.aggregation". | InvalidVariableKind |
400 | InvalidInput | Przedział czasu "00.00:01" w ciągu "interval" nie jest prawidłowym formatem przedziału czasu ISO8601. | InvalidTimeSpanFormat |
400 | InvalidInput | Nie można odnaleźć wystąpienia z identyfikatorem timeSeriesId "["ABC123"]". | InstanceNotFound |
400 | InvalidInput | Nie można odnaleźć wystąpienia o nazwie "timeSeriesName". | InstanceNotFound |
400 | InvalidInput | Nie można usunąć wystąpienia z identyfikatorem timeSeriesId "["ABC321"]". Istnieją już pozyskane zdarzenia skojarzone z tym identyfikatorem szeregów czasowych. | CannotDeleteInstance |
400 | InvalidInput | Środowisko o identyfikatorze "5e19f688-83fb-4aee-8321-5c123ed016b7" nie obsługuje interfejsów API zapytań szeregów czasowych. | TimeSeriesQueryNotSupported |
400 | InvalidInput | Prognozowana zmienna o nazwie "temperature" nie została znaleziona w definicjach zmiennych typu lub wbudowanych. | ProjectedVariableNotFound |
400 | InvalidInput | Nie można wykonać operacji upsert o identyfikatorze "7e19g688-83fb-4aee-8321-5c123ed016b7" i nazwie "ABC123". Ta nazwa jest już używana przez typ o identyfikatorze "6e19g688-83fb-4aee-8321-5c123ed016b7". | NameAlreadyExists |
400 | InvalidInput | Nie można wykonać operacji upsert hierarchii o identyfikatorze "4e19g688-83fb-4aee-8321-7c123ed016b7" i nazwie "XYZ123". Ta nazwa jest już używana przez hierarchię o identyfikatorze "8e39g688-83fb-4aee-8321-5c123ed016b7". | HierarchyNotDefined |
400 | InvalidInput | Liczba wystąpień przekroczyła limit "1000 000". | NumberOfInstancesExceededLimit |
400 | InvalidInput | Liczba typów przekroczyła limit "1000". | NumberOfTypesExceededLimit |
400 | InvalidInput | Liczba hierarchii przekroczyła limit "32". | NumberOfHierarchiesExceededLimit |
400 | InvalidInput | Rozmiar jednostki jest większy niż maksymalny dozwolony rozmiar "16 384". | ObjectSizeExceededLimit |
400 | InvalidInput | Nazwa obiektu "ABC123" o długości "6" przekracza maksymalny dozwolony limit znaków "5". | NameExceededLimit |
408 | RequestTimeout | Przekroczono limit czasu żądania po 30 sekundach. | BatchRequestSizeExceededLimit |
503 | TooManyRequests | Liczba żądań współbieżnych "30" przekroczyła dla środowiska "95880732-01b9-44ea-8d2d-4d764dfe1904". | EnvRequestLimitExceeded |
Zobacz też
Aby uzyskać więcej informacji na temat rejestracji aplikacji i modelu programowania usługi Azure Active Directory, zobacz Azure Active Directory dla deweloperów.
Aby dowiedzieć się więcej o parametrach żądania i uwierzytelniania, przeczytaj Uwierzytelnianie i autoryzacja.
Narzędzia, które pomagają w testowaniu żądań i odpowiedzi HTTP, obejmują:
Fiddler. Ten bezpłatny internetowy serwer proxy debugowania może przechwytywać żądania REST, dzięki czemu można zdiagnozować żądania HTTP i komunikaty odpowiedzi.
JWT.io. Za pomocą tego narzędzia można szybko zrzucić oświadczenia w tokenie elementu nośnego, a następnie zweryfikować ich zawartość.
Postman. Jest to bezpłatne narzędzie do testowania żądań HTTP i odpowiedzi na potrzeby debugowania interfejsów API REST.
Dowiedz się więcej o Azure Time Series Insights Gen2, przeglądając dokumentację usługi Gen2.