Mainframe Connector te permite publicar mensajes en Pub/Sub desde tu mainframe. Puedes usar esta función, por ejemplo, para integrar tu mainframe con BigQuery o Cloud Storage, aumentar los datos de los mensajes con Dataflow o activar funciones de Cloud Run.
Antes de empezar
- Si aún no lo has hecho, instala Mainframe Connector en tu mainframe.
- Para ejecutar comandos de Pub/Sub, comprueba que has asignado el rol Publicador de Pub/Sub a tu cuenta de usuario. Para obtener información sobre cómo asignar roles a una cuenta de usuario, consulta Gestionar el acceso con IAM.
- Configura las credenciales predeterminadas de la aplicación.
Publicar un mensaje en un tema de Pub/Sub
Para publicar un mensaje de Pub/Sub no estructurado desde tu mainframe, usa el comando pubsub topics publish
de la siguiente manera:
//STEP01 EXEC BQSH //STDIN DD * pubsub topics publish TOPIC --data="Hello,World" /*
Sustituye TOPIC
por el nombre del tema de Pub/Sub. El formato necesario es projects/{project}/topics/{topic}
.
Publicar mensajes en un tema de Pub/Sub
Mainframe Connector te permite publicar mensajes estructurados desde un mainframe en un tema de Pub/Sub. Por ejemplo, puede usar esta función para transferir registros de Queued Sequential Access Method (QSAM) de su mainframe a BigQuery mediante Pub/Sub. Estas son algunas de las ventajas de usar este método:
- Puedes transformar datos o aumentarlos con IA mediante Dataflow o mediante multihilo simultáneo (SMT) de Pub/Sub.
- Puedes mover registros de un mainframe a Cloud Storage.
- Puedes sincronizar las actualizaciones de aplicaciones de mainframe con sistemas basados en la nube de forma similar a la captura de datos de cambios (CDC).
Para publicar mensajes estructurados desde tu mainframe en un tema de Pub/Sub, sigue estos pasos:
- Crea un tema de Pub/Sub para publicar mensajes. Si quieres, puedes crear un tema con un esquema para añadir más restricciones. Para obtener más información, consulta Crear un tema o Crear y asociar un esquema al crear un tema.
- Crea un tema de Pub/Sub para registrar información sobre los registros que no se transcodifican. Este tema se denomina "tema de desbordamiento". Para obtener información sobre cómo crear un tema de Pub/Sub, consulta el artículo Crear un tema.
- (Opcional) Para convertir los registros a JSON antes de enviarlos a Pub/Sub, configura el archivo de configuración JSON. Si no proporcionas ningún archivo de configuración, se usará la configuración JSON predeterminada.
(Opcional) De forma predeterminada, los mensajes de Pub/Sub no contienen claves de ordenación ni atributos. Los mensajes de desbordamiento se envían al tema de desbordamiento con el sufijo
_spillover
. Para cambiar los valores predeterminados, puedes configurar el archivo de configuración de publicación de Pub/Sub. Por ejemplo, puedes usar la siguiente configuración:{ "spillover-configuration": { "name": SPILLOVER_TOPIC_NAME } }
Sustituye
SPILLOVER_TOPIC_NAME
por el nombre del tema de desbordamiento que has creado en el paso 2. El formato necesario esprojects/{project}/topics/{topic}
. La información sobre los mensajes que no se decodifican correctamente se guarda en este tema de desbordamiento.Para publicar registros de mainframe en Pub/Sub con el comando
qsam decode
, ejecuta el siguiente JCL://STEP01 EXEC BQSH //STDIN DD * qsam decode
INPUT
OUTPUT
\ --copybookCOPYBOOK
--transcode-configurationTRANSCODE-CONFIG
--output-format=JSONL --input-parameter=json-dialect=JSON_CONFIGURATION
--input-parameter=pubsub-publish-configuration=PUBSUB_CONFIGURATION
/*Haz los cambios siguientes:
INPUT
: la ruta de datos del archivo QSAM.OUTPUT
: la ruta de datos del tema de Pub/Sub que has creado en el paso 1. El formato obligatorio espubsub:projects/{project}/topics/{topic}
.TRANSCODE-CONFIG
: la ruta de datos del archivo que contiene la configuración de transcodificación. Para obtener más información sobre el formato de configuración del transcodificador, consulta Configuración del transcodificador.JSON_CONFIGURATION
: (opcional) la ruta de datos del archivo de configuración JSON. Si no proporcionas ningún archivo de configuración, se usará la configuración JSON predeterminada.PUBSUB_CONFIGURATION
: (opcional) la ruta de datos del archivo de configuración de publicación de Pub/Sub. Si no especificas ningún archivo de configuración, se usará la configuración predeterminada de Pub/Sub.