En este documento, se proporcionan sugerencias para solucionar problemas relacionados con las suscripciones de Bigtable.
No se puede crear ni actualizar la suscripción
Cuando intentas crear o actualizar una suscripción de 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 funciones 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_BIGTABLE_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 Agrega familias de columnas.
La suscripción no escribe datos
Si una suscripción de Bigtable no escribe datos, verifica el
estado de la suscripción ejecutando el
gcloud beta pubsub subscriptions describe
comando:
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 lo siguiente:
El perfil de aplicación no está configurado para el enrutamiento de un solo clúster.
Errores de permisos. Consulta Error de permiso denegado.
A la tabla de Bigtable le falta una familia de columnas obligatoria. 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 está en una región permitida.
Mientras una suscripción está en estado de error, no escribe mensajes en la tabla de Bigtable. Los mensajes permanecen en el backlog de la suscripción; no se entregan al tema de mensajes no entregados, si se configuró uno. Los mensajes no confirmados se retienen durante el período 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 del backlog
Si el estado de tu suscripción es ACTIVE, pero hay un backlog cada vez mayor de mensajes en la suscripción o los mensajes van al tema de mensajes no entregados de la suscripción, busca los siguientes problemas.
La tasa 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 backlogs en la suscripción.
El ordenamiento de mensajes tiene compensaciones de rendimiento. El uso de suscripciones de Bigtable con ordenamiento puede generar una menor capacidad de procesamiento o una mayor latencia de entrega de mensajes. Si ves problemas de rendimiento con el ordenamiento habilitado, asegúrate de usar claves de ordenamiento lo suficientemente detalladas para evitar las claves activas o modificar 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 tarda más en publicarse, en comparación con la publicación desde la misma región. El tiempo de publicación más largo reduce la tasa a la que tu suscripción escribe mensajes en Bigtable, lo que reduce 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 de Bigtable, consulta Cómo obtener asistencia.