概觀
查詢 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 | 無效的Api版本 | 不支援 API 版本“ 2016” 支援的版本為“2016-12-12”、“2018-11-01-preview”。 | - |
| 400 | InvalidUrl | 無法解析請求 URL“ /a/b” | - |
| 400 | 無效輸入 | 給定的查詢“aggregate”無效。 支持的查詢包括 『getEvents』、『getSeries』、'aggregateSeries'。 | 無效查詢類型 |
| 400 | 無效輸入 | “projectedVariables.temperature.value”中的“$event.temperature.Double > 0”時間序列表達式不是有效的屬性引用表達式。 | 無效屬性引用表達式 |
| 400 | 無效輸入 | 'projectedVariables.temperature.filter' 中的 '$event.temperature.Double' 時間序列表達式無效。 它只能是返回布爾值的謂詞表達式。 | 無效謂詞表達式 |
| 400 | 無效輸入 | 'projectedVariables.temperature.aggregation' 中的 '$event.temperature.Double' 時間序列表達式無效。 它不包含聚合表達式。 | 無效聚合表達式 |
| 400 | 無效輸入 | 'projectedVariables.temperature.value' 中的“$event.temperature.Double > 0”時間序列表達式不是類型為“numeric”的有效值表達式。 | 無效值表達式 |
| 400 | 無效輸入 | 不應指定 『projectedVariables.temperature.value』 中的值時間序列表達式,或者對於 『aggregate』 類型的變數應為 null。 | 值表達式不應被指定 |
| 400 | 無效輸入 | 應為變數類型 'numeric' 指定 'projectedVariables.temperature.value' 中的值時間序列表達式。 | 值表達式應該指定 |
| 400 | 無效輸入 | 變數類型 'aggregate' 對於 'projectedVariables.temperature.aggregation' 中的表達式 'min($value)' 無效。 | 無效變數種類 |
| 400 | 無效輸入 | “interval”中的時間跨度“00.00:01”不是有效的ISO8601時間跨度格式。 | InvalidTimeSpan格式 |
| 400 | 無效輸入 | 找不到 timeSeriesId '[“ABC123”]' 的實例。 | 實例未找到 |
| 400 | 無效輸入 | 找不到名稱為“timeSeriesName”的實例。 | 實例未找到 |
| 400 | 無效輸入 | 無法刪除 timeSeriesId '[“ABC321”]' 的實例。 已引入與此時序ID關聯的事件。 | 無法刪除實例 |
| 400 | 無效輸入 | ID 為“5e19f688-83fb-4aee-8321-5c123ed016b7”的環境不支援時序查詢 API。 | TimeSeriesQueryNotSupported |
| 400 | 無效輸入 | 在類型或內聯變數定義中找不到名稱為「temperature」的投影變數。 | 投影變數未找到 |
| 400 | 無效輸入 | 無法更新插入ID為“7e19g688-83fb-4aee-8321-5c123ed016b7”且名稱為“ABC123”的類型。 此名稱已由ID為“6e19g688-83fb-4aee-8321-5c123ed016b7”的類型使用。 | NameAlreadyExists |
| 400 | 無效輸入 | 無法更新插入ID為“4e19g688-83fb-4aee-8321-7c123ed016b7”且名稱為“XYZ123”的層次結構。 此名稱已由ID為“8e39g688-83fb-4aee-8321-5c123ed016b7”的層次結構使用。 | 層次結構未定義 |
| 400 | 無效輸入 | 實例數超過“1,000,000”的限制。 | 實例數超出限制 |
| 400 | 無效輸入 | 類型數量超過「1000」的限制。 | 類型數超出限制 |
| 400 | 無效輸入 | 層次結構數量超過了“32”的限制。 | 層次結構數超出限制 |
| 400 | 無效輸入 | 實體大小大於允許的最大大小“16,384”。 | 物件大小超出限制 |
| 400 | 無效輸入 | 長度為“6”的物件名稱“ABC123”超過了允許的最大字元限制“5”。 | 名稱ExceededLimit |
| 408 | RequestTimeout | 請求在「30」秒後超時。 | BatchRequestSizeExceededLimit |
| 503 | 請求過多 | 環境“95880732-01b9-44ea-8d2d-4d764dfe1904”的併發請求計數超過了“30”。 | EnvRequestLimitExceeded (超出 EnvRequestLimit) |