Puoi configurare la formattazione di pubblicazione Pub/Sub del transcoder Mainframe Connector aggiungendo la configurazione richiesta in un file JSON e specificando questo file utilizzando l'opzione --input-parameter pubsub-publish-configuration
=DataPath con il comando qsam decode
.
Devi definire la configurazione di pubblicazione Pub/Sub come specificato nella sezione PubsubConfiguration.
Questa pagina descrive i vari parametri Pub/Sub che puoi configurare come parametri di input per la transcodifica.
L'oggetto PubsubPublishConfiguration
contiene tutte le opzioni di configurazione del decodificatore Pub/Sub.
PubsubPublishConfiguration
L'oggetto PubsubPublishConfiguration
ti consente di configurare i messaggi inviati a Pub/Sub e viene utilizzato con il comando
qsam decode
.
Rappresentazione JSON |
---|
{ "attributes_configuration": object ( |
Campi | |
---|---|
attributes_configuration |
Specifica la configurazione degli attributi. Puoi specificare la configurazione come coppie chiave-valore che possono essere allegate a un messaggio Pub/Sub. La configurazione può essere utilizzata per filtrare i messaggi o per trasmettere metadati aggiuntivi. |
ordering_key_configuration |
Specifica la configurazione della chiave di ordinamento. Questa configurazione verifica che i messaggi con la stessa chiave di ordinamento vengano recapitati in ordine. Se non imposti questa configurazione, l'ordine dei messaggi non è garantito. |
spillover_configuration |
Specifica la configurazione per l'invio dei messaggi di overflow.
Se non è impostato, i messaggi di overflow vengono inviati all'argomento di input con un suffisso |
batching_settings |
Specifica le impostazioni batch per la pubblicazione dei messaggi. Per impostazione predefinita, l'elaborazione batch è disattivata. Per ulteriori informazioni, vedi Pubblicazione con impostazioni batch. |
flow_control_settings |
Specifica le impostazioni di controllo del flusso da utilizzare per la pubblicazione dei messaggi. Per impostazione predefinita, le impostazioni di controllo del flusso sono disattivate. Per ulteriori informazioni, vedi Pubblicare messaggi con le impostazioni di controllo del flusso. |
concurrency_control_settings |
Specifica le impostazioni di concorrenza ed elaborazione dei messaggi per il client publisher. Queste impostazioni controllano il parallelismo per la pubblicazione dei messaggi, l'acknowledgment delle pubblicazioni riuscite e la gestione di eventuali errori durante la procedura di pubblicazione. Per ulteriori informazioni, consulta Controllo della concorrenza. |
AttributesConfiguration
Il messaggio AttributesConfiguration
specifica un insieme fisso di attributi che definiscono la modalità di recupero degli attributi per i messaggi Pub/Sub.
Rappresentazione JSON |
---|
{ "attributes": object ( |
Campi | |
---|---|
attributes |
Una raccolta di attributi chiave/valore fissi da associare ai messaggi Pub/Sub. |
OrderingKeyConfiguration
Il messaggio OrderingKeyConfiguration
specifica una stringa statica come chiave di ordinamento che definisce come viene determinata la chiave di ordinamento per i messaggi Pub/Sub.
Rappresentazione JSON |
---|
{ "key": string |
Campi | |
---|---|
key |
Il valore di stringa da utilizzare come chiave di ordinamento per il messaggio Pub/Sub. |
SpilloverConfiguration
Il messaggio SpilloverConfiguration
definisce come specificare un argomento alternativo per i messaggi di overflow.
Puoi specificare un nome argomento completo o un suffisso da aggiungere al nome argomento inserito.
Queste due opzioni si escludono a vicenda; devi sceglierne una.
Rappresentazione JSON |
---|
{ "name": string, "suffix": string |
Campi | |
---|---|
name |
Specifica il nome completo della risorsa di un argomento alternativo per i messaggi di overflow nel formato |
suffix |
Specifica un suffisso da aggiungere al nome dell'argomento inserito per i messaggi di overflow.
Ad esempio, se l'argomento di input è |
BatchingSettings
Il messaggio BatchingSettings
ti consente di specificare le impostazioni batch per la pubblicazione dei messaggi in Pub/Sub.
Devi verificare che le impostazioni batch siano configurate in modo da rispettare le quote e i limiti di Pub/Sub definiti.
Per disattivare l'elaborazione batch, imposta message_count_threshold=1
.
Rappresentazione JSON |
---|
{ "delay_threshold": string, "element_count_threshold": long, "request_byte_threshold": long |
Campi | |
---|---|
delay_threshold |
Specifica la soglia di ritardo da utilizzare per l'elaborazione batch. Una volta trascorso il periodo di tempo definito da |
element_count_threshold |
Specifica la soglia di conteggio dei messaggi da utilizzare per l'elaborazione collettiva. Una volta accumulato il numero di messaggi definito da |
request_byte_threshold |
Specifica le dimensioni massime in byte dei messaggi da accumulare prima di inviare un batch a Pub/Sub. Ciò vale anche se non sono state ancora superate le soglie di ritardo o di numero di messaggi. Se i tuoi messaggi sono costantemente piccoli, ti consigliamo di aumentare la soglia in byte. Il valore predefinito è 1 byte. |
FlowControlSettings
Il messaggio FlowControlSettings
ti consente di specificare in che modo il client publisher gestisce il flusso di messaggi in Pub/Sub.
Queste impostazioni impediscono al client di consumare risorse eccessive o di sovraccaricare Pub/Sub.
Rappresentazione JSON |
---|
{ "limit_exceeded_behavior": enum ( |
Campi | |
---|---|
limit_exceeded_behavior |
Specifica il comportamento quando vengono superati i limiti di controllo del flusso. Il valore predefinito è |
max_outstanding_element_count |
Specifica il numero massimo di messaggi in attesa (inviati, ma non ancora confermati da Pub/Sub). Se il tuo mainframe ha memoria abbondante e vuoi aumentare molto la velocità effettiva, puoi provare ad aumentare il conteggio. |
max_outstanding_request_bytes |
Specifica la dimensione totale massima in byte dei messaggi in attesa. |
ConcurrencyControlSettings
Il messaggio ConcurrencyControlSettings
ti consente di configurare il parallelismo della pubblicazione dei messaggi.
Queste impostazioni influiscono sul numero di messaggi che possono essere inviati contemporaneamente.
Rappresentazione JSON |
---|
{ "publishing_threads": int, "result_processing_threads": int |
Campi | |
---|---|
publishing_threads |
Specifica il numero di thread di elaborazione per pubblicare i messaggi. Il valore deve essere uguale o inferiore al numero di core disponibili. Se il numero di thread è 0, la pubblicazione viene gestita in modo sincrono. |
result_processing_threads |
Specifica il numero di thread per l'elaborazione dei risultati dei messaggi Pub/Sub. Sono inclusi il riconoscimento dei messaggi inviati correttamente e la gestione degli errori che si verificano durante la pubblicazione. Un valore pari a 0 indica che il parallelismo di elaborazione dei risultati viene gestito in modo sincrono. Il valore predefinito è 1. |
Attributi
Il messaggio Attributes
specifica una raccolta di coppie chiave-valore Attribute
che definiscono la modalità di determinazione degli attributi.
Rappresentazione JSON |
---|
{ "attribute": object ( |
Campi | |
---|---|
attribute |
Specifica una raccolta di coppie chiave/valore. |
Attributo
Il messaggio Attribute
rappresenta una singola coppia chiave-valore utilizzata come attributo del messaggio Pub/Sub.
Rappresentazione JSON |
---|
{ "key": string, "value": string |
Campi | |
---|---|
key |
Specifica la chiave dell'attributo. |
value |
Specifica il valore dell'attributo. |
LimitExceededBehavior
L'enum LimitExceededBehavior
consente di configurare il comportamento quando i limiti di controllo del flusso vengono superati.
Enum | |
---|---|
BLOCK |
Il publisher Pub/Sub verrà bloccato quando i limiti vengono superati. In questo modo, non vengono pubblicati altri messaggi finché le risorse non diventano disponibili. |
IGNORE |
Il publisher Pub/Sub ignorerà i limiti e continuerà a pubblicare quando vengono superati. Ciò potrebbe comportare un aumento del consumo di risorse. |
THROW_EXCEPTION |
Il publisher Pub/Sub genera un'eccezione quando vengono superati i limiti, indicando un errore di pubblicazione. |