您可以通过在 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 消息的键值对。然后,该配置可用于消息过滤或传达其他元数据。 |
ordering_key_configuration |
指定排序键配置。此配置用于验证具有相同排序键的消息是否按顺序传送。如果您未设置此配置,则无法保证消息的顺序。 |
spillover_configuration |
指定溢出消息的传送方式配置。
如果未设置,系统会将溢出消息发送到带有 |
batching_settings |
指定发布消息的批处理设置。默认情况下,批处理处于停用状态。 如需了解详情,请参阅使用批量设置发布。 |
flow_control_settings |
指定用于发布消息的流控制设置。默认情况下,流量控制设置处于停用状态。如需了解详情,请参阅使用流控制设置发布消息。 |
concurrency_control_settings |
为发布商客户端指定并发性和消息处理设置。 这些设置用于控制发布消息、确认成功传送以及处理发布过程中的任何错误的并行性。如需了解详情,请参阅并发控制。 |
AttributesConfiguration
AttributesConfiguration
消息指定一组固定的属性,用于定义如何为 Pub/Sub 消息获取属性。
JSON 表示法 |
---|
{ "attributes": object ( |
字段 | |
---|---|
attributes |
要附加到 Pub/Sub 消息的一组固定键值属性。 |
OrderingKeyConfiguration
OrderingKeyConfiguration
消息指定一个静态字符串作为排序键,该键定义了如何确定 Pub/Sub 消息的排序键。
JSON 表示法 |
---|
{ "key": string |
字段 | |
---|---|
key |
要用作 Pub/Sub 消息的排序键的字符串值。 |
SpilloverConfiguration
SpilloverConfiguration
消息定义了如何为溢出消息指定备用主题。您可以指定完整的主题名称,也可以指定要附加到输入主题名称的后缀。这两个选项是互斥的,您必须选择其中一个。
JSON 表示法 |
---|
{ "name": string, "suffix": string |
字段 | |
---|---|
name |
以 |
suffix |
指定要附加到输入主题名称的后缀,以便接收溢出消息。
例如,如果输入主题为 |
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 字节。 |
FlowControlSettings
借助 FlowControlSettings
消息,您可以指定发布方客户端如何管理向 Pub/Sub 发送消息的流程。这些设置可防止客户端过度耗用资源或使 Pub/Sub 过载。
JSON 表示法 |
---|
{ "limit_exceeded_behavior": enum ( |
字段 | |
---|---|
limit_exceeded_behavior |
指定超出流控制限制时的行为。默认值为 |
max_outstanding_element_count |
指定可以有多少未处理的消息(已发送但尚未由 Pub/Sub 确认)。 如果您的大型机有充足的内存,并且您希望实现非常高的吞吐量,可以尝试增加计数。 |
max_outstanding_request_bytes |
指定待处理消息的总大小上限(以字节为单位)。 |
ConcurrencyControlSettings
借助 ConcurrencyControlSettings
消息,您可以配置消息发布的并行性。这些设置会影响可以同时发送多少封邮件。
JSON 表示法 |
---|
{ "publishing_threads": int, "result_processing_threads": int |
字段 | |
---|---|
publishing_threads |
指定用于发布消息的处理线程数。该值应等于或小于可用核心数。如果线程数为 0,则发布会同步处理。 |
result_processing_threads |
指定用于处理 Pub/Sub 消息结果的线程数。 这包括确认成功发送的消息,以及处理发布过程中发生的任何错误。值为 0 表示同步处理结果处理并行性。默认值为 1。 |
属性
Attributes
消息指定一组 Attribute
键值对,用于定义确定属性的方式。
JSON 表示法 |
---|
{ "attribute": object ( |
字段 | |
---|---|
attribute |
指定一组键值对。 |
属性
Attribute
消息表示一个用作 Pub/Sub 消息属性的键值对。
JSON 表示法 |
---|
{ "key": string, "value": string |
字段 | |
---|---|
key |
指定属性的键。 |
value |
指定属性的值。 |
LimitExceededBehavior
借助 LimitExceededBehavior
枚举,您可以配置超出流量控制限制时的行为。
枚举 | |
---|---|
BLOCK |
当超出限制时,Pub/Sub 发布端将进行屏蔽。这会阻止在有资源可用之前发布更多消息。 |
IGNORE |
Pub/Sub 发布方会忽略限制,并在超出限制时继续发布。这可能会导致资源消耗增加。 |
THROW_EXCEPTION |
当超出限制时,Pub/Sub 发布方会抛出异常,表示发布失败。 |