Publicar mensagens no Pub/Sub do mainframe

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

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:

  1. 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.
  2. 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.
  3. (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.
  4. (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.

  5. 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 \
     --copybook COPYBOOK
     --transcode-configuration TRANSCODE-CONFIG
         --output-format=JSONL
         --input-parameter=json-dialect=JSON_CONFIGURATION
         --input-parameter=pubsub-publish-configuration=PUBSUB_CONFIGURATION
    /*
    

    Substitua: