Solución de problemas

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 un detectionTime 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.