借助 Mainframe Connector,您可以从大型机将消息发布到 Pub/Sub。例如,您可以使用此功能将大型机与 BigQuery 或 Cloud Storage 集成、使用 Dataflow 增强消息数据,或触发 Cloud Run 函数。
准备工作
- 如果您尚未在大型机上安装大型机连接器,请先安装。
- 如需运行 Pub/Sub 命令,请确保您已向用户账号分配 Pub/Sub Publisher 角色。如需了解如何向用户账号分配角色,请参阅使用 IAM 管理访问权限。
- 设置应用默认凭据。
将消息发布到 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 主题,请按以下步骤操作:
- 创建一个 Pub/Sub 主题以发布消息。您还可以创建带架构的主题,以设置更多限制。如需了解详情,请参阅创建主题或在创建主题时创建和关联架构。
- 创建一个 Pub/Sub 主题,以捕获与无法转码的记录相关的信息。此主题称为溢出主题。如需了解如何创建 Pub/Sub 主题,请参阅创建主题。
- (可选)如需在将记录发送到 Pub/Sub 之前将其转换为 JSON,请配置 JSON 配置文件。如果您未提供配置文件,系统会使用默认 JSON 配置。
(可选)默认情况下,Pub/Sub 消息不包含排序键和属性。溢出消息会发送到带有
_spillover
后缀的溢出主题。如需更改默认值,您可以配置 Pub/Sub 发布配置文件。例如,您可以使用以下配置:{ "spillover-configuration": { "name": SPILLOVER_TOPIC_NAME } }
将
SPILLOVER_TOPIC_NAME
替换为您在第 2 步中创建的溢出主题的名称。所需格式为projects/{project}/topics/{topic}
。系统会将有关未正确解码的消息的信息保存到此溢出主题。如需使用
qsam decode
命令将大型机记录发布到 Pub/Sub,请运行以下 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
/*替换以下内容:
INPUT
:QSAM 文件的数据路径。OUTPUT
:您在第 1 步中创建的 Pub/Sub 主题的数据路径。所需格式为pubsub:projects/{project}/topics/{topic}
。TRANSCODE-CONFIG
:包含转码配置的文件的数据路径。如需详细了解转码器配置格式,请参阅转码器配置。JSON_CONFIGURATION
:(可选)JSON 配置文件的数据路径。如果您未提供配置文件,系统会使用默认 JSON 配置。PUBSUB_CONFIGURATION
:(可选)Pub/Sub 发布配置文件的数据路径。如果您未指定配置文件,系统将使用默认的 Pub/Sub 配置。