Pub/Sub-Konfiguration

Du kannst die Pub/Sub-Veröffentlichungsformatierung des Mainframe Connector-Transcoders konfigurieren, indem du die erforderliche Konfiguration in eine JSON-Datei einfügst und diese Datei mit dem Befehl qsam decode und der Option --input-parameter pubsub-publish-configuration=DataPath angibst. Sie müssen die Pub/Sub-Veröffentlichungskonfiguration wie im Abschnitt PubsubConfiguration angegeben definieren.

Auf dieser Seite werden die verschiedenen Pub/Sub-Parameter beschrieben, die du als Eingabeparameter für das Transcodieren konfigurieren kannst. Das PubsubPublishConfiguration-Objekt enthält alle Konfigurationsoptionen für Pub/Sub-Decoder.

PubsubPublishConfiguration

Mit dem PubsubPublishConfiguration-Objekt können Sie die Nachrichten konfigurieren, die an Pub/Sub gesendet werden. Es wird mit dem Befehl qsam decode verwendet.

JSON-Darstellung
{
    "attributes_configuration": object (AttributesConfiguration),
    "ordering_key_configuration": object (OrderingKeyConfiguration),
    "spillover_configuration": object (SpilloverConfiguration),
    "batching_settings": object (BatchingSettings),
    "flow_control_settings": object (FlowControlSettings),
    "concurrency_control_settings": object (ConcurrencyControlSettings)
}
Felder
attributes_configuration

object (AttributesConfiguration)

Geben Sie die Attributkonfiguration an. Sie können die Konfiguration als Schlüssel/Wert-Paare angeben, die an eine Pub/Sub-Nachricht angehängt werden können. Die Konfiguration kann dann für die Nachrichtenfilterung oder zum Übertragen zusätzlicher Metadaten verwendet werden.

ordering_key_configuration

object (OrderingKeyConfiguration)

Geben Sie die Konfiguration des Sortierschlüssels an. Mit dieser Konfiguration wird sichergestellt, dass Nachrichten mit demselben Reihenfolgeschlüssel in der richtigen Reihenfolge zugestellt werden. Wenn Sie diese Konfiguration nicht festlegen, ist die Reihenfolge der Nachrichten nicht garantiert.

spillover_configuration

object (SpilloverConfiguration)

Geben Sie die Konfiguration für das Senden von Nachrichten mit Überlauf an. Wenn das nicht festgelegt ist, werden Überlaufnachrichten mit einem _spillover-Suffix an das Eingabethema gesendet.
Wenn das Eingabethema beispielsweise projects/project_example/topics/topic_example ist, lautet das Standard-Spillover-Thema projects/project_example/topics/topic_example_spillover.

batching_settings

object (BatchingSettings)

Geben Sie die Batcheinstellungen für die Veröffentlichung von Nachrichten an. Die Batchverarbeitung ist standardmäßig deaktiviert. Weitere Informationen finden Sie unter Mit Batch-Einstellungen veröffentlichen.

flow_control_settings

object (FlowControlSettings)

Geben Sie die Einstellungen für die Ablaufsteuerung an, die für die Veröffentlichung von Nachrichten verwendet werden sollen. Die Einstellungen für die Ablaufsteuerung sind standardmäßig deaktiviert. Weitere Informationen finden Sie unter Nachrichten mit Einstellungen für die Ablaufsteuerung veröffentlichen.

concurrency_control_settings

object (ConcurrencyControlSettings)

Legen Sie die Einstellungen für die Parallelität und Nachrichtenverarbeitung für den Publisher-Client fest. Mit diesen Einstellungen wird die Parallelität für die Veröffentlichung von Nachrichten gesteuert, erfolgreiche Übermittlungen bestätigt und Fehler während des Veröffentlichungsprozesses verarbeitet. Weitere Informationen finden Sie unter Gleichzeitigkeitssteuerung.

AttributesConfiguration

Die AttributesConfiguration-Nachricht gibt eine feste Reihe von Attributen an, die definieren, wie Attribute für Pub/Sub-Nachrichten abgerufen werden.

JSON-Darstellung
{
    "attributes": object (Attributes)
}
Felder
attributes

object (Attributes)

Eine Sammlung fester Schlüssel/Wert-Attribute, die an die Pub/Sub-Nachrichten angehängt werden sollen.

OrderingKeyConfiguration

In der OrderingKeyConfiguration-Nachricht wird ein statischer String als Sortierschlüssel angegeben, der festlegt, wie der Sortierschlüssel für Pub/Sub-Nachrichten ermittelt wird.

JSON-Darstellung
{
    "key": string
}
Felder
key

string

Der Stringwert, der als Sortierschlüssel für die Pub/Sub-Nachricht verwendet werden soll.

SpilloverConfiguration

In der SpilloverConfiguration-Nachricht wird beschrieben, wie ein alternatives Thema für Nachrichten mit Überlauf angegeben wird. Sie können entweder einen vollständigen Themennamen oder ein Suffix angeben, das an den eingegebenen Themennamen angehängt werden soll. Diese beiden Optionen schließen sich gegenseitig aus. Sie müssen eine auswählen.

JSON-Darstellung
{
    "name": string,
    "suffix": string
}
Felder
name

string

Geben Sie den vollständigen Ressourcennamen eines alternativen Themas für Nachrichten mit Überlauf im Format projects/{project}/topics/{topic} an.

suffix

string

Geben Sie ein Suffix an, das an den eingegebenen Themennamen für Nachrichten mit Überlauf angehängt werden soll. Wenn das Eingabethema beispielsweise projects/project_example/topics/my-topic und das Suffix _errors ist, lautet das Überlaufsthema projects/project_example/topics/my-topic_errors.

BatchingSettings

Mit der BatchingSettings-Nachricht können Sie die Batch-Einstellungen für das Veröffentlichen von Nachrichten in Pub/Sub angeben. Prüfen Sie, ob Ihre Batch-Einstellungen so konfiguriert sind, dass die Pub/Sub-Kontingente und -Limits eingehalten werden. Wenn Sie die Batchverarbeitung deaktivieren möchten, setzen Sie message_count_threshold=1.

JSON-Darstellung
{
    "delay_threshold": string,
    "element_count_threshold": long,
    "request_byte_threshold": long
}
Felder
delay_threshold

string

Legen Sie den Verzögerungsgrenzwert für die Batchverarbeitung fest. Nach Ablauf der mit delay_threshold definierten Zeit (gezählt ab der ersten hinzugefügten Nachricht) werden die Nachrichten in einem Batch zusammengefasst und gesendet. Wir empfehlen, diesen Wert nicht zu hoch anzusetzen, da Anrufe sonst möglicherweise nie abgeschlossen werden. Wenn Sie die Verarbeitung in Echtzeit oder nahezu in Echtzeit priorisieren, sollten Sie einen niedrigeren Verzögerungsgrenzwert (einige Dutzend oder Hunderte von Millisekunden) festlegen. So wird sichergestellt, dass Nachrichten schnell gesendet werden. Bei der groß angelegten Batchverarbeitung, bei der eine sofortige Zustellung nicht kritisch ist, kann ein höherer Grenzwert (einige Sekunden) akzeptabel sein, um größere, effizientere Batches zu ermöglichen. Weitere Informationen zum Format für die Dauer findest du unter Duration. Wenn ein Verzögerungsgrenzwert von 0 Sekunden angegeben wird, wird davon ausgegangen, dass kein Verzögerungsgrenzwert angegeben wurde, und der Standardwert wird verwendet. Der Standardwert ist 1 ms.

element_count_threshold

long

Geben Sie den Schwellenwert für die Nachrichtenanzahl an, der für die Batchverarbeitung verwendet werden soll. Sobald die mit message_count_threshold definierte Anzahl von Nachrichten erreicht ist, werden sie in einem Batch zusammengefasst und gesendet, auch wenn der Verzögerungsgrenzwert noch nicht abgelaufen ist. Wenn Ihre Nachrichten immer klein sind, sollten Sie den Grenzwert für die Nachrichtenanzahl erhöhen. Der Standardwert ist 1.

request_byte_threshold

long

Geben Sie die maximale Größe in Byte der Nachrichten an, die gesammelt werden sollen, bevor ein Batch an Pub/Sub gesendet wird. Das gilt auch dann, wenn noch keine der Grenzwerte für Verzögerung oder Nachrichtenanzahl überschritten wurde. Wenn Ihre Nachrichten immer klein sind, sollten Sie den Bytegrenzwert erhöhen. Der Standardwert ist 1 Byte.

FlowControlSettings

Mit der FlowControlSettings-Nachricht kannst du angeben, wie der Publisher-Client den Nachrichtenfluss an Pub/Sub verwaltet. Mit diesen Einstellungen wird verhindert, dass der Client zu viele Ressourcen verbraucht oder Pub/Sub überlastet.

JSON-Darstellung
{
    "limit_exceeded_behavior": enum (LimitExceededBehavior),
    "max_outstanding_element_count": long,
    "max_outstanding_request_bytes": long
}
Felder
limit_exceeded_behavior

enum (LimitExceededBehavior)

Gibt an, wie sich der Ablauf verhält, wenn die Limits für die Ablaufsteuerung überschritten werden. Der Standardwert ist BLOCK.

max_outstanding_element_count

long

Gibt die maximale Anzahl von ausstehenden Nachrichten an, die gesendet, aber noch nicht von Pub/Sub bestätigt wurden. Wenn Ihr Mainframe über ausreichend Arbeitsspeicher verfügt und Sie einen sehr hohen Durchsatz erzielen möchten, können Sie die Anzahl erhöhen.

max_outstanding_request_bytes

long

Gibt die maximale Gesamtgröße der ausstehenden Nachrichten in Byte an.

ConcurrencyControlSettings

Mit der ConcurrencyControlSettings-Nachricht können Sie die Parallelität der Nachrichtenveröffentlichung konfigurieren. Diese Einstellungen beeinflussen, wie viele Nachrichten gleichzeitig gesendet werden können.

JSON-Darstellung
{
    "publishing_threads": int,
    "result_processing_threads": int
}
Felder
publishing_threads

int

Geben Sie die Anzahl der Verarbeitungsthreads für das Veröffentlichen von Nachrichten an. Der Wert sollte der Anzahl der verfügbaren Kerne entsprechen oder kleiner sein. Wenn die Anzahl der Threads 0 ist, erfolgt die Veröffentlichung synchron.

result_processing_threads

int

Geben Sie die Anzahl der Threads für die Verarbeitung von Pub/Sub-Nachrichtenergebnissen an. Dazu gehört auch die Bestätigung erfolgreich gesendeter Nachrichten und die Verarbeitung von Fehlern, die beim Veröffentlichen auftreten. Ein Wert von 0 bedeutet, dass die Parallelität der Ergebnisverarbeitung synchron verarbeitet wird. Der Standardwert ist 1.

Attribute

Die Attributes-Nachricht enthält eine Sammlung von Attribute-Schlüssel/Wert-Paaren, die festlegen, wie die Attribute ermittelt werden.

JSON-Darstellung
{
    "attribute": object (Attribute)
}
Felder
attribute

object (Attribute)

Geben Sie eine Sammlung von Schlüssel/Wert-Paaren an.

Attribut

Die Attribute-Nachricht stellt ein einzelnes Schlüssel/Wert-Paar dar, das als Pub/Sub-Nachrichtenattribut verwendet wird.

JSON-Darstellung
{
    "key": string,
    "value": string
}
Felder
key

string

Geben Sie den Schlüssel des Attributs an.

value

string

Geben Sie den Wert des Attributs an.

LimitExceededBehavior

Mit dem LimitExceededBehavior-Enum können Sie das Verhalten konfigurieren, wenn die Limits für die Ablaufsteuerung überschritten werden.

Enums
BLOCK Der Pub/Sub-Publisher blockiert die Übertragung, wenn die Limits überschritten werden. Dadurch wird verhindert, dass weitere Nachrichten veröffentlicht werden, bis Ressourcen verfügbar sind.
IGNORE Der Pub/Sub-Publisher ignoriert die Limits und veröffentlicht weiter, wenn sie überschritten werden. Dies kann zu einem erhöhten Ressourcenverbrauch führen.
THROW_EXCEPTION Der Pub/Sub-Publisher löst eine Ausnahme aus, wenn die Limits überschritten werden, was auf einen Veröffentlichungsfehler hinweist.