从大型机将消息发布到 Pub/Sub

借助 Mainframe Connector,您可以从大型机将消息发布到 Pub/Sub。例如,您可以使用此功能将大型机与 BigQuery 或 Cloud Storage 集成、使用 Dataflow 增强消息数据,或触发 Cloud Run 函数。

准备工作

将消息发布到 Pub/Sub 主题

如需从大型机发布非结构化 Pub/Sub 消息,请使用 pubsub topics publish 命令,如下所示:

//STEP01 EXEC BQSH
//STDIN DD *
pubsub topics publish TOPIC --data="Hello,World"
/*

TOPIC 替换为 Pub/Sub 主题的名称。所需格式为 projects/{project}/topics/{topic}

将消息发布到 Pub/Sub 主题

借助大型机连接器,您可以将结构化消息从大型机发布到 Pub/Sub 主题。例如,您可以使用此功能通过 Pub/Sub 将队列式顺序访问方法 (QSAM) 记录从大型机转移到 BigQuery。以下是使用此方法的一些优势:

  • 您可以通过 Dataflow 或 Pub/Sub 并发多线程 (SMT) 使用 AI 转换数据或对数据进行增强。
  • 您可以将记录从大型机迁移到 Cloud Storage。
  • 您可以将大型机应用更新同步到云端系统,方法与变更数据捕获 (CDC) 类似。

如需将结构化消息从大型机发布到 Pub/Sub 主题,请按以下步骤操作:

  1. 创建一个 Pub/Sub 主题以发布消息。您还可以创建带架构的主题,以设置更多限制。如需了解详情,请参阅创建主题在创建主题时创建和关联架构
  2. 创建一个 Pub/Sub 主题,以捕获与无法转码的记录相关的信息。此主题称为溢出主题。如需了解如何创建 Pub/Sub 主题,请参阅创建主题
  3. (可选)如需在将记录发送到 Pub/Sub 之前将其转换为 JSON,请配置 JSON 配置文件。如果您未提供配置文件,系统会使用默认 JSON 配置。
  4. (可选)默认情况下,Pub/Sub 消息不包含排序键和属性。溢出消息会发送到带有 _spillover 后缀的溢出主题。如需更改默认值,您可以配置 Pub/Sub 发布配置文件。例如,您可以使用以下配置:

    {
      "spillover-configuration": {
        "name": SPILLOVER_TOPIC_NAME
      }
    }
    

    SPILLOVER_TOPIC_NAME 替换为您在第 2 步中创建的溢出主题的名称。所需格式为 projects/{project}/topics/{topic}。系统会将有关未正确解码的消息的信息保存到此溢出主题。

  5. 如需使用 qsam decode 命令将大型机记录发布到 Pub/Sub,请运行以下 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
    /*
    

    替换以下内容:

    • INPUT:QSAM 文件的数据路径
    • OUTPUT:您在第 1 步中创建的 Pub/Sub 主题的数据路径。所需格式为 pubsub:projects/{project}/topics/{topic}
    • TRANSCODE-CONFIG:包含转码配置的文件的数据路径。如需详细了解转码器配置格式,请参阅转码器配置
    • JSON_CONFIGURATION:(可选)JSON 配置文件数据路径。如果您未提供配置文件,系统会使用默认 JSON 配置。
    • PUBSUB_CONFIGURATION:(可选)Pub/Sub 发布配置文件数据路径。如果您未指定配置文件,系统将使用默认的 Pub/Sub 配置。