您可以在 JSON 文件中添加所需配置,并通过 qsam decode 命令使用 --input-parameter pubsub-publish-configuration=DataPath 选项指定此文件,从而配置 Mainframe Connector 转码器的 Pub/Sub 发布格式。您必须按照 PubsubConfiguration 部分中的规定定义 Pub/Sub 发布配置。
本页介绍了您可以配置的各种 Pub/Sub 参数,这些参数可作为转码的输入参数。
PubsubPublishConfiguration 对象包含所有 Pub/Sub 解码器配置选项。
PubsubPublishConfiguration
PubsubPublishConfiguration 对象用于配置发送到 Pub/Sub 的消息,并与 qsam decode 命令搭配使用。
| JSON 表示法 |
|---|
{ "attributes_configuration": object ( |
| 字段 | |
|---|---|
attributes_configuration |
指定属性配置。您可以将配置指定为可附加到 Pub/Sub 消息的键值对。然后,该配置可用于过滤消息或传递其他元数据。 |
batching_settings |
指定用于发布消息的批处理设置。默认情况下,批处理处于停用状态。 如需了解详情,请参阅使用批量设置发布。 |
concurrency_control_settings |
为发布方客户端指定并发和消息处理设置。 这些设置用于控制发布消息、确认成功传送以及处理发布过程中出现的任何错误的并行性。 如需了解详情,请参阅并发控制。 |
flow_control_settings |
指定用于发布消息的流控制设置。默认情况下,流控制设置处于停用状态。如需了解详情,请参阅使用流控制设置发布消息。 |
ordering_key_configuration |
指定排序键配置。此配置用于验证具有相同排序键的消息是否按顺序传送。如果您未设置此配置,则无法保证消息排序。 |
spillover_configuration |
指定有关如何发送溢出消息的配置。
如果未设置,溢出消息会发送到带有 |
AttributesConfiguration
AttributesConfiguration 消息指定了一组固定的属性,用于定义如何为 Pub/Sub 消息获取属性。
| JSON 表示法 |
|---|
{ "attributes": object ( |
| 字段 | |
|---|---|
attributes |
要附加到 Pub/Sub 消息的一组固定键值对属性。 |
属性
Attributes 消息指定了一个 Attribute 键值对集合,用于定义如何确定属性。
| JSON 表示法 |
|---|
{ "attribute": object ( |
| 字段 | |
|---|---|
attribute |
指定键值对的集合。 |
属性
Attribute 消息表示用作 Pub/Sub 消息属性的单个键值对。
| JSON 表示法 |
|---|
{ "key": string, "value": string |
| 字段 | |
|---|---|
key |
指定属性的键。 |
value |
指定属性的值。 |
BatchingSettings
借助 BatchingSettings 消息,您可以指定将消息发布到 Pub/Sub 的批处理设置。
您应验证批处理设置是否已配置为遵守已定义的 Pub/Sub 配额和限制。如需停用批处理,请设置 message_count_threshold=1。
| JSON 表示法 |
|---|
{ "delay_threshold": string, "element_count_threshold": long, "request_byte_threshold": long |
| 字段 | |
|---|---|
delay_threshold |
指定用于批处理的延迟阈值。在经过 |
element_count_threshold |
指定用于批量处理的消息数量阈值。当累积的消息数达到 |
request_byte_threshold |
指定在向 Pub/Sub 发送批次之前要累积的消息的最大大小(以字节为单位)。 即使尚未超出延迟或消息数量阈值,也是如此。 如果您的消息始终较小,请考虑提高字节阈值。 默认值为 1 字节。 |
ConcurrencyControlSettings
借助 ConcurrencyControlSettings 消息,您可以配置消息发布的并行性。这些设置会影响可同时发送的邮件数量。
| JSON 表示法 |
|---|
{ "publishing_threads": int, "result_processing_threads": int |
| 字段 | |
|---|---|
publishing_threads |
指定用于发布消息的处理线程数。该值应小于或等于可用核心数。 如果线程数为 0,则发布操作会同步处理。 |
result_processing_threads |
指定用于处理 Pub/Sub 消息结果的线程数。 这包括确认成功发送的消息,以及处理发布期间发生的任何错误。 值为 0 表示结果处理并行性是同步处理的。 默认值为 1。 |
FlowControlSettings
借助 FlowControlSettings 消息,您可以指定发布者客户端如何管理向 Pub/Sub 的消息流。
这些设置可防止客户端消耗过多资源或使 Pub/Sub 过载。
| JSON 表示法 |
|---|
{ "limit_exceeded_behavior": enum ( |
| 字段 | |
|---|---|
limit_exceeded_behavior |
指定超出流控制限制时的行为。默认值为 |
max_outstanding_element_count |
指定可未完成(已发送但尚未被 Pub/Sub 确认)的消息数量上限。如果您的主机内存充足,并且您希望实现非常高的吞吐量,可以尝试增加数量。 |
max_outstanding_request_bytes |
指定待处理消息的总大小上限(以字节为单位)。 |
OrderingKeyConfiguration
OrderingKeyConfiguration 消息指定一个静态字符串作为排序键,用于定义如何确定 Pub/Sub 消息的排序键。
| JSON 表示法 |
|---|
{ "key": string |
| 字段 | |
|---|---|
key |
用作 Pub/Sub 消息排序键的字符串值。 |
SpilloverConfiguration
SpilloverConfiguration 消息定义了如何为溢出消息指定备用主题。您可以指定完整的主题名称,也可以指定要附加到输入主题名称的后缀。这两个选项是互斥的,您必须选择一个。
| JSON 表示法 |
|---|
{ "name": string, "suffix": string |
| 字段 | |
|---|---|
name |
以 |
suffix |
指定要附加到溢出消息的输入主题名称的后缀。
例如,如果输入主题为 |
枚举
LimitExceededBehavior
通过 LimitExceededBehavior 枚举,您可以配置超出流控制限制时的行为。
| 枚举 | |
|---|---|
BLOCK |
当超出限制时,Pub/Sub 发布者会阻塞。这样可防止在资源可用之前发布更多消息。 |
IGNORE |
当超出限制时,Pub/Sub 发布者会忽略限制并继续发布。这可能会导致资源消耗增加。 |
THROW_EXCEPTION |
当超出限制时,Pub/Sub 发布者会抛出异常,表明发布失败。 |