Einführung in Queue Trigger

Prozessentwicklung

Ossi Galkin avatarGeschrieben vonOssi Galkin Vor über einer Woche aktualisiertTable of contents

Warteschlangen-Trigger

Frends kann in ereignisgesteuerten Architekturen als AMQP-Abonnent mit einem Warteschlangentrigger verwendet werden. Die Warteschlangentrigger ermöglichen das Auslösen von Prozessen in Nachrichten, die aus einer AMQP 1.0-Warteschlange empfangen werden. Der Warteschlangentrigger ruft die Nachricht aus der Warteschlange ab, wenn eine neue Nachricht in der Warteschlange verfügbar ist. Der Inhalt der abgerufenen Nachricht steht dann im Prozess zur weiteren Verarbeitung zur Verfügung.

Warteschlangen-Triggerparameter

Der Warteschlangentrigger bietet die folgenden Konfigurationseigenschaften zum Herstellen einer Verbindung mit einer angegebenen Warteschlange.

  • Warteschlange- Der Name der AMQP-Warteschlange, die abgehört wird

  • Bus Uri- Die URI für den AMQP-Bus, z. B. amqps://owner:@.servicebus.windows.net:5671

  • Antwort- Sollen wir ein nachfolgendes Prozessergebnis an die von derAntworten an Option

  • Antwortfehler- Sollen wir ein fehlgeschlagenes Prozessergebnis an die von derBeantwortenOption

  • Beantworten- Die Warteschlange, an die wir die Antworten senden sollen

  • Die Warteschlange ist langlebig– Wenn diese Option festgelegt ist, wird erwartet, dass die Warteschlange dauerhaft ist, d. h., dass sie mögliche Neustarts des Brokers übersteht.
    Diese Einstellung muss mit der tatsächlichen Konfiguration der Warteschlange übereinstimmen, sofern diese zuvor erstellt wurde.
    Bitte beachten Sie, dass diese Einstellung nur von Frends Agents ab Version 5.2.4 erkannt wird.

Empfangen von Nachrichten

Der Warteschlangentrigger empfängt und akzeptiert (vervollständigt) Nachrichten aus der Warteschlange, sobald sie eintreffen, wobei pro Warteschlangentrigger und Agent maximal 10 gleichzeitig verarbeitete Nachrichten möglich sind. Wenn der Trigger entsprechend konfiguriert ist, sendet er nach Abschluss des Prozesses eine Antwortnachricht an die Warteschlange „Antworten an“.

Hinweis: Der AMQP-Text kann verschiedene Datentypen enthalten. Meistens wird dieser so dem Prozess bereitgestellt, wie er ist. Die Ausnahme ist, wenn der Text ein Byte-Array ist und die Eigenschaft „ContentType“ das Feld „Charset“ festgelegt hat, z. B. „text/plain; charset=UTF-8“. In diesem Fall werden die Binärdaten in eine Zeichenfolge mit der dem Zeichensatz entsprechenden Kodierung konvertiert.

Antworten auf Nachrichten

Wenn der Vorgang fehlgeschlagen ist undAntwortfehlerausgewählt wurde, wird die Ausnahme, die den Fehler verursacht hat, in die Antwortnachricht geschrieben. Die Nachricht hat eine neue Guid als MessageId und dieselbe CorrelationId wie die ursprüngliche Triggernachricht.

Wenn eine erfolgreiche Meldung an eine Warteschlange zurückgegeben wird, wird das Ergebnis als Nachrichtentext geschrieben. Komplexe Strukturen (Objekte) werden standardmäßig als JSON serialisiert. In diesem Fall wird die Korrelations-ID der auslösenden Nachricht in die Antwortnachricht kopiert.

Es ist möglich, die Nachrichtenstruktur direkt im Ergebnis zu definieren. Dies geschieht, wenn das Ergebnis ein Objekt enthält, das mindestens eine der Eigenschaften hatKörperoderAnwendungseigenschaftenIn diesem Fall wird das Ergebnisobjekt direkt als Antwortnachricht mit folgender Struktur abgebildet:

Body: Objekt – der Text der Antwortnachricht ApplicationProperties: Dictionary – die benutzerdefinierten Header für die Nachricht Properties – die AMQP-Nachrichteneigenschaften MessageId; Zeichenfolge AbsoluteExpiryTime: DateTime ContentEncoding: Zeichenfolge ContentType: Zeichenfolge CorrelationId: Zeichenfolge CreationTime: DateTime GroupId: Zeichenfolge GroupSequence: uint ReplyToGroupId: Zeichenfolge ReplyTo: Zeichenfolge Subject: Zeichenfolge UserId: byte[] To: Zeichenfolge

Verweisen auf Triggerparameterwerte

  • #trigger.daten.body– Der Textkörper der Nachricht.

  • #trigger.data.applicationProperties- Die benutzerdefinierten Header der Nachricht

  • #trigger.daten.eigenschaften- Die AMQP Nachrichteneigenschaften, sieheDasfür weitere Details

Der nächste Artikel istEinführung in Service Bus Trigger


Verwandte ArtikelService Bus-TriggerWarteschlangen-TriggerRabbitMQ-AuslöserEinführung in Service Bus TriggerEinführung in RabbitMQ Trigger