É possível configurar a formatação de publicação do Pub/Sub do transcodificador do Mainframe Connector adicionando a configuração necessária em um arquivo JSON e especificando esse arquivo usando a opção --input-parameter pubsub-publish-configuration=DataPath com o comando qsam decode.
Você precisa definir a configuração de publicação do Pub/Sub conforme especificado na seção PubsubConfiguration.
Nesta página, descrevemos os vários parâmetros do Pub/Sub que podem ser configurados como parâmetros de entrada para transcodificação.
O objeto PubsubPublishConfiguration contém todas as opções de configuração do decodificador do Pub/Sub.
PubsubPublishConfiguration
O objeto PubsubPublishConfiguration permite configurar as mensagens enviadas ao Pub/Sub e é usado com o comando
qsam decode.
| Representação JSON |
|---|
{ "attributes_configuration": object ( |
| Campos | |
|---|---|
attributes_configuration |
Especifique a configuração de atributos. É possível especificar a configuração como pares de chave-valor que podem ser anexados a uma mensagem do Pub/Sub. A configuração pode ser usada para filtragem de mensagens ou para transmitir metadados adicionais. |
batching_settings |
Especifique as configurações de lote para publicar mensagens. Por padrão, o processamento em lote está desativado. Para mais informações, consulte Publicar com configurações em lote. |
concurrency_control_settings |
Especifique as configurações de simultaneidade e processamento de mensagens para o cliente editor. Essas configurações controlam o paralelismo para publicação de mensagens, reconhecimento de entregas bem-sucedidas e tratamento de erros durante o processo de publicação. Para mais informações, consulte Controle de simultaneidade. |
flow_control_settings |
Especifique as configurações de controle de fluxo a serem usadas para publicar mensagens. Por padrão, as configurações de controle de fluxo estão desativadas. Para mais informações, consulte Publicar mensagens com as configurações do controle de fluxo. |
ordering_key_configuration |
Especifique a configuração da chave de ordenação. Essa configuração verifica se as mensagens com a mesma chave de ordenação são entregues em ordem. Se você não definir essa configuração, a ordem das mensagens não será garantida. |
spillover_configuration |
Especifique a configuração de como as mensagens de transbordamento são enviadas.
Se não for definido, as mensagens excedentes serão enviadas para o tópico de entrada com um sufixo |
AttributesConfiguration
A mensagem AttributesConfiguration especifica um conjunto fixo de atributos que definem como os atributos são
origem para mensagens do Pub/Sub.
| Representação JSON |
|---|
{ "attributes": object ( |
| Campos | |
|---|---|
attributes |
Uma coleção de atributos fixos de chave-valor a serem anexados às mensagens do Pub/Sub. |
Atributos
A mensagem Attributes especifica uma coleção de pares de chave-valor Attribute que definem como os atributos são determinados.
| Representação JSON |
|---|
{ "attribute": object ( |
| Campos | |
|---|---|
attribute |
Especifique uma coleção de pares de chave-valor. |
Atributo
A mensagem Attribute representa um único par de chave-valor usado como um atributo de mensagem do Pub/Sub.
| Representação JSON |
|---|
{ "key": string, "value": string |
| Campos | |
|---|---|
key |
Especifique a chave do atributo. |
value |
Especifique o valor do atributo. |
BatchingSettings
A mensagem BatchingSettings permite especificar as configurações de lote para publicar mensagens no Pub/Sub.
Verifique se as configurações de lote estão configuradas para respeitar as cotas e limites do Pub/Sub definidos.
Para desativar o processamento em lote, defina message_count_threshold=1.
| Representação JSON |
|---|
{ "delay_threshold": string, "element_count_threshold": long, "request_byte_threshold": long |
| Campos | |
|---|---|
delay_threshold |
Especifique o limite de atraso a ser usado para o processamento em lote. Depois que o período definido por
|
element_count_threshold |
Especifique o limite de contagem de mensagens a ser usado no processamento em lote. Depois que o número de mensagens definido por
|
request_byte_threshold |
Especifique o tamanho máximo em bytes das mensagens a serem acumuladas antes de enviar um lote para o Pub/Sub. Isso vale mesmo que os limites de atraso ou contagem de mensagens ainda não tenham sido excedidos. Se as mensagens forem consistentemente pequenas, aumente o limite de bytes. O valor padrão é 1 byte. |
ConcurrencyControlSettings
A mensagem ConcurrencyControlSettings permite configurar o paralelismo da publicação de mensagens.
Essas configurações influenciam quantas mensagens podem ser enviadas simultaneamente.
| Representação JSON |
|---|
{ "publishing_threads": int, "result_processing_threads": int |
| Campos | |
|---|---|
publishing_threads |
Especifique o número de linhas de execução de processamento para publicar mensagens. O valor precisa ser igual ou menor que o número de núcleos disponíveis. Se o número de linhas de execução for 0, a publicação será processada de forma síncrona. |
result_processing_threads |
Especifique o número de linhas de execução para processar os resultados das mensagens do Pub/Sub. Isso inclui reconhecer mensagens enviadas com sucesso e processar erros que ocorrem durante a publicação. Um valor de 0 significa que o paralelismo de processamento de resultados é tratado de forma síncrona. O valor padrão é 1. |
FlowControlSettings
A mensagem FlowControlSettings permite especificar como o cliente editor gerencia o fluxo de mensagens para o Pub/Sub.
Essas configurações impedem que o cliente consuma recursos excessivos ou sobrecarregue o Pub/Sub.
| Representação JSON |
|---|
{ "limit_exceeded_behavior": enum ( |
| Campos | |
|---|---|
limit_exceeded_behavior |
Especifique o comportamento quando os limites de controle de fluxo forem excedidos. O valor padrão é |
max_outstanding_element_count |
Especifique o número máximo de mensagens que podem estar pendentes (enviadas, mas ainda não confirmadas pelo Pub/Sub). Se o mainframe tiver muita memória e você quiser aumentar a alta capacidade de processamento, tente aumentar a contagem. |
max_outstanding_request_bytes |
Especifica o tamanho total máximo em bytes das mensagens pendentes. |
OrderingKeyConfiguration
A mensagem OrderingKeyConfiguration especifica uma string estática como a chave de ordenação que define como a
chave de ordenação para mensagens do Pub/Sub é determinada.
| Representação JSON |
|---|
{ "key": string |
| Campos | |
|---|---|
key |
O valor da string a ser usado como a chave de ordenação da mensagem do Pub/Sub. |
SpilloverConfiguration
A mensagem SpilloverConfiguration define como especificar um tópico alternativo para mensagens de transbordamento.
É possível especificar um nome de tópico completo ou um sufixo a ser anexado ao nome do tópico de entrada.
Essas duas opções são mutuamente exclusivas. Você precisa escolher uma delas.
| Representação JSON |
|---|
{ "name": string, "suffix": string |
| Campos | |
|---|---|
name |
Especifique o nome completo do recurso de um tópico alternativo para mensagens de transbordamento no formato |
suffix |
Especifique um sufixo a ser anexado ao nome do tópico de entrada para mensagens de transbordamento.
Por exemplo, se o tópico de entrada for |
Tipos enumerados
LimitExceededBehavior
A enumeração LimitExceededBehavior permite configurar o comportamento quando os limites de controle de fluxo são excedidos.
| Tipos enumerados | |
|---|---|
BLOCK |
O publisher do Pub/Sub será bloqueado quando os limites forem excedidos. Isso impede a publicação de mais mensagens até que os recursos fiquem disponíveis. |
IGNORE |
O editor do Pub/Sub ignora os limites e continua publicando quando eles são excedidos. Isso pode aumentar o consumo de recursos. |
THROW_EXCEPTION |
O editor do Pub/Sub vai gerar uma exceção quando os limites forem excedidos, indicando uma falha na publicação. |