Uso compartido de transmisiones con Pub/Sub
Puedes compartir temas de Pub/Sub a través de BigQuery sharing para seleccionar y distribuir una biblioteca de datos de transmisión en varios límites organizacionales internos y externos. Los datos de transmisión en tiempo real se comparten mediante los intercambios y las fichas de uso compartido de BigQuery, lo que te permite categorizar y agrupar de forma lógica grandes conjuntos de temas de Pub/Sub y aprovisionar acceso a gran escala.
Puedes compartir datos de transmisión para realizar las siguientes acciones:
- Servicios financieros:
- Comparte en tiempo real los precios de los instrumentos, las cotizaciones y los pedidos que cambian rápidamente
- Detecta el lavado de dinero y el fraude en los pagos
- Compatibilidad con los cálculos de riesgos comerciales
- Venta minorista y bienes de consumo envasados (CPG):
- Ayuda a las tiendas a administrar el inventario en tiempo real
- Personaliza el marketing y la asistencia al cliente
- Ajusta los precios de forma dinámica
- Supervisa canales de redes sociales
- Optimiza los diseños de tiendas físicas
- Servicios de salud:
- Potencia los algoritmos predictivos para supervisar pacientes y analizar riesgos en tiempo real
- Supervisa las métricas con dispositivos médicos que puedas ponerte
- Adquisición, estructura, almacenamiento y procesamiento automáticos de datos de pacientes, profesionales de la salud y administración de instalaciones
- Telecomunicaciones:
- Revisa el estado de la red y predice fallas
- Descubre patrones de comportamiento de los usuarios para ubicar mejor los dispositivos y las antenas
Roles obligatorios
Los roles para compartir temas de Pub/Sub son similares a compartir conjuntos de datos de BigQuery:
- Administrador: Es un usuario que administra los permisos, la visibilidad y la membresía de los intercambios y las fichas. Usa el rol Analytics Hub Admin.
- Publicador (de un tema compartido): Un usuario que crea, administra y otorga acceso a las listas de los temas de Pub/Sub compartidos. Usa el rol Analytics Hub Publisher o Analytics Hub Listing Admin. El publicador al que se hace referencia aquí es un usuario y no la aplicación de publicador que crea y envía los mensajes al tema.
- Suscriptor (de un tema compartido): Es un usuario que se suscribe a la ficha de temas compartida. Los suscriptores pueden configurar cómo se entregarán los mensajes por temas. Usa el rol Analytics Hub Subscriber o el rol Propietario de la suscripción a Analytics Hub. Según cómo se entreguen los datos del mensaje, es posible que se requieran roles adicionales (p.ej., permisos de cuenta de servicio de Pub/Sub para escribir mensajes en BigQuery).
Arquitectura
En el siguiente diagrama, se describe cómo interactúan los publicadores y suscriptores a los recursos de Pub/Sub con el uso compartido de BigQuery:
- Temas compartidos
- Un tema compartido es la unidad que se comparte de un tema de Pub/Sub en Uso compartido. Como publicador, debes crear o usar un tema de Pub/Sub existente para distribuir datos de mensajes a tus suscriptores. El uso compartido no replica el tema de Pub/Sub de origen.
- Fichas
- Se crea una ficha cuando un publicador agrega un tema compartido a un intercambio. Contiene una referencia al tema compartido.
- Intercambios
- Un intercambio es una agrupación lógica de fichas que hacen referencia a temas compartidos.
- Suscripciones vinculadas a Pub/Sub
- Cuando te suscribes a una ficha con un tema compartido, se crea una suscripción a Pub/Sub vinculada en el proyecto del suscriptor. Una suscripción a Pub/Sub también se representa en el proyecto de Publisher como una suscripción a Pub/Sub y una suscripción a la ficha de Compartir.
- Un tema compartido puede tener un máximo de 10,000 suscripciones a Pub/Sub. Este límite incluye las suscripciones de Pub/Sub vinculadas y las suscripciones de Pub/Sub creadas fuera de Compartir, por ejemplo, las suscripciones creadas directamente desde Pub/Sub.
Los temas compartidos se indexan en Data Catalog (obsoleto) y en el Catálogo universal de Dataplex, pero no puedes filtrar específicamente por su tipo de recurso.
Las métricas de uso se capturan y muestran en el panel Métricas para los temas y las suscripciones de Pub/Sub compartidos, pero no están disponibles en
INFORMATION_SCHEMA.SHARED_DATASET_USAGE.Para supervisar las métricas, consulta Supervisa Pub/Sub en Cloud Monitoring.
Estas métricas pueden incluir lo siguiente:
- Cantidad de mensajes publicados
- Solicitudes de publicación
- Capacidad de procesamiento de publicación en bytes
- Principales 5 suscripciones
- Bytes transferidos
- Otros
- Crear una ficha para agregar temas compartidos a un intercambio
- Actualiza una ficha
- Borra una ficha
- Comparte una ficha
- Administra las suscripciones a tu ficha
- Quitar suscriptores de tu ficha
Ve a la página Uso compartido (Analytics Hub).
Ir a Uso compartido (Analytics Hub)
Aparecerá una página que enumera todos los intercambios de datos a los que puedes acceder.
Haz clic en el nombre del intercambio de datos en el que deseas crear la ficha.
Haz clic en Crear ficha.
En la página Crear ficha, selecciona “Tema de Pub/Sub” en el menú desplegable Tipo de recurso.
Selecciona un tema de Pub/Sub existente en el menú desplegable Tema compartido o haz clic en Crear un tema.
En la página Detalles de la ficha, en Nombre visible, ingresa el nombre de la ficha.
Ingresa los siguientes detalles opcionales:
Categoría: Selecciona hasta dos categorías que representen de mejor manera tu ficha. Los suscriptores pueden filtrar fichas según estas categorías.
Afinidad de datos: las regiones que usa el publicador para publicar los datos. Esta información es útil para que los suscriptores minimicen o eviten los costos de salida de red de Pub/Sub mediante la lectura de los datos desde la misma región. Para obtener más información sobre los costos de salida, consulta Costos de transferencia de datos.
Ícono: Un ícono para tu ficha. Se admiten los formatos de archivo PNG y JPEG. Los íconos deben tener un tamaño de archivo de menos de 512 KiB y dimensiones de no más de 512 x 512 píxeles.
Descripción: Una descripción breve de tu ficha. Los suscriptores 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 establecer permisos para la ficha. Haz clic en Acciones del intercambio y en Establecer permisos. Otorga a
allUsersoallAuthenticatedusersel rol Analytics Hub Viewer. Haz clic en Permitir acceso público.Documentación > Markdown: información adicional, como vínculos a cualquier documentación relevante y cualquier información adicional que pueda ayudar a los suscriptores a usar tu tema.
En la página Información de contacto de la ficha, ingresa los siguientes detalles opcionales:
Contacto principal: Ingresa un correo electrónico o una URL del contacto principal de la ficha.
Solicitar contacto de acceso: Ingresa un correo electrónico o una URL del formulario de admisión para que los suscriptores se comuniquen contigo.
Proveedor: Expande 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: Un correo electrónico o una URL del contacto principal del proveedor del tema.
Los suscriptores pueden filtrar las fichas según los proveedores de datos.
Publicador: Expande la sección Publicador y especifica los detalles en los siguientes campos:
- Nombre del publicador: el nombre del publicador que crea la ficha.
- Contacto principal del publicador: Un correo electrónico o una URL del contacto principal del publicador del tema.
Revisa la página Vista previa de la ficha.
Haz clic en Publicar.
PROJECT_ID: el ID del proyecto que contiene el intercambio de datos en el que deseas crear la ficha.LOCATION: la ubicación de tu intercambio de datos. Para obtener más información sobre las ubicaciones compatibles con Compartir, consulta Regiones admitidas.DATAEXCHANGE_ID: el ID del intercambio de datos.LISTING_ID: el ID de la ficha.Ve a la página Uso compartido (Analytics Hub).
Haz clic en el nombre del intercambio de datos que contiene la ficha.
Haz clic en la ficha que deseas actualizar.
Haz clic en Editar ficha.
Modifica los valores en los campos. Puedes modificar todos los valores, excepto el tema compartido de la ficha.
Para guardar los cambios, haz clic en Publicar.
PROJECT_ID: el ID del proyecto que contiene el intercambio de datos en el que deseas crear la ficha.LOCATION: la ubicación de tu intercambio de datos. Para obtener más información sobre las ubicaciones compatibles con Compartir, consulta Regiones admitidas.DATAEXCHANGE_ID: el ID del intercambio de datos.LISTING_ID: el ID de la ficha.UPDATEMASK: la lista de campos que deseas actualizar. Si deseas actualizar varios valores, usa una lista separada por comas.Ve a la página Uso compartido (Analytics Hub).
Haz clic en el nombre del intercambio de datos que contiene la ficha.
Haz clic en la ficha que deseas borrar.
Haz clic en Borrar.
En el cuadro de diálogo ¿Borrar ficha?, escribe borrar para confirmar la eliminación.
Haz clic en Borrar.
PROJECT_ID: el ID del proyecto que contiene el intercambio de datos en el que deseas crear la ficha.LOCATION: la ubicación de tu intercambio de datos. Para obtener más información sobre las ubicaciones compatibles con Compartir, consulta Regiones admitidas.DATAEXCHANGE_ID: el ID del intercambio de datos.LISTING_ID: el ID de la ficha.Ve a la página Uso compartido (Analytics Hub).
Haz clic en el nombre del intercambio de datos que contiene la ficha.
Haz clic en la ficha a la que deseas agregar suscriptores.
Haz clic en Establecer permisos.
Para agregar principales, haz clic en Agregar principal.
En el campo Principales nuevos, agrega los siguientes detalles según el tipo de ficha:
- Para una ficha privada, ingresa el correo electrónico de la identidad a la que deseas otorgar acceso.
- Para una ficha pública, agrega
allAuthenticatedUsers.
En el menú Selecciona un rol, selecciona Analytics Hub y, luego, según el tipo de ficha, selecciona uno de los siguientes roles:
- Para una ficha comercial, selecciona el rol Analytics Hub Viewer. Este rol permite a los usuarios ver la ficha y solicitar acceso.
- Para una ficha pública privada o no comercial, selecciona el rol de suscriptor de Analytics Hub. Este rol permite que los usuarios se suscriban a tu ficha.
Haz clic en Guardar.
Ve a la página Uso compartido (Analytics Hub).
Haz clic en el nombre del intercambio de datos que contiene la ficha para la que deseas administrar las suscripciones.
Haz clic en la ficha para la que deseas enumerar todos los suscriptores.
Haz clic en Establecer permisos.
Para agregar principales, haz clic en Agregar principal.
En el campo Principales nuevas, ingresa los nombres de usuario o los correos electrónicos de los suscriptores que deseas agregar.
En Seleccionar un rol, selecciona Analytics Hub > Suscriptor de Analytics Hub.
Haz clic en Agregar otro rol.
En Seleccionar un rol, selecciona Analytics Hub > Propietario de la suscripción a Analytics Hub.
Haz clic en Guardar.
Para enumerar todos los suscriptores de una ficha, sigue las instrucciones de la Google Cloud consola en Ver todas las suscripciones.
Haz clic en la pestaña Suscripciones para ver todas las suscripciones al intercambio de datos.
Selecciona la casilla de verificación junto a las suscripciones que quieres quitar o selecciona todas las suscripciones.
En el cuadro de diálogo ¿Revocar suscripción?, ingresa revocar para confirmar.
Haz clic en Revocar.
PROJECT_ID: el ID del proyecto de la suscripción que deseas quitar.LOCATION: la ubicación de la suscripción.SUBSCRIPTION_ID: el ID de la suscripción que deseas quitar.Para ver una lista de las fichas a las que tienes acceso, sigue los pasos que se indican en Visualiza las fichas.
Explora 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 tienes habilitada la API de Analytics Hub en tu proyecto, aparecerá un mensaje de error con un vínculo para habilitar la API. Haz clic en Habilitar la API de Analytics Hub.
En el cuadro de diálogo Crear suscripción, especifica los siguientes detalles:
- ID de la suscripción: Especifica el nombre de la suscripción que crearás.
- Tipo de publicación: Selecciona el mecanismo sobre cómo se entregarán los datos del mensaje.
- Duración de la retención de mensajes: establece la duración de la retención de mensajes.
- Período de vencimiento: Se establece en qué momento vence la suscripción después de la inactividad, si es que sucede.
- Plazo de confirmación: establece el plazo límite de confirmación.
- Filtro de suscripción: establece la sintaxis del filtro en los mensajes.
- Entrega “exactamente una vez”: Habilita la entrega “exactamente una vez”.
- Ordenamiento de mensajes: Habilita el orden de los mensajes con una clave de orden.
- Mensajes no entregados: habilita los mensajes no entregados.
- Política de reintentos: Establece una política de reintentos.
Para obtener más información sobre las propiedades de suscripción de Pub/Sub, consulta propiedades de suscripción.
Para guardar los cambios, haz clic en Crear. La suscripción de Pub/Sub vinculada se crea en tu proyecto.
PROJECT_ID: el ID del proyecto de la ficha a la que deseas suscribirte.LOCATION: la ubicación de la ficha a la que deseas suscribirte.DATAEXCHANGE_ID: el ID del intercambio de datos de la ficha a la que deseas suscribirte.LISTING_ID: el ID de la ficha a la que deseas suscribirte.
Limitaciones
El uso compartido de transmisiones con Pub/Sub tiene las siguientes limitaciones:
Habilita la API de Analytics Hub
Para habilitar la API de Analytics Hub, haz lo siguiente:
Console
Ve a la biblioteca de API y habilita la API de Analytics Hub para tu Google Cloud proyecto.
gcloud
Ejecuta el comando gcloud services enable:
gcloud services enable analyticshub.googleapis.com
Habilita la API de Pub/Sub
Ve a la biblioteca de la API y habilita la API de Pub/Sub para tu Google Cloud proyecto.
Flujos de trabajo del publicador
Como publicador de Analytics Hub, puedes hacer lo siguiente:
Permisos adicionales del publicador
Para realizar tareas de publicador, debes tener el rol Publicador de Analytics Hub (roles/analyticshub.publisher) en un intercambio o una ficha. Para ver todos los intercambios de datos de los proyectos de una organización a la 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 deseas enumerar. Para compartir temas con un esquema adjunto, debes otorgar a los suscriptores de Analytics Hub el permiso pubsub.schemas.get en el esquema adjunto al tema. Esto permite que los suscriptores de Analytics Hub analicen correctamente los mensajes de la suscripción a Pub/Sub.
Crea una ficha (para agregar un tema compartido)
Para agregar un tema compartido a una ficha, selecciona una de las siguientes opciones:
Console
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
Reemplaza lo siguiente:
En el cuerpo de la solicitud, proporciona los detalles de la ficha. Si la solicitud se realiza de forma correcta, el cuerpo de la respuesta contendrá detalles de la ficha.
Para obtener más información sobre las tareas que puedes realizar en las fichas mediante las API, consulta Métodos projects.locations.dataExchanges.listings.
Actualiza una ficha
Para actualizar una ficha, elige una de las siguientes opciones:
Console
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
Reemplaza lo siguiente:
En el cuerpo de la solicitud, especifica los valores actualizados.
Para obtener más información sobre las tareas que puedes realizar en las fichas mediante las API, consulta Métodos projects.locations.dataExchanges.listings.
Borra una ficha
No se pueden borrar las fichas con temas de Pub/Sub compartidos con suscripciones activas. Revoca todas las suscripciones activas antes de intentar borrar una ficha de tema compartido. Una vez que se borra una ficha, no puedes deshacerlo. Para borrar una ficha, elige una de las siguientes opciones:
Console
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
Reemplaza lo siguiente:
Para obtener más información sobre las tareas que puedes realizar en las fichas mediante las API, consulta Métodos projects.locations.dataExchanges.listings.
Comparte una ficha
Si deseas otorgar a los usuarios acceso a una ficha privada, debes configurar una política de IAM para una persona o un grupo para esa ficha. Para una ficha comercial, tu intercambio de datos debe ser público. Las fichas de un intercambio de datos públicos aparecen en Compartir para todos los usuarios de Google Cloud (allAuthenticatedUsers). Para permitir que los usuarios soliciten acceso a las fichas comerciales, debes otorgarles el rol Analytics Hub Viewer.
A fin de otorgar a los usuarios acceso para ver tu ficha o suscribirse a ella, sigue estos pasos:
Para obtener más información, consulta los roles de suscriptor y visualizador de Analytics Hub.
Administrar suscripciones
Para permitir que un usuario se suscriba a una ficha con un tema compartido, otórgale los roles de Suscriptor de Analytics Hub (roles/analyticshub.subscriber) y de Propietario de la suscripción a Analytics Hub (roles/analyticshub.subscriptionOwner ) en una ficha específica:
Puedes borrar y actualizar suscriptores en cualquier momento; para ello, haz clic en Establecer permisos.
Cómo revocar una suscripción
Para quitar una suscripción a una ficha de tema compartida desde Compartir, selecciona una de las siguientes opciones:
Console
API
Para borrar una suscripción, usa el método projects.locations.subscriptions.revoke.
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/subscriptions/SUBSCRIPTION_ID:revoke
Reemplaza lo siguiente:
Cuando revocas una suscripción del uso compartido de BigQuery, un suscriptor ya no recibe datos de mensajes del tema compartido. La suscripción a Pub/Sub está desconectada del tema compartido. Si se borra una suscripción directamente de Pub/Sub, la suscripción de uso compartido de BigQuery persistirá y se deberá limpiar.
Flujos de trabajo de los suscriptores
Como suscriptor de Analytics Hub, puedes ver una ficha y suscribirte a ella. Suscribirse a una ficha de un tema compartido crea una suscripción de Pub/Sub vinculada en el proyecto del suscriptor. La suscripción a Pub/Sub se verá en el proyecto del publicador.
Permisos adicionales de suscriptor
Debes tener el rol Suscriptor de Analytics Hub (roles/analyticshub.subscriber) a nivel de proyecto, intercambio o ficha para realizar tareas de suscriptor.
Suscríbete a una lista de temas compartida
Para suscribirte a una ficha con un tema compartido, selecciona una de las siguientes opciones:
Console
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
Reemplaza lo siguiente:
En el cuerpo de la solicitud, especifica la suscripción a Pub/Sub en la que deseas crear la suscripción a Pub/Sub vinculada. Si se ejecuta correctamente, el cuerpo de la respuesta está vacío.
Para obtener más información sobre las suscripciones a Pub/Sub, consulta la descripción general de las suscripciones.
Precios
No se aplican cargos adicionales a los publicadores de temas de Pub/Sub por enumerar y compartir temas a través de Compartir. Se cobra a los publicadores por la cantidad total de bytes escritos (capacidad de procesamiento de publicación) en el tema compartido y la salida de red (si corresponde). A los suscriptores se les cobra por la cantidad total de bytes leídos (capacidad de procesamiento de suscripción) de la suscripción vinculada y la salida de red (si corresponde). Consulta los precios de Pub/Sub para obtener más detalles.
Controles del servicio de VPC
Para los temas compartidos de proyectos que tienen perímetros de Controles del servicio de VPC, puedes configurar las reglas de entrada y salida adecuadas necesarias para otorgar acceso a los publicadores y suscriptores.