共用方式為


Azure 時間序列深入解析 Gen2 查詢 API

概觀

查詢 API是由三個 REST API 所組成,每個 API 分別用於事件數列匯總

查詢 API 會透過具有選擇性分頁的 HTTP GET要求,傳回指定時間範圍內的事件架構和事件計數。 序列匯總數列 資訊也會透過具有選擇性分頁的 GET 作業公開。

API 描述
取得事件 API 傳回符合搜尋範圍和述詞的原始事件清單。
取得系列 API 透過模型中定義的變數或內嵌提供的變數,啟用從擷取的事件查詢和擷取時間序列深入解析資料。
匯總數列 API 使用匯總或範例函式來匯總記錄的資料,以啟用從擷取的事件查詢和擷取時間序列深入解析資料。

API 也支援透過 HTTP 要求 JSON 主體所指定的 各種自訂作業查詢定義 可用於一般作業。

重要

錯誤回應

如果查詢執行失敗,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。