Pode configurar a formatação de publicação do Pub/Sub do transcodificador do mainframe adicionando a configuração necessária num ficheiro JSON e especificando este ficheiro através da opção --input-parameter pubsub-publish-configuration
=DataPath com o comando qsam decode
.
Tem de definir a configuração de publicação do Pub/Sub conforme especificado na secção PubsubConfiguration.
Esta página descreve os vários parâmetros do Pub/Sub que pode configurar como parâmetros de entrada para a transcodificação.
O objeto PubsubPublishConfiguration
contém todas as opções de configuração do descodificador do Pub/Sub.
PubsubPublishConfiguration
O objeto PubsubPublishConfiguration
permite-lhe configurar as mensagens que são enviadas para o Pub/Sub e é usado com o comando
qsam decode
.
Representação JSON |
---|
{ "attributes_configuration": object ( |
Campos | |
---|---|
attributes_configuration |
Especifique a configuração dos atributos. Pode especificar a configuração como pares de chave-valor que podem ser anexados a uma mensagem do Pub/Sub. Em seguida, a configuração pode ser usada para a filtragem de mensagens ou para transmitir metadados adicionais. |
ordering_key_configuration |
Especifique a configuração da chave de ordenação. Esta configuração verifica se as mensagens com a mesma chave de ordenação são entregues por ordem. Se não definir esta configuração, a ordem das mensagens não é garantida. |
spillover_configuration |
Especifique a configuração de como as mensagens de transbordo são enviadas.
Se não estiver definido, as mensagens de transbordo são enviadas para o tópico de entrada com o sufixo |
batching_settings |
Especifique as definições de lote para publicar mensagens. Por predefinição, o processamento em lote está desativado. Para mais informações, consulte o artigo Publique com definições em lote. |
flow_control_settings |
Especifique as definições de controlo de fluxo a usar para publicar mensagens. Por predefinição, as definições de controlo de fluxo estão desativadas. Para mais informações, consulte o artigo Publique mensagens com definições de controlo de fluxo. |
concurrency_control_settings |
Especifique as definições de processamento de mensagens e simultaneidade para o cliente publicador. Estas definições controlam o paralelismo para publicar mensagens, confirmar entregas bem-sucedidas e processar erros durante o processo de publicação. Para mais informações, consulte o artigo Controlo de concorrência. |
AttributesConfiguration
A mensagem AttributesConfiguration
especifica um conjunto fixo de atributos que definem como os atributos são
obtidos para mensagens do Pub/Sub.
Representação JSON |
---|
{ "attributes": object ( |
Campos | |
---|---|
attributes |
Uma coleção de atributos de chave-valor fixos a anexar às mensagens do Pub/Sub. |
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 de string a usar como chave de ordenação para a mensagem do Pub/Sub. |
SpilloverConfiguration
A mensagem SpilloverConfiguration
define como especificar um tópico alternativo para mensagens de transbordo.
Pode especificar um nome de tópico completo ou um sufixo a anexar ao nome do tópico de entrada.
Estas duas opções são mutuamente exclusivas. Tem de escolher uma.
Representação JSON |
---|
{ "name": string, "suffix": string |
Campos | |
---|---|
name |
Especifique o nome completo do recurso de um tópico alternativo para mensagens de transbordo no formato |
suffix |
Especifique um sufixo a acrescentar ao nome do tópico de entrada para mensagens de transbordo.
Por exemplo, se o tópico de entrada for |
BatchingSettings
A mensagem BatchingSettings
permite-lhe especificar as definições de lote para publicar mensagens no Pub/Sub.
Deve verificar se as definições de lotes estão configuradas para respeitar as quotas e os 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 usar para o processamento em lote. Após o período definido por
|
element_count_threshold |
Especifique o limite de contagem de mensagens a usar para o processamento em lote. Depois de acumular o número de mensagens definido por
|
request_byte_threshold |
Especifique o tamanho máximo em bytes das mensagens a acumular antes de enviar um lote para o Pub/Sub. Isto aplica-se mesmo que ainda não tenha excedido os limites de atraso ou de número de mensagens. Se as suas mensagens forem sempre pequenas, considere aumentar o limite de bytes. O valor predefinido é 1 byte. |
FlowControlSettings
A mensagem FlowControlSettings
permite-lhe especificar como o cliente publicador gere o fluxo de mensagens para o Pub/Sub.
Estas definiçõ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 controlo de fluxo são excedidos. O valor predefinido é |
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 quiser enviar um débito muito elevado, pode tentar aumentar a contagem. |
max_outstanding_request_bytes |
Especifica o tamanho total máximo em bytes das mensagens pendentes. |
ConcurrencyControlSettings
A mensagem ConcurrencyControlSettings
permite-lhe configurar o paralelismo da publicação de mensagens.
Estas definições influenciam o número de mensagens que podem ser enviadas em simultâneo.
Representação JSON |
---|
{ "publishing_threads": int, "result_processing_threads": int |
Campos | |
---|---|
publishing_threads |
Especifique o número de threads de processamento para publicar mensagens. O valor deve ser igual ou inferior ao número de núcleos disponíveis. Se o número de threads for 0, a publicação é processada de forma síncrona. |
result_processing_threads |
Especifique o número de threads para o processamento dos resultados das mensagens do Pub/Sub. Isto inclui a confirmação de mensagens enviadas com êxito e o processamento de erros que ocorram durante a publicação. Um valor de 0 significa que o paralelismo do processamento de resultados é processado de forma síncrona. O valor predefinido é 1. |
Atributos
A mensagem Attributes
especifica uma coleção de pares de valor-chave 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. |
LimitExceededBehavior
A enumeração LimitExceededBehavior
permite-lhe configurar o comportamento quando os limites do controlo de fluxo são excedidos.
Enumerações | |
---|---|
BLOCK |
O publicador do Pub/Sub bloqueia quando os limites são excedidos. Isto impede a publicação de mais mensagens até que os recursos fiquem disponíveis. |
IGNORE |
O publicador do Pub/Sub ignora os limites e continua a publicar quando estes são excedidos. Isto pode levar a um aumento do consumo de recursos. |
THROW_EXCEPTION |
O publicador do Pub/Sub gera uma exceção quando os limites são excedidos, o que indica uma falha na publicação. |