存取
無法將 Timeseries Insights DataSet Owner
新增至服務帳戶
UI 中可能不會顯示「時間序列深入分析資料集擁有者」角色。您可以使用角色 ID roles/timeseriesinsights.datasetsOwner
搭配 gcloud 指令,授予必要的存取權。
gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
--member="serviceAccount:${SVC_ACCOUNT}" \
--role=roles/timeseriesinsights.datasetsOwner \
--condition=None
異常偵測
本節將說明一些常見的偵錯步驟,協助您瞭解 Timeseries Insights API 回應是否與預期不同。
空白切片
在已載入的資料集上執行時序洞察查詢時,您可能會收到空白回應。
Example empty response, {'name': 'projects/demo-project/datasets/demo-dataset', 'slices': []}
空白的 slices
表示在要求的時間間隔 [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity]
中沒有資料點。
您也可以使用 evaluateSlice API,嘗試查詢資料集中預期會出現的明確切片。這會強制系統傳回指定切片的時間序列及其評估狀態。
ForecastResult.label INSUFFICIENT_DATA
執行 Timeseries Insights API 查詢或evaluateSlice 時,您可能會發現 INSUFFICIENT_DATA
是每個區塊的 ForecastResultLabel。這表示我們沒有足夠的資料來分類特定區塊。
status code: 3. message: Got density = xx. 最小密度 = yy
在以下程式碼範例中,使用者要求 Timeseries Insights API 在要求的時間間隔 [detectionTime - TimeseriesParams.forecastHistory, detectionTime]
中,如果有 90% 的資料點,就進行分類。Timeseries Insights API 無法提供分類,因為在時間序列間隔中,只有 1% 的資料點非空白。
"status": { "code": 3, "message": "Got density = 1. Min density = 90" }
請嘗試在要求中實驗下列參數,瞭解資料點可能不存在的原因。
detectionTime 和 TimeseriesParams
請確認
[detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity]
是資料集中所有事件的子範圍,以便 Timeseries Insights API 有足夠的歷史資料可用。這可能需要您選擇接近時間序列結尾的detectionTime
。Timeseries Insights API 會從
detectionTime
回溯時間,建立時間序列。我們會根據 TimeseriesParams.forecastHistory 和 TimeseriesParams.granularity 決定要回溯多久,以及時間序列中要納入多少個點。如果不確定資料集中事件的實際密度,請先從
minDensity = 0.0
開始。稍後再微調參數,以便提高精確度。
如需參數定義,請參閱「時間序列概念」。