Para configurar el formato de publicación de Pub/Sub del transcodificador de Mainframe Connector, agrega la configuración requerida en un archivo JSON y especifícalo con la opción --input-parameter pubsub-publish-configuration
=DataPath con el comando qsam decode
.
Debes definir la configuración de publicación de Pub/Sub como se especifica en la sección PubsubConfiguration.
En esta página, se describen los diversos parámetros de Pub/Sub que puedes configurar como parámetros de entrada para la transcodificación.
El objeto PubsubPublishConfiguration
contiene todas las opciones de configuración del decodificador de Pub/Sub.
PubsubPublishConfiguration
El objeto PubsubPublishConfiguration
te permite configurar los mensajes que se envían a Pub/Sub y se usa con el comando
qsam decode
.
Representación JSON |
---|
{ "attributes_configuration": object ( |
Campos | |
---|---|
attributes_configuration |
Especifica la configuración de los atributos. Puedes especificar la configuración como pares clave-valor que se pueden adjuntar a un mensaje de Pub/Sub. Luego, la configuración se puede usar para filtrar mensajes o transmitir metadatos adicionales. |
ordering_key_configuration |
Especifica la configuración de la clave de orden. Esta configuración verifica que los mensajes con la misma clave de ordenamiento se entreguen en orden. Si no estableces esta configuración, no se garantiza el orden de los mensajes. |
spillover_configuration |
Especifica la configuración para enviar los mensajes de desbordamiento.
Si no se establece, los mensajes de desbordamiento se envían al tema de entrada con un sufijo |
batching_settings |
Especifica la configuración por lotes para publicar mensajes. De forma predeterminada, el procesamiento por lotes está inhabilitado. Para obtener más información, consulta Cómo publicar con la configuración por lotes. |
flow_control_settings |
Especifica la configuración de control de flujo que se usará para publicar mensajes. De forma predeterminada, la configuración del control de flujo está inhabilitada. Para obtener más información, consulta Publica mensajes con la configuración del control de flujo. |
concurrency_control_settings |
Especifica la configuración de procesamiento de mensajes y simultaneidad para el cliente del publicador. Estos parámetros de configuración controlan el paralelismo para publicar mensajes, confirmar las publicaciones correctas y controlar los errores durante el proceso de publicación. Para obtener más información, consulta Control de simultaneidad. |
AttributesConfiguration
El mensaje AttributesConfiguration
especifica un conjunto fijo de atributos que definen cómo se obtienen los atributos para los mensajes de Pub/Sub.
Representación JSON |
---|
{ "attributes": object ( |
Campos | |
---|---|
attributes |
Es una colección de atributos clave-valor fijos que se adjuntarán a los mensajes de Pub/Sub. |
OrderingKeyConfiguration
El mensaje OrderingKeyConfiguration
especifica una cadena estática como la clave de orden que define cómo se determina la clave de orden para los mensajes de Pub/Sub.
Representación JSON |
---|
{ "key": string |
Campos | |
---|---|
key |
Es el valor de cadena que se usará como clave de orden para el mensaje de Pub/Sub. |
SpilloverConfiguration
El mensaje SpilloverConfiguration
define cómo especificar un tema alternativo para los mensajes de desbordamiento.
Puedes especificar un nombre de tema completo o un sufijo para agregar al nombre de tema de entrada.
Estas dos opciones son mutuamente excluyentes, por lo que debes elegir una.
Representación JSON |
---|
{ "name": string, "suffix": string |
Campos | |
---|---|
name |
Especifica el nombre de recurso completo de un tema alternativo para los mensajes de desbordamiento en el formato |
suffix |
Especifica un sufijo para agregarlo al nombre del tema de entrada de los mensajes de desbordamiento.
Por ejemplo, si el tema de entrada es |
BatchingSettings
El mensaje BatchingSettings
te permite especificar la configuración por lotes para publicar mensajes en Pub/Sub.
Debes verificar que la configuración por lotes esté configurada para respetar las cuotas y límites de Pub/Sub definidos.
Para inhabilitar el procesamiento por lotes, establece message_count_threshold=1
.
Representación JSON |
---|
{ "delay_threshold": string, "element_count_threshold": long, "request_byte_threshold": long |
Campos | |
---|---|
delay_threshold |
Especifica el umbral de demora que se usará para el procesamiento por lotes. Después de que transcurra la cantidad de tiempo definida por |
element_count_threshold |
Especifica el límite de recuento de mensajes que se usará para el procesamiento por lotes. Después de que se acumula la cantidad de mensajes definidos por |
request_byte_threshold |
Especifica el tamaño máximo en bytes de los mensajes que se acumularán antes de enviar un lote a Pub/Sub. Esto se aplica incluso si aún no se superan los umbrales de retraso o recuento de mensajes. Si tus mensajes son pequeños de forma constante, considera aumentar el umbral de bytes. El valor predeterminado es 1 byte. |
FlowControlSettings
El mensaje FlowControlSettings
te permite especificar cómo el cliente publicador administra el flujo de mensajes a Pub/Sub.
Esta configuración evita que el cliente consuma recursos excesivos o abrume a Pub/Sub.
Representación JSON |
---|
{ "limit_exceeded_behavior": enum ( |
Campos | |
---|---|
limit_exceeded_behavior |
Especifica el comportamiento cuando se superan los límites de control de flujo. El valor predeterminado es |
max_outstanding_element_count |
Especifica la cantidad máxima de mensajes que pueden estar pendientes (enviados, pero que Pub/Sub aún no confirmó). Si tu mainframe tiene memoria abundante y deseas enviar una capacidad de procesamiento muy alta, puedes intentar aumentar el recuento. |
max_outstanding_request_bytes |
Especifica el tamaño total máximo en bytes de los mensajes pendientes. |
ConcurrencyControlSettings
El mensaje ConcurrencyControlSettings
te permite configurar el paralelismo de la publicación de mensajes.
Esta configuración influye en la cantidad de mensajes que se pueden enviar de forma simultánea.
Representación JSON |
---|
{ "publishing_threads": int, "result_processing_threads": int |
Campos | |
---|---|
publishing_threads |
Especifica la cantidad de subprocesos de procesamiento para publicar mensajes. El valor debe ser igual o menor que la cantidad de núcleos disponibles. Si la cantidad de subprocesos es 0, la publicación se controla de forma síncrona. |
result_processing_threads |
Especifica la cantidad de subprocesos para procesar los resultados de los mensajes de Pub/Sub. Esto incluye confirmar los mensajes enviados correctamente y controlar los errores que se produzcan durante la publicación. Un valor de 0 significa que el paralelismo de procesamiento de resultados se controla de forma síncrona. El valor predeterminado es 1. |
Atributos
El mensaje Attributes
especifica una colección de pares clave-valor Attribute
que definen cómo se determinan los atributos.
Representación JSON |
---|
{ "attribute": object ( |
Campos | |
---|---|
attribute |
Especifica una colección de pares clave-valor. |
Atributo
El mensaje Attribute
representa un solo par clave-valor que se usa como atributo de mensaje de Pub/Sub.
Representación JSON |
---|
{ "key": string, "value": string |
Campos | |
---|---|
key |
Especifica la clave del atributo. |
value |
Especifica el valor del atributo. |
LimitExceededBehavior
La enumeración LimitExceededBehavior
te permite configurar el comportamiento cuando se superan los límites de control de flujo.
Enums | |
---|---|
BLOCK |
El publicador de Pub/Sub bloqueará el contenido cuando se superen los límites. Esto evita que se publiquen más mensajes hasta que los recursos estén disponibles. |
IGNORE |
El publicador de Pub/Sub ignorará los límites y seguirá publicando cuando se superen. Esto puede aumentar el consumo de recursos. |
THROW_EXCEPTION |
El publicador de Pub/Sub arrojará una excepción cuando se superen los límites, lo que indicará que no se pudo realizar la publicación. |