Warteschlangen-Trigger

Starten Sie einen Prozess, indem Sie eine Nachricht aus einer AMQP-Warteschlange empfangen.

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

Mit dem Warteschlangentrigger können Prozesse für Nachrichten ausgelöst werden, die aus einer AMQP 1.0-Warteschlange empfangen werden. Der Warteschlangentrigger verwendet die Nachricht aus der Warteschlange, wenn eine neue Nachricht in der Warteschlange verfügbar ist. Der Inhalt der verwendeten Nachricht steht dann im Prozess zur weiteren Verarbeitung zur Verfügung.

Konfigurieren von Warteschlangenauslösern

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

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

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

  • Antwort- Sollen wir das nachfolgende Prozessergebnis an die von derAntworten an Option

  • Antwortfehler- Sollen wir das fehlgeschlagene 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.

Trigger-Referenzliste

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

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

  • #trigger.daten.eigenschaften- Die AMQP-Nachrichteneigenschaften, Einzelheiten finden Sie unter.http://docs.oasis-open.org/amqp/core/v1.0/os/amqp-core-messaging-v1.0-os.html#type-properties

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 an den Prozess übermittelt, 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 Antwort an eine Warteschlange gesendet wird, wird das Ergebnis als Nachrichtentext geschrieben. Komplexe Strukturen (Objekte) werden standardmäßig als JSON serialisiert. In diesem Fall wird die CorrelationId 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<string, object> – die benutzerdefinierten Header für die Nachricht
Eigenschaften: die AMQP-Nachrichteneigenschaften
MessageId; Zeichenfolge
AbsoluteExpiryTime: Datum/Uhrzeit
ContentEncoding: Zeichenfolge
ContentType: Zeichenfolge
CorrelationId: Zeichenfolge
Erstellungszeit: Datum/Uhrzeit
GroupId: Zeichenfolge
Gruppensequenz: uint
ReplyToGroupId: Zeichenfolge
ReplyTo: Zeichenfolge
Betreff: string
Benutzer-ID: byte[]
An: Zeichenfolge


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