Para configurar el formato de publicación de Pub/Sub del transcodificador de Mainframe Connector, añade la configuración necesaria en un archivo JSON y especifica este archivo con la opción --input-parameter pubsub-publish-configuration
=DataPath del comando qsam decode
.
Debe definir la configuración de publicación de Pub/Sub tal como se especifica en la sección PubsubConfiguration.
En esta página se describen los distintos parámetros de Pub/Sub que puede 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. Puede especificar la configuración como pares clave-valor que se pueden adjuntar a un mensaje de Pub/Sub. La configuración se puede usar para filtrar mensajes o para transmitir metadatos adicionales. |
ordering_key_configuration |
Especifica la configuración de la clave de ordenación. Esta configuración verifica que los mensajes con la misma clave de ordenación se entreguen en orden. Si no define esta configuración, no se garantiza el orden de los mensajes. |
spillover_configuration |
Especifica la configuración de cómo se envían los mensajes de desbordamiento.
Si no se define, los mensajes de desbordamiento se envían al tema de entrada con el sufijo |
batching_settings |
Especifica la configuración de lote para publicar mensajes. De forma predeterminada, el procesamiento por lotes está inhabilitado. Para obtener más información, consulta Publicar con ajustes por lotes. |
flow_control_settings |
Especifica la configuración de control del flujo que se usará para publicar mensajes. De forma predeterminada, los ajustes de control de flujo están inhabilitados. Para obtener más información, consulta Publicar mensajes con la configuración de control del flujo. |
concurrency_control_settings |
Especifica la simultaneidad y la configuración de procesamiento de mensajes del cliente editor. Estos ajustes controlan el paralelismo de la publicación de mensajes, la confirmación de las entregas correctas y la gestión de los errores que se produzcan 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 de los mensajes de Pub/Sub.
Representación JSON |
---|
{ "attributes": object ( |
Campos | |
---|---|
attributes |
Conjunto de atributos de clave-valor fijos que se adjuntarán a los mensajes de Pub/Sub. |
OrderingKeyConfiguration
El mensaje OrderingKeyConfiguration
especifica una cadena estática como clave de ordenación que define cómo se determina la clave de ordenación de los mensajes de Pub/Sub.
Representación JSON |
---|
{ "key": string |
Campos | |
---|---|
key |
El valor de cadena que se usará como clave de ordenación del mensaje de Pub/Sub. |
SpilloverConfiguration
El mensaje SpilloverConfiguration
define cómo especificar un tema alternativo para los mensajes de desbordamiento.
Puede especificar el nombre completo del tema o un sufijo que se añadirá al nombre del tema de entrada.
Estas dos opciones se excluyen mutuamente, por lo que debes elegir una.
Representación JSON |
---|
{ "name": string, "suffix": string |
Campos | |
---|---|
name |
Especifica el nombre completo del recurso de un tema alternativo para los mensajes de desbordamiento con el formato |
suffix |
Especifica un sufijo que se añadirá al nombre del tema de entrada para los mensajes de desbordamiento.
Por ejemplo, si el tema de entrada es |
BatchingSettings
El mensaje BatchingSettings
te permite especificar la configuración de los lotes para publicar mensajes en Pub/Sub.
Debes verificar que la configuración de los lotes respete las cuotas y los límites de Pub/Sub definidos.
Para inhabilitar el procesamiento por lotes, define 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 retraso que se va a usar para el procesamiento por lotes. Una vez transcurrido el tiempo definido por |
element_count_threshold |
Especifica el umbral de recuento de mensajes que se debe usar para el procesamiento por lotes. Cuando se acumula el número de mensajes definido 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 aunque aún no se hayan superado los umbrales de retraso o de recuento de mensajes. Si tus mensajes son pequeños de forma constante, te recomendamos que aumentes el umbral de bytes. El valor predeterminado es 1 byte. |
FlowControlSettings
El mensaje FlowControlSettings
te permite especificar cómo gestiona el cliente editor el flujo de mensajes a Pub/Sub.
Estos ajustes impiden que el cliente consuma demasiados recursos o que sobrecargue 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 el número máximo de mensajes que pueden estar pendientes (enviados, pero aún no confirmados por Pub/Sub). Si tu mainframe tiene mucha memoria y quieres conseguir un rendimiento muy alto, puedes probar a 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.
Estos ajustes influyen en el número de mensajes que se pueden enviar simultáneamente.
Representación JSON |
---|
{ "publishing_threads": int, "result_processing_threads": int |
Campos | |
---|---|
publishing_threads |
Especifica el número de hilos de procesamiento para publicar mensajes. El valor debe ser igual o inferior al número de núcleos disponibles. Si el número de subprocesos es 0, la publicación se gestiona de forma síncrona. |
result_processing_threads |
Especifica el número de hilos para procesar los resultados de los mensajes de Pub/Sub. Esto incluye confirmar que los mensajes se han enviado correctamente y gestionar los errores que se produzcan durante la publicación. El valor 0 significa que el paralelismo del procesamiento de resultados se gestiona 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 único 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 |
Especifique el valor del atributo. |
LimitExceededBehavior
La enumeración LimitExceededBehavior
te permite configurar el comportamiento cuando se superan los límites de control de flujo.
Enumeraciones | |
---|---|
BLOCK |
El editor de Pub/Sub se bloqueará cuando se superen los límites. De esta forma, no se publicarán más mensajes hasta que haya recursos disponibles. |
IGNORE |
El editor de Pub/Sub ignorará los límites y seguirá publicando cuando se superen. Esto puede provocar un aumento del consumo de recursos. |
THROW_EXCEPTION |
El editor de Pub/Sub generará una excepción cuando se superen los límites, lo que indica que no se ha podido publicar. |