O Mainframe Connector permite publicar mensagens no Pub/Sub a partir do mainframe. É possível usar esse recurso, por exemplo, para integrar o mainframe ao BigQuery ou ao Cloud Storage, aumentar os dados de mensagens com o Dataflow ou acionar funções do Cloud Run.
Antes de começar
- Instale o Mainframe Connector no seu mainframe, caso ainda não tenha feito isso.
- Para executar comandos do Pub/Sub, verifique se você atribuiu o papel de Editor do Pub/Sub à sua conta de usuário. Para informações sobre como atribuir papéis a uma conta de usuário, consulte Gerenciar o acesso usando o IAM.
- Configure as Application Default Credentials.
Publicar uma mensagem em um tópico do Pub/Sub
Para publicar uma mensagem não estruturada do Pub/Sub no mainframe,
use o comando pubsub topics publish
da seguinte maneira:
//STEP01 EXEC BQSH //STDIN DD * pubsub topics publish TOPIC --data="Hello,World" /*
Substitua TOPIC
pelo nome do tópico do
Pub/Sub. O formato necessário é projects/{project}/topics/{topic}
.
Publicar mensagens em um tópico do Pub/Sub
O conector de mainframe permite publicar mensagens estruturadas de um mainframe em um tópico do Pub/Sub. Por exemplo, é possível usar esse recurso para transferir registros de método de acesso sequencial em fila (QSAM, na sigla em inglês) do mainframe para o BigQuery usando o Pub/Sub. Confira algumas das vantagens de usar essa abordagem:
- É possível transformar ou ampliar dados com IA usando o Dataflow ou a multitarefa simultânea (SMT) do Pub/Sub.
- É possível mover registros de um mainframe para o Cloud Storage.
- É possível sincronizar atualizações de aplicativos de mainframe com sistemas baseados na nuvem, de forma semelhante à captura de dados alterados (CDC).
Para publicar mensagens estruturadas do mainframe em um tópico do Pub/Sub, siga estas etapas:
- Crie um tópico do Pub/Sub para publicar mensagens. Opcionalmente, você pode criar um tópico com um esquema para mais restrições. Para mais informações, consulte Criar um tópico ou Criar e associar um esquema ao criar um tópico.
- Crie um tópico do Pub/Sub para capturar informações sobre registros que não podem ser transcodificados. Esse tópico é chamado de spillover. Para informações sobre como criar um tópico do Pub/Sub, consulte Criar um tópico.
- (Opcional) Para converter os registros em JSON antes de enviá-los ao Pub/Sub, configure o arquivo de configuração JSON. Se você não fornecer um arquivo de configuração, a configuração JSON padrão será usada.
(Opcional) Por padrão, as mensagens do Pub/Sub não contêm chaves de ordenação nem atributos. As mensagens de spillover são enviadas ao tópico de spillover com o sufixo
_spillover
. Para mudar os padrões, é possível configurar o arquivo de configuração de publicação do Pub/Sub. Por exemplo, você pode usar a seguinte configuração:{ "spillover-configuration": { "name": SPILLOVER_TOPIC_NAME } }
Substitua
SPILLOVER_TOPIC_NAME
pelo nome do tópico de extravasamento que você criou na etapa 2. O formato necessário éprojects/{project}/topics/{topic}
. As informações sobre mensagens que não são decodificadas corretamente são salvas neste tópico de extravasamento.Para publicar registros de mainframe no Pub/Sub usando o comando
qsam decode
, execute o seguinte 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
/*Substitua:
INPUT
: o caminho de dados do arquivo QSAM.OUTPUT
: o caminho de dados do tópico do Pub/Sub que você criou na etapa 1. O formato necessário épubsub:projects/{project}/topics/{topic}
.TRANSCODE-CONFIG
: o caminho de dados do arquivo que contém a configuração de transcodificação. Para mais informações sobre o formato de configuração do transcodificador, consulte Configuração do transcodificador.JSON_CONFIGURATION
: (opcional) o caminho de dados do arquivo de configuração JSON. Se você não fornecer um arquivo de configuração, a configuração JSON padrão será usada.PUBSUB_CONFIGURATION
: (opcional) o caminho de dados do arquivo de configuração de publicação do Pub/Sub. Se você não especificar um arquivo de configuração, a configuração padrão do Pub/Sub será usada.