Acceso
No se pudo agregar Timeseries Insights DataSet Owner
a la cuenta de servicio.
Es posible que el rol "Propietario de DataSets de Timeseries Insights" no se muestre en la IU.
Puedes usar el ID de rol roles/timeseriesinsights.datasetsOwner
con el comando gcloud para otorgar el acceso necesario.
gcloud projects add-iam-policy-binding "${PROJECT_ID}" \
--member="serviceAccount:${SVC_ACCOUNT}" \
--role=roles/timeseriesinsights.datasetsOwner \
--condition=None
Detección de anomalías
En esta sección, se describen algunos pasos comunes de depuración para comprender las respuestas de la API de Timeseries Insights si son diferentes de lo que esperas.
Porciones vacías
Cuando ejecutas una consulta de las estadísticas de series temporales en un conjunto de datos cargado, es posible que recibas una respuesta vacía.
Example empty response, {'name': 'projects/demo-project/datasets/demo-dataset', 'slices': []}
Los slices
vacíos indican que no hay datos en los intervalos de tiempo [detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity]
solicitados.
Como alternativa, puedes intentar consultar una porción explícita que esperas que esté presente en el conjunto de datos con la API de evaluateSlice. Esto obliga al sistema a mostrar las series temporales de la porción determinada y su estado de evaluación.
ForecastResult.label INSUFFICIENT_DATA
Cuando ejecutes una consulta o evaluateSlice de la API de Timeseries Insights, es posible que observes INSUFFICIENT_DATA
como el ForecastResultLabel por fragmento.
Esto significa que no tenemos datos suficientes para clasificar los segmentos específicos.
código de estado: 3. mensaje: Se obtuvo densidad = xx. Densidad mínima = yy
En el siguiente ejemplo de código, el usuario le pidió a la API de Timeseries Insights que realice la clasificación si el 90% de los datos está presente en los intervalos de tiempo solicitados [detectionTime - TimeseriesParams.forecastHistory, detectionTime]
.
La API de Timeseries Insights no puede proporcionar una clasificación, ya que solo el 1% de los puntos de datos no está vacío en el intervalo de la serie temporal.
"status": { "code": 3, "message": "Got density = 1. Min density = 90" }
Intenta experimentar con los siguientes parámetros en la solicitud para comprender por qué es posible que no existan los datos.
detectionTime y TimeseriesParams
Asegúrate de que
[detectionTime - TimeseriesParams.forecastHistory, detectionTime + TimeseriesParams.granularity]
sea un subrango de todos los eventos disponibles en tu conjunto de datos para que haya suficiente historial con el que funcione la API de Timeseries Insights. Esto puede requerir que elijas undetectionTime
que esté cerca del final de la serie temporal.La API de Timeseries Insights crea una serie temporal retrocediendo en el tiempo desde el
detectionTime
. TimeseriesParams.forecastHistory y TimeseriesParams.granularity determinan cuánto retrocedemos en el tiempo y cuántos puntos se incluyen en la serie temporal.Comienza con un
minDensity = 0.0
si no tienes la seguridad de la densidad real de los eventos en el conjunto de datos. Ajusta el parámetro para obtener una mejor precisión más adelante.
Además, consulta Conceptos de las series temporales para ver las definiciones de los parámetros.