Puoi configurare la formattazione della pubblicazione Pub/Sub del transcodificatore 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 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ò quindi essere utilizzata per il filtraggio dei messaggi o per trasmettere metadati aggiuntivi. |
batching_settings |
Specifica le impostazioni batch per la pubblicazione dei messaggi. Per impostazione predefinita, l'elaborazione batch è disabilitata. Per ulteriori informazioni, vedi Pubblicare con le impostazioni batch. |
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, la conferma delle consegne riuscite e la gestione di eventuali errori durante il processo di pubblicazione. Per saperne di più, consulta Controllo della concorrenza. |
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 saperne di più, vedi Pubblicazione di messaggi con le impostazioni di controllo del flusso. |
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 la modalità di invio dei messaggi di overflow.
Se non è impostato, i messaggi di overflow vengono inviati all'argomento di input con il suffisso |
AttributesConfiguration
Il messaggio AttributesConfiguration specifica un insieme fisso di attributi che definiscono la modalità di origine degli attributi per i messaggi Pub/Sub.
| Rappresentazione JSON |
|---|
{ "attributes": object ( |
| Campi | |
|---|---|
attributes |
Una raccolta di attributi coppia chiave-valore fissi da allegare ai messaggi Pub/Sub. |
Attributi
Il messaggio Attributes specifica una raccolta di coppie chiave-valore Attribute che definiscono come vengono determinati gli 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. |
BatchingSettings
Il messaggio BatchingSettings ti consente di specificare le impostazioni batch per la pubblicazione di messaggi su 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. Trascorso il periodo di tempo definito da
|
element_count_threshold |
Specifica la soglia del conteggio dei messaggi da utilizzare per l'elaborazione batch. 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 ancora state superate le soglie di ritardo o di conteggio dei messaggi. Se i messaggi sono costantemente piccoli, valuta la possibilità di aumentare la soglia di byte. Il valore predefinito è 1 byte. |
ConcurrencyControlSettings
Il messaggio ConcurrencyControlSettings 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. Ciò include la conferma dei messaggi inviati correttamente e la gestione di eventuali 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. |
FlowControlSettings
Il messaggio FlowControlSettings ti consente di specificare in che modo il client publisher gestisce il flusso di messaggi a 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 che possono essere in sospeso (inviati ma non ancora confermati da Pub/Sub). Se il tuo mainframe ha molta memoria e vuoi ottenere un throughput elevato, puoi provare ad aumentare il conteggio. |
max_outstanding_request_bytes |
Specifica la dimensione totale massima in byte dei messaggi in attesa. |
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 della 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 dell'argomento completo o un suffisso da aggiungere al nome dell'argomento di input.
Queste due opzioni si escludono a vicenda, quindi 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 di input per i messaggi di overflow.
Ad esempio, se l'argomento di input è |
Enum
LimitExceededBehavior
L'enumerazione LimitExceededBehavior consente di configurare il comportamento quando vengono superati i limiti del controllo del flusso.
| Enum | |
|---|---|
BLOCK |
Il publisher Pub/Sub si bloccherà quando i limiti vengono superati. In questo modo si impedisce la pubblicazione di ulteriori messaggi fino a quando le risorse non saranno 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 genererà un'eccezione quando vengono superati i limiti, indicando un errore di pubblicazione. |