En este documento, se proporcionan sugerencias para solucionar problemas relacionados con las suscripciones a Bigtable.
No se pudo crear ni actualizar la suscripción
Cuando intentas crear o actualizar una suscripción a Bigtable, es posible que encuentres los siguientes errores.
Error de permiso denegado
Si la instancia o la tabla de Bigtable no existen, o si la cuenta de servicio configurada no tiene acceso a ninguna de ellas, recibirás un error de permiso denegado.
Para resolver el problema, sigue estos pasos:
Verifica que la instancia y la tabla existan. Para obtener más información, consulta los siguientes documentos:
Si no existen, créalas y vuelve a intentar crear tu suscripción. Para ver un ejemplo de este paso, consulta Escribe desde Pub/Sub en Bigtable.
Si sigues recibiendo este error, verifica si la cuenta de servicio tiene los permisos correctos. Para obtener más información, consulta Otorga roles de IAM a la cuenta de servicio.
Faltan familias de columnas
Si la tabla de Bigtable no tiene las familias de columnas correctas, recibirás un error INCOMPATIBLE_SCHEMA.
Este error puede deberse a los siguientes problemas:
- La tabla no tiene una familia de columnas
data. - La escritura de metadatos está habilitada y la tabla no tiene una familia de columnas
pubsub_metadata.
Para resolver el problema, crea las familias de columnas necesarias. Para obtener más información, consulta Cómo agregar familias de columnas.
La suscripción no escribe datos
Si una suscripción a Bigtable no escribe datos, ejecuta el comando gcloud beta pubsub subscriptions describe para verificar el estado de la suscripción:
gcloud beta pubsub subscriptions describe SUBSCRIPTION_ID
Reemplaza SUBSCRIPTION_ID por el nombre de la suscripción.
El campo bigtableConfig.state contiene el estado. Si la suscripción está lista para escribir mensajes en Bigtable, el estado es ACTIVE.
De lo contrario, hay un error en la configuración que impide que la suscripción escriba mensajes en la tabla de Bigtable.
Los problemas de configuración pueden incluir los siguientes:
El perfil de aplicación no está configurado para el enrutamiento de un solo clúster.
Errores de permisos. Consulta Error de permiso denegado.
Falta una familia de columnas obligatoria en la tabla de Bigtable. Consulta Faltan familias de columnas.
La suscripción no puede escribir en la tabla de Bigtable debido a una política de almacenamiento de mensajes. Este error se produce si
enforceInTransitesTruey la ubicación de la tabla no se encuentra en una región permitida.
Mientras una suscripción se encuentra en estado de error, no escribe mensajes en la tabla de Bigtable. Los mensajes permanecen en la lista de tareas pendientes de la suscripción y no se entregan al tema de mensajes no entregados, si se configuró uno. Los mensajes no confirmados se retienen durante la duración de retención de mensajes de la suscripción.
Una vez que se resuelve el problema, la suscripción vuelve a un estado correcto.
Aumento de la lista de tareas pendientes
Si el estado de tu suscripción es ACTIVE, pero hay una acumulación creciente de mensajes en la suscripción o los mensajes se dirigen al tema de la carta sin entregar de la suscripción, busca los siguientes problemas.
La frecuencia de publicación supera la capacidad
Si la tasa de publicación de mensajes en tu tema supera la capacidad de tu clúster de Bigtable, es posible que se acumulen registros pendientes en la suscripción.
El ordenamiento de mensajes conlleva compensaciones en el rendimiento. El uso de suscripciones de Bigtable con ordenamiento puede generar una menor capacidad de procesamiento o una mayor latencia en la entrega de mensajes. Si observas problemas de rendimiento con el ordenamiento habilitado, asegúrate de usar claves de ordenamiento lo suficientemente detalladas para evitar las claves activas o modifica tu aplicación para que no requiera ordenamiento. Para obtener más información, consulta Consideraciones cuando se usa la mensajería ordenada.
Supervisa el rendimiento de tu clúster y considera aumentar su tamaño. Para obtener más información, consulta los siguientes temas en la documentación de Bigtable:
Tráfico entre regiones
Si tu aplicación publica en tu tema desde una región diferente a la del clúster de Bigtable, cada mensaje tardará más en publicarse en comparación con la publicación desde la misma región. El mayor tiempo de publicación reduce la tasa a la que tu suscripción escribe mensajes en Bigtable, lo que disminuye la capacidad de procesamiento total.
Para minimizar el tiempo que tardan en publicarse los mensajes, debes publicarlos en la misma región que tu clúster de Bigtable.
¿Qué sigue?
- Si aún tienes problemas con tu suscripción a Bigtable, consulta Cómo obtener asistencia.