Zugriff
Timeseries Insights DataSet Owner
konnte dem Dienstkonto nicht hinzugefügt werden
Die Rolle „Inhaber von Insights DataSet-Daten für Zeitreihen“ wird in der Benutzeroberfläche möglicherweise nicht angezeigt.
Sie können die Rollen-ID roles/timeseriesinsights.datasetsOwner
mit dem gcloud-Befehl verwenden, um den erforderlichen Zugriff zu gewähren.
gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
--member="serviceAccount:${SVC_ACCOUNT}" \
--role=roles/timeseriesinsights.datasetsOwner \
--condition=None
Anomalieerkennung
In diesem Abschnitt werden einige häufige Schritte zur Fehlerbehebung beschrieben, damit Sie die Antworten der Timeseries Insights API verstehen können, falls sie von Ihren Erwartungen abweichen.
Leere Segmente
Wenn Sie eine Timeseries Insights-Abfrage für ein geladenes Dataset ausführen, erhalten Sie möglicherweise eine leere Antwort.
Example empty response, {'name': 'projects/demo-project/datasets/demo-dataset', 'slices': []}
Wenn slices
leer ist, bedeutet das, dass in den angeforderten Zeitintervallen [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity]
keine Datenpunkte vorhanden sind.
Alternativ können Sie mit der API evaluateSlice ein explizites Segment abfragen, das voraussichtlich im Dataset vorhanden ist. Dadurch wird das System gezwungen, die Zeitachse für das angegebene Segment und seinen Bewertungsstatus zurückzugeben.
ForecastResult.label INSUFFICIENT_DATA
Beim Ausführen einer Timeseries Insights API-Abfrage oder eines evaluateSlice beobachten Sie möglicherweise INSUFFICIENT_DATA
als ForecastResultLabel pro Segment.
Das bedeutet, dass uns nicht genügend Daten zur Klassifizierung der jeweiligen Segmente zur Verfügung stehen.
Statuscode: 3. Nachricht: Got density = xx. Minimale Dichte = yy
Im folgenden Codebeispiel hat der Nutzer die Timeseries Insights API gebeten, die Klassifizierung vorzunehmen, wenn 90% der Datenpunkte in den angeforderten Zeitintervallen [detectionTime - TimeseriesParams.forecastHistory, detectionTime]
vorhanden sind.
Die Timeseries Insights API kann keine Klassifizierung bereitstellen, da nur 1% der Datenpunkte im Zeitachsenintervall nicht leer ist.
"status": { "code": 3, "message": "Got density = 1. Min density = 90" }
Versuchen Sie, mit den folgenden Parametern in der Anfrage zu experimentieren, um herauszufinden, warum die Datenpunkte möglicherweise nicht vorhanden sind.
DetectionTime und TimeseriesParams
[detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity]
muss ein Teil aller in Ihrem Dataset verfügbaren Ereignisse sein, damit genügend Verlauf für die Timeseries Insights API vorhanden ist. Dazu müssen Sie möglicherweise einedetectionTime
auswählen, die nah am Ende der Zeitachse liegt.Die Timeseries Insights API erstellt eine Zeitachse, indem die Zeit vom
detectionTime
zurückverfolgt wird. Wie weit wir in der Zeit zurückgehen und wie viele Punkte in der Zeitreihe enthalten sind, wird von TimeseriesParams.forecastHistory und TimeseriesParams.granularity bestimmt.Wenn Sie sich hinsichtlich der tatsächlichen Dichte der Ereignisse im Dataset nicht sicher sind, beginnen Sie mit
minDensity = 0.0
. Sie können den Parameter später noch präziser anpassen.
Parameterdefinitionen finden Sie auch unter Zeitreihenkonzepte.