Przejdź do głównej zawartości

Połączenia i strumienie

Te akcje występują w rodzinach po dwie lub trzy: połączenie, wysyłanie, zamknięcie. Połączenie pozostaje otwarte pomiędzy blokami, co pozwala przeplatać w środku inne wywołania.

Akcja połączenia ma dwa wyjścia:

WyjścieEmisja
connectedSygnał, jednorazowo, w momencie nawiązania połączenia
messageJedna emisja na każdą odebraną wiadomość

Akcja nosi nazwę połączenia (connectionName). Akcje wysyłania i zamknięcia wskazują następnie to połączenie przez identyfikator jego bloku (connectionNodeId).

Klasyczny wzorzec:

Połączenie MQTT ──connected──► Żądanie HTTP (wyzwolenie akcji biznesowej)
└─────────message─────► Assert (oczekiwana wiadomość dotarła)
następnie ──► Zamknięcie połączenia MQTT
AkcjaWejściaWyjścia
Połączenie WebSocketconnected, message (każda odebrana ramka)
Wysyłanie WebSocketpayload
Zamknięcie połączenia WebSocket
Zamknięcie serwera WebSocket

Zob. WebSocket.

AkcjaWejściaWyjścia
Połączenie Socket.IOconnected, po jednym porcie event:<name> na każde zadeklarowane zdarzenie, oraz others
Wysyłanie Socket.IOchannel, payload
Zamknięcie połączenia Socket.IO
Zamknięcie serwera Socket.IO

To jedyna akcja połączenia, której wyjścia są konfigurowalne: wystarczy zadeklarować listę interesujących zdarzeń, a każde z nich otrzyma własny port. Każde niezadeklarowane zdarzenie dociera na others.

Zob. Socket.IO.

AkcjaWejściaWyjścia
Połączenie MQTTconnected, message
Publikacja MQTTpayload
Zamknięcie połączenia MQTT

Połączenie subskrybuje temat zapisany w żądaniu; wysyłanie publikuje ze skonfigurowanym poziomem QoS i opcją zachowania wiadomości. Zob. MQTT.

AkcjaWejściaWyjścia
Połączenie SSEconnected, message
Zamknięcie połączenia SSE

Tylko odbiór: nie ma akcji wysyłania. Zob. SSE.

AkcjaWejściaWyjścia
Połączenie STOMPconnected, message
Wysyłanie STOMPpayload
Zamknięcie połączenia STOMP

Połączenie wysyła ramkę CONNECT, a następnie po jednej ramce SUBSCRIBE na każdą skonfigurowaną subskrypcję; wysyłanie tworzy ramkę SEND, a zamknięcie — DISCONNECT. Zob. STOMP.

AkcjaWejściaWyjścia
Połączenie AMQPconnected, message
Publikacja AMQPpayload
Zamknięcie połączenia AMQP

Połączenie konsumuje kolejkę zapisaną w żądaniu (tryb subscribe); publikacja korzysta z jego exchange’u i klucza routingu. Zob. AMQP.

AkcjaWejściaWyjścia
Subskrypcja Redisconnected, message
Zamknięcie połączenia Redis

Do wykonania pojedynczego polecenia służy Polecenie Redis — akcja typu żądanie / odpowiedź, opisana na stronie Żądania i kompozycja.

AkcjaWejściaWyjścia
Konsumpcja Kafkaconnected, message
Zamknięcie połączenia Kafka

Konsumpcja subskrybuje przez grupę konsumentów zapisaną w żądaniu. Do publikowania służy Produkcja Kafka, akcja pojedyncza. Zob. Kafka.

AkcjaWejściaWyjścia
Połączenie gRPCconnected, message
Wysyłanie gRPCpayload
Zamknięcie połączenia gRPC

Dotyczy trybów server-stream, client-stream i bidirectional-stream: wysyłanie ma sens tylko w dwóch ostatnich, a zamknięcie wykonuje półzamknięcie po stronie klienta. Wywołanie unary realizuje się akcją Żądanie HTTP. Zob. gRPC.

AkcjaWejściaWyjścia
Subskrypcja GraphQLconnected, message
Anulowanie subskrypcji GraphQL

Zob. GraphQL.