Compartir contenido en streaming con Pub/Sub
Puedes compartir temas de Pub/Sub mediante la función de compartir de BigQuery (antes Analytics Hub) para crear y distribuir una biblioteca de datos de streaming entre varios límites organizativos internos y externos. Los datos de streaming en tiempo real se comparten mediante intercambios y fichas de BigQuery sharing, lo que te permite categorizar y agrupar lógicamente grandes conjuntos de temas de Pub/Sub, así como proporcionar acceso a gran escala.
Puedes compartir datos de streaming para hacer lo siguiente:
- Servicios financieros:
- Comparte en tiempo real los precios, las cotizaciones y los pedidos de instrumentos que cambian rápidamente.
- Detectar el blanqueo de dinero y el fraude en los pagos.
- Admite cálculos de riesgo de trading.
- Comercio y productos de gran consumo (CPG):
- Gestionar el inventario de la tienda en tiempo real.
- Personaliza el marketing y la asistencia.
- Ajustar los precios de forma dinámica.
- Monitoriza los canales de redes sociales.
- Optimizar la distribución de las tiendas físicas.
- Sanidad:
- Potencia los algoritmos predictivos para monitorizar a los pacientes y analizar los riesgos en tiempo real.
- Monitoriza los signos vitales con dispositivos médicos wearables.
- Adquirir, estructurar, almacenar y procesar automáticamente los datos de pacientes, profesionales sanitarios y administradores de centros.
- Monitoriza el estado de la red y predice fallos.
- Descubre patrones de comportamiento de los usuarios para localizar mejor los dispositivos y las antenas.
Roles obligatorios
Los roles para compartir temas de Pub/Sub son análogos a los roles para compartir conjuntos de datos de BigQuery:
- Administrador: gestiona los permisos, la visibilidad y la pertenencia de los intercambios y las fichas. Este rol es análogo al rol de gestión de identidades y accesos Administrador de Analytics Hub (
roles/analyticshub.admin). - Editor de temas compartidos: crea, gestiona y concede acceso a fichas de temas de Pub/Sub compartidos. Este rol es análogo al rol de gestión de identidades y accesos Editor de Analytics Hub o Administrador de fichas de Analytics Hub. El editor es un usuario, no la aplicación de editor que crea y envía mensajes al tema.
- Suscriptor de temas compartidos: se suscribe a la lista de temas compartidos. Los suscriptores de temas compartidos pueden configurar cómo se entregan los mensajes de los temas. Este rol es análogo al rol de gestión de identidades y accesos Suscriptor de Analytics Hub o Propietario de la suscripción de Analytics Hub. En función de cómo se entreguen los datos de los mensajes, es posible que se necesiten permisos adicionales, como los permisos de la cuenta de servicio de Pub/Sub para escribir mensajes en BigQuery.
Arquitectura
En el siguiente diagrama se describe cómo interactúan los editores y los suscriptores de recursos de Pub/Sub con BigQuery sharing:
Limitaciones
La función de compartir emisiones con Pub/Sub tiene las siguientes limitaciones:
- Un tema compartido admite un máximo de 10.000 suscripciones de Pub/Sub. Este límite incluye las suscripciones de Pub/Sub vinculadas y las suscripciones de Pub/Sub creadas fuera de la función Compartir, como las que se crean directamente desde Pub/Sub.
Los temas compartidos se indexan en Data Catalog (obsoleto) y Dataplex Universal Catalog, pero no puedes filtrar específicamente por su tipo de recurso.
Las métricas de uso se registran y se muestran en el panel Métricas de los temas y las suscripciones de Pub/Sub compartidos, pero no están disponibles en
INFORMATION_SCHEMA.SHARED_DATASET_USAGE.Para monitorizar las métricas, consulta Monitorizar Pub/Sub en Cloud Monitoring.
Entre estas métricas se pueden incluir las siguientes:
- Número de mensajes de publicación
- Solicitudes de publicación
- Rendimiento de publicación en bytes
- Las 5 suscripciones principales
- Bytes ingeridos
- Otras
Habilitar la API Analytics Hub
Para habilitar la API Analytics Hub, haz lo siguiente:
Consola
Ve a la biblioteca de APIs y habilita la API Analytics Hub en tuGoogle Cloud proyecto.
gcloud
Ejecuta el comando gcloud services enable:
gcloud services enable analyticshub.googleapis.com
Habilitar la API Pub/Sub
Ve a la biblioteca de APIs y habilita la API Pub/Sub en tu Google Cloud proyecto.
Flujos de trabajo de editores de temas compartidos
Como editor de un tema compartido, puedes hacer lo siguiente:
- Añade temas compartidos a un exchange creando una ficha.
- Actualizar una ficha.
- Eliminar una ficha.
- Compartir una ficha.
- Gestionar las suscripciones a tu ficha.
- Quita suscriptores de tu ficha.
Permisos de editor adicionales
Para llevar a cabo tareas de editor de temas compartidos, debe tener el rol Editor de Analytics Hub (roles/analyticshub.publisher) en un exchange o en una ficha. Para ver todos los intercambios de datos de los proyectos de una organización a los que tienes acceso, debes tener el permiso resourcemanager.organizations.get.
Además, necesitas el permiso pubsub.topics.setIamPolicy en el tema de Pub/Sub que quieras mostrar. Para compartir temas con un esquema adjunto, debes conceder a los suscriptores de uso compartido de BigQuery el permiso pubsub.schemas.get en el esquema adjunto al tema. Este permiso permite a los suscriptores de BigQuery Sharing analizar correctamente los mensajes de la suscripción de Pub/Sub.
Crear una ficha (para añadir un tema compartido)
Para añadir un tema compartido a una ficha, selecciona una de las siguientes opciones:
Consola
Vaya a la página Compartir (Analytics Hub).
Ir a Compartir (Analytics Hub)
En la página se muestran todos los intercambios de datos a los que tienes acceso.
Haga clic en el nombre del intercambio de datos en el que quiera crear la ficha.
Haz clic en Crear ficha.
En la página Crear anuncio, selecciona Tema de Pub/Sub en la lista Tipo de recurso.
Selecciona un tema de Pub/Sub de la lista Tema compartido o haz clic en Crear un tema.
En la página Tu ficha, en el campo Nombre visible, introduce el nombre de la ficha.
Introduce los siguientes detalles opcionales:
Categoría: selecciona hasta dos categorías que representen mejor tu ficha. Los suscriptores de un tema compartido pueden filtrar las fichas según estas categorías.
Afinidad de datos: la región o las regiones que usa el editor de temas compartidos para publicar datos. Esta información ayuda a los suscriptores de temas compartidos a minimizar o evitar los costes de salida de red de Pub/Sub leyendo datos de la misma región. Para obtener más información sobre los costes de salida, consulta Costes de transferencia de datos.
Icono: un icono para tu ficha. Se admiten los formatos de archivo PNG y JPEG. Los iconos deben tener un tamaño inferior a 512 KiB y unas dimensiones máximas de 512x512 píxeles.
Descripción: una breve descripción de tu ficha. Los suscriptores de temas compartidos pueden buscar fichas según la descripción.
Visibilidad pública: habilita la visibilidad pública de tu ficha en el catálogo de uso compartido de BigQuery. También debes definir los permisos de la ficha. Haz clic en Acciones en el intercambio y, a continuación, en Definir permisos. Concede a
allUsersoallAuthenticatedusersel rol Lector de Analytics Hub (roles/analyticshub.viewer). Haz clic en Permitir acceso público.Documentación > Markdown: información adicional, como enlaces a documentación relevante y otros detalles que ayuden a los suscriptores de temas compartidos a usar tu tema.
En la página Información de contacto del perfil, introduce los siguientes detalles opcionales:
Contacto principal: introduce una dirección de correo o una URL para el contacto principal de la ficha.
Contacto para solicitar acceso: introduce una dirección de correo o una URL del formulario de solicitud que puedan usar los suscriptores del tema compartido para ponerse en contacto contigo.
Proveedor: amplía la sección Proveedor y especifica los detalles en los siguientes campos:
- Nombre del proveedor: el nombre del proveedor del tema.
- Contacto principal del proveedor: una dirección de correo o una URL del contacto principal del proveedor del tema.
Los suscriptores de temas compartidos pueden filtrar las fichas en función de los proveedores de datos.
Editor: despliega la sección Editor y especifica los detalles en los siguientes campos:
- Nombre del editor: el nombre del editor del tema compartido que crea la ficha.
- Contacto principal del editor: una dirección de correo o una URL del contacto principal del editor del tema compartido.
Consulta la página Vista previa de la ficha.
Haz clic en Publicar.
API
Usa el método projects.locations.dataExchanges.listings.create.
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings?listingId=LISTING_ID
Haz los cambios siguientes:
PROJECT_ID: el ID del proyecto que contiene el intercambio de datos en el que quiere crear la ficha.LOCATION: la ubicación de tu intercambio de datos. Para obtener más información sobre las ubicaciones que admiten la función Compartir, consulta Regiones admitidas.DATAEXCHANGE_ID: el ID de intercambio de datos.LISTING_ID: el ID de la ficha.
En el cuerpo de la solicitud, proporciona los detalles de la ficha. Si la solicitud se realiza correctamente, el cuerpo de la respuesta contiene los detalles de la ficha.
Para obtener más información sobre las tareas que puede realizar en las fichas mediante APIs, consulte los métodos de projects.locations.dataExchanges.listings.
Actualizar una ficha
Para actualizar una ficha, selecciona una de las siguientes opciones:
Consola
Vaya a la página Compartir (Analytics Hub).
Haga clic en el nombre del intercambio de datos que contiene la ficha.
Haz clic en la ficha que quieras actualizar.
Haz clic en Editar ficha.
Modifica los valores de los campos. Puede modificar todos los valores, excepto el tema compartido de la ficha.
Para guardar los cambios, haz clic en Publicar.
API
Usa el método projects.locations.dataExchanges.listings.patch.
PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID?updateMask=UPDATEMASK
Haz los cambios siguientes:
PROJECT_ID: el ID del proyecto que contiene el intercambio de datos en el que quiere crear la ficha.LOCATION: la ubicación de tu intercambio de datos. Para obtener más información sobre las ubicaciones que admiten la función Compartir, consulta Regiones admitidas.DATAEXCHANGE_ID: el ID de intercambio de datos.LISTING_ID: el ID de la ficha.UPDATEMASK: la lista de campos que quieras actualizar. Para actualizar varios valores, utilice una lista separada por comas.
En el cuerpo de la solicitud, especifica los valores actualizados.
Para obtener más información sobre las tareas que puede realizar en las fichas mediante APIs, consulte los métodos de projects.locations.dataExchanges.listings.
Eliminar una ficha
No puedes eliminar fichas con temas de Pub/Sub compartidos que tengan suscripciones activas. Revoca todas las suscripciones activas antes de intentar eliminar una ficha de tema compartido. No puedes deshacer la eliminación de una ficha.
Para eliminar una ficha, selecciona una de las siguientes opciones:
Consola
Vaya a la página Compartir (Analytics Hub).
Haga clic en el nombre del intercambio de datos que contiene la ficha.
Haz clic en la ficha que quieras eliminar.
Haz clic en Eliminar.
En el cuadro de diálogo ¿Eliminar ficha?, confirma la eliminación escribiendo
delete.Haz clic en Eliminar.
API
Usa el método projects.locations.dataExchanges.listings.delete.
DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID
Haz los cambios siguientes:
PROJECT_ID: el ID del proyecto que contiene el intercambio de datos en el que quiere crear la ficha.LOCATION: la ubicación de tu intercambio de datos. Para obtener más información sobre las ubicaciones que admiten la función Compartir, consulta Regiones admitidas.DATAEXCHANGE_ID: el ID de intercambio de datos.LISTING_ID: el ID de la ficha.
Para obtener más información sobre las tareas que puede realizar en las fichas mediante APIs, consulte los métodos de projects.locations.dataExchanges.listings.
Compartir una ficha
Para dar acceso a un usuario a una ficha privada, define una política de gestión de identidades y accesos para ese usuario o grupo en la ficha. En el caso de las fichas comerciales, el intercambio de datos debe ser público.
Las fichas de un intercambio de datos público aparecen en la sección Compartir con todos los Google Cloud usuarios (allAuthenticatedUsers).
Para permitir que los usuarios soliciten acceso a las fichas comerciales, concédales el rol Lector de Analytics Hub
(roles/analyticshub.viewer).
Para dar acceso a los usuarios para que vean o se suscriban a tu ficha, sigue estos pasos:
Vaya a la página Compartir (Analytics Hub).
Haga clic en el nombre del intercambio de datos que contiene la ficha.
Haz clic en la ficha en la que quieras añadir suscriptores a temas compartidos.
Haz clic en Establecer permisos.
Para añadir principales, haz clic en Añadir principal.
En el campo Nuevos principales, añade los detalles según el tipo de ficha:
- En el caso de las fichas privadas, introduce las direcciones de correo de las identidades a las que quieras dar acceso.
- Para una ficha pública, añade
allAuthenticatedUsers.
En el menú Seleccionar un rol, elija Centro de análisis y, a continuación, seleccione uno de los siguientes roles en función del tipo de ficha:
- En el caso de una ficha comercial, selecciona el rol Lector del centro de analíticas. Este rol permite a los usuarios ver la ficha y solicitar acceso.
- En el caso de las fichas públicas privadas o no comerciales, selecciona el rol Suscriptor del centro de análisis. Este rol permite a los usuarios suscribirse a tu ficha.
Haz clic en Guardar.
Para obtener más información, consulta Roles de suscriptor y lector de Analytics Hub.
Gestionar suscripciones
Para permitir que un usuario se suscriba a una ficha con un tema compartido, concédele los roles Suscriptor de Analytics Hub (roles/analyticshub.subscriber) y Propietario de la suscripción de Analytics Hub (roles/analyticshub.subscriptionOwner) en una ficha específica:
Vaya a la página Compartir (Analytics Hub).
Haga clic en el nombre del intercambio de datos que contenga la ficha de la que quiera gestionar las suscripciones.
Haz clic en la ficha de la que quieras obtener la lista de suscriptores de temas compartidos.
Haz clic en Establecer permisos.
Para añadir principales, haz clic en Añadir principal.
En el campo Nuevos principales, introduce los nombres de usuario o las direcciones de correo de los suscriptores que quieras añadir.
En Selecciona un rol, elige Lector de Analytics Hub > Analytics Hub.
Haz clic en Añadir otro rol.
En Selecciona un rol, elige Centro de analíticas > Propietario de la suscripción al centro de analíticas.
Haz clic en Guardar.
Puedes eliminar y actualizar suscriptores en cualquier momento haciendo clic en Establecer permisos.
Revocar una suscripción
Para quitar una suscripción a una lista de temas compartidos de la función para compartir de BigQuery, seleccione una de las siguientes opciones:
Consola
Para ver los suscriptores de un tema compartido de una ficha, sigue las instrucciones de la consola en Ver todas las suscripciones.Google Cloud
Haz clic en la pestaña Suscripciones para ver todas las suscripciones al intercambio de datos.
Marca la casilla situada junto a las suscripciones que quieras eliminar o selecciona todas las suscripciones.
En el cuadro de diálogo ¿Revocar suscripción?, introduce
revokepara confirmar.Haz clic en Revocar.
API
Para eliminar una suscripción, utiliza el método projects.locations.subscriptions.revoke.
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/subscriptions/SUBSCRIPTION_ID:revoke
Haz los cambios siguientes:
PROJECT_ID: el ID del proyecto de la suscripción que quieres quitar.LOCATION: la ubicación de la suscripción.SUBSCRIPTION_ID: el ID de la suscripción que quieres quitar.
Cuando revocas una suscripción de un recurso compartido de BigQuery, el suscriptor de un tema compartido deja de recibir datos de mensajes del tema compartido. La suscripción de Pub/Sub se desvincula del tema compartido. Si eliminas una suscripción directamente de Pub/Sub, la suscripción de uso compartido de BigQuery se mantiene y requiere una limpieza.
Flujos de trabajo de suscriptores
Como suscriptor del uso compartido de BigQuery, puedes ver una ficha y suscribirte a ella. Al suscribirse a una ficha de un tema compartido, se crea una suscripción de Pub/Sub vinculada en el proyecto del suscriptor. La suscripción de Pub/Sub se puede ver en el proyecto del editor del tema compartido.
Permisos de suscriptor adicionales
Para realizar tareas de suscriptor, debe tener el rol Suscriptor de Analytics Hub (roles/analyticshub.subscriber) a nivel de proyecto, exchange o anuncio.
Suscribirse a una lista de temas compartida
Para suscribirte a una ficha con un tema compartido, selecciona una de las siguientes opciones:
Consola
Para ver una lista de las fichas a las que puedes acceder, sigue los pasos que se indican en el artículo Ver fichas.
Busca las fichas y haz clic en la que quieras suscribirte. Aparecerá un cuadro de diálogo con los detalles de la ficha.
Haz clic en Suscribirse para abrir el cuadro de diálogo Crear suscripción.
Si no has habilitado la API Analytics Hub en tu proyecto, aparecerá un mensaje de error con un enlace para habilitarla. Haga clic en Habilitar la API Analytics Hub.
En el cuadro de diálogo Crear suscripción, especifica los siguientes detalles:
- ID de suscripción: especifica el nombre de la suscripción que vas a crear.
- Tipo de entrega: selecciona cómo se entregan los datos de los mensajes.
- Periodo de retención del mensaje: define el periodo de retención del mensaje.
- Periodo de caducidad: se define cuando caduca la suscripción tras un periodo de inactividad (si es el caso).
- Plazo límite de confirmación: define la hora límite de confirmación.
- Filtro de suscripciones: define la sintaxis de filtro de los mensajes.
- Entrega exactamente una vez: habilita la entrega exactamente una vez.
- Ordenación de mensajes: habilita la ordenación de mensajes con una clave de orden.
- Mensajes fallidos: habilita los mensajes fallidos.
- Política de reintentos: define una política de reintentos.
Para obtener más información sobre las propiedades de las suscripciones a Pub/Sub, consulta el artículo Propiedades de las suscripciones.
Para guardar los cambios, haz clic en Crear. La suscripción de Pub/Sub vinculada se crea en tu proyecto.
API
Usa el método projects.locations.dataExchanges.listings.subscribe.
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:subscribe
Haz los cambios siguientes:
PROJECT_ID: el ID del proyecto de la ficha a la que quieres suscribirte.LOCATION: la ubicación de la ficha a la que quieres suscribirte.DATAEXCHANGE_ID: el ID de intercambio de datos de la ficha a la que quieres suscribirte.LISTING_ID: el ID de la ficha a la que quieras suscribirte.
En el cuerpo de la solicitud, especifica la suscripción de Pub/Sub en la que quieras crear la suscripción de Pub/Sub vinculada. Si la solicitud se hace correctamente, el cuerpo de la respuesta estará vacío.
Para obtener más información sobre las suscripciones a Pub/Sub, consulta la descripción general de las suscripciones.
Precios
Los editores de temas de Pub/Sub no incurren en ningún cargo adicional por enumerar y compartir temas a través de la función de compartir de BigQuery. A los editores de temas compartidos se les cobra por el total de bytes escritos (rendimiento de publicación) en el tema compartido y por la salida de red (si procede). A los suscriptores de temas compartidos se les cobra por el total de bytes leídos (rendimiento de suscripción) de la suscripción vinculada y por el tráfico de salida de la red (si procede). Para obtener más información, consulta la lista de precios de Pub/Sub.
Controles de Servicio de VPC
En el caso de los temas compartidos de proyectos con perímetros de Controles de Servicio de VPC, define las reglas de entrada y salida adecuadas para conceder acceso a los editores y suscriptores de temas compartidos.
Siguientes pasos
- Consulta cómo gestionar tus fichas.
- Consulta información sobre cómo suscribirte a fichas.
- Consulta información sobre cómo monitorizar tus recursos de Pub/Sub.
- Consulta cómo configurar Controles de Servicio de VPC para compartir datos de BigQuery.