Azure 時間序列深入解析 Gen2 查詢 API
概觀
查詢 API是由三個 REST API 所組成,每個 API 分別用於事件、數列和匯總。
查詢 API 會透過具有選擇性分頁的 HTTP GET要求,傳回指定時間範圍內的事件架構和事件計數。 序列 和 匯總數列 資訊也會透過具有選擇性分頁的 GET 作業公開。
API | 描述 |
---|---|
取得事件 API | 傳回符合搜尋範圍和述詞的原始事件清單。 |
取得系列 API | 透過模型中定義的變數或內嵌提供的變數,啟用從擷取的事件查詢和擷取時間序列深入解析資料。 |
匯總數列 API | 使用匯總或範例函式來匯總記錄的資料,以啟用從擷取的事件查詢和擷取時間序列深入解析資料。 |
API 也支援透過 HTTP 要求 JSON 主體所指定的 各種自訂作業 。 查詢定義 可用於一般作業。
重要
- 作為 JSON 壓平合併和逸出規則後續變更的一部分,陣列會儲存為動態類型。 儲存為此類型的承載屬性只能透過取得事件 API 存取。
錯誤回應
如果查詢執行失敗,JSON 回應承載將包含符合下列結構的錯誤回應:
{
"error" : {
"code" : "...",
"message" : "...",
"innerError" : {
"code" : "...",
"message" : "...",
}
}
}
innerError
以下是選擇性的。 除了格式不正確的要求等基本錯誤之外,還會傳回下列錯誤:
Http 狀態碼 | 錯誤碼 | 範例錯誤訊息 | 可能的 innerError 程式碼 |
---|---|---|---|
400 | InvalidApiVersion | 不支援 API 版本 '2016'。 支援的版本為 '2016-12-12'、'2018-11-01-preview'。 | - |
400 | InvalidUrl | 無法剖析要求 URL '/a/b'。 | - |
400 | InvalidInput | 指定的查詢 'aggregate' 無效。 支援的查詢為 'getEvents','getSeries','aggregateSeries'。 | InvalidQueryType |
400 | InvalidInput | 'projectedVariables.temperature.value' 中的 '$event.temperature.Double > 0' 時間序列運算式不是有效的屬性參考運算式。 | InvalidPropertyReferenceExpression |
400 | InvalidInput | 'projectedVariables.temperature.filter' 中的 '$event.temperature.Double' 時間序列運算式無效。 它只能是傳回布林值的述詞運算式。 | InvalidPredicateExpression |
400 | InvalidInput | 'projectedVariables.temperature.aggregation' 中的 '$event.temperature.Double' 時間序列運算式無效。 它未包含匯總運算式。 | InvalidAggregateExpression |
400 | InvalidInput | 'projectedVariables.temperature.value' 中的 '$event.temperature.Double > 0' 時間序列運算式不是類型 'numeric' 的有效值運算式。 | InvalidValueExpression |
400 | InvalidInput | 'projectedVariables.temperature.value' 中的值時間序列運算式不應該指定,或應該為類型 'aggregate' 的變數為 Null。 | ValueExpressionShouldNotBeSpecified |
400 | InvalidInput | 'projectedVariables.temperature.value' 中的值時間序列運算式應該針對變數類型 'numeric' 指定。 | ValueExpressionShouldBeSpecified |
400 | InvalidInput | 變數類型 'aggregate' 對 'projectedVariables.temperature.aggregation' 中的運算式 'min ($value) ' 無效。 | InvalidVariableKind |
400 | InvalidInput | 'interval' 中的時間範圍 '00.00:01' 不是有效的 ISO8601 時間範圍格式。 | InvalidTimeSpanFormat |
400 | InvalidInput | 找不到 timeSeriesId '[「ABC123」]' 的實例。 | InstanceNotFound |
400 | InvalidInput | 找不到名稱為 'timeSeriesName' 的實例。 | InstanceNotFound |
400 | InvalidInput | 無法刪除 timeSeriesId '[「ABC321」]' 的實例。 已經有與此時間序列識別碼相關聯的內嵌事件。 | CannotDeleteInstance |
400 | InvalidInput | 識別碼為 '5e19f688-83fb-4aee-8321-5c123ed016b7' 的環境不支援時間序列查詢 API。 | TimeSeriesQueryNotSupported |
400 | InvalidInput | 在類型或內嵌變數定義中找不到名稱為 'temperature' 的投影變數。 | ProjectedVariableNotFound |
400 | InvalidInput | 無法使用識別碼為 '7e19g688-83fb-4aee-8321-5c123ed016b7' 且名稱為 'ABC123' 的 upsert 類型。 此名稱已由識別碼為 '6e19g688-83fb-4aee-8321-5c123ed016b7' 的類型使用。 | NameAlreadyExists |
400 | InvalidInput | 無法使用識別碼為 '4e19g688-83fb-4aee-8321-7c123ed016b7' 和名稱 'XYZ123' 的 upsert 階層。 此名稱已由識別碼為 '8e39g688-83fb-4aee-8321-5c123ed016b7' 的階層使用。 | HierarchyNotDefined |
400 | InvalidInput | 實例數目超過 '1,000,000' 的限制。 | NumberOfInstancesExceededLimit |
400 | InvalidInput | 類型數目超過 '1000' 的限制。 | NumberOfTypesExceededLimit |
400 | InvalidInput | 階層數目超過 '32' 的限制。 | NumberOfHierarchiesExceededLimit |
400 | InvalidInput | 實體大小大於允許的大小上限 '16,384'。 | ObjectSizeExceededLimit |
400 | InvalidInput | 長度為 '6' 的物件名稱 'ABC123' 超過允許的最大字元限制 '5'。 | NameExceededLimit |
408 | RequestTimeout | 要求在 '30' 秒後逾時 () 。 | BatchRequestSizeExceededLimit |
503 | TooManyRequests | 環境 '95880732-01b9-44ea-8d2d-4d764dfe1904' 已超過 '30' 的並行要求計數。 | EnvRequestLimitExceeded |
另請參閱
如需應用程式註冊和 Azure Active Directory 程式設計模型的詳細資訊,請參閱 適用于開發人員的 Azure Active Directory。
若要深入瞭解要求和驗證參數,請參閱 驗證和授權。
協助測試 HTTP 要求和回應的工具組括:
Fiddler。 這個免費的 Web 偵錯 Proxy 可以攔截 REST 要求,因此您可以診斷 HTTP 要求和回應訊息。
JWT.io。 您可以使用此工具快速傾印持有人權杖中的宣告,然後驗證其內容。
Postman。 這是用於偵錯 REST API 的免費 HTTP 要求和回應測試控管。
檢閱Gen2 檔,以深入瞭解 Azure 時間序列深入解析 Gen2。