title | weight | type | aliases | |
---|---|---|---|---|
Последовательность |
20 |
docs |
|
CRD Последовательности предоставляет способ определения последовательного списка функций, которые будут вызваны в порядке. Каждый шаг может модифицировать, фильтровать или создавать новый тип события. Последовательность создаёт Channel
ы и Subscription
ы под капотом.
Последовательность имеет три части для спецификации:
Steps
, которая определяет последовательный список Subscriber
ов, то есть, какие функции вызываются в указанном порядке. Эти шаги задаются с помощью messaging.v1.SubscriberSpec
, как если бы вы создавали Subscription
. Каждый шаг должен быть Addressable
.ChannelTemplate
, которая определяет шаблон, используемый для создания Channel
ов между шагами.Reply
(необязательно), ссылка на место, куда будут отправлены результаты последнего шага в последовательности.Последовательность имеет четыре части для статуса:1. Условия, которые описывают общее состояние объекта Последовательности.
ChannelStatuses
, которые передают состояние подлежащих Channel
ресурсов, созданных в рамках этой последовательности. Это массив, и каждый статус соответствует номеру шага, так что первая запись в массиве представляет статус Channel
перед первым шагом.SubscriptionStatuses
, которые передают состояние подлежащих Subscription
ресурсов, созданных в рамках этой последовательности. Это массив, и каждый статус соответствует номеру шага, так что первая запись в массиве представляет Subscription
, созданный для соединения первого Channel
с первым шагом в массиве Steps
.AddressStatus
, который предоставляется для использования Последовательности там, где можно использовать Addressable
. Отправка на этот адрес будет направлена на Channel
, который находится перед первым шагом в последовательности.## ПримерыДля каждого из этих примеров ниже мы будем использовать
PingSource
в качестве источника событий.
Мы также используем очень простой преобразователь, который выполняет очень простое преобразование входящих событий для демонстрации того, что они прошли через каждый этап.
Для первого примера мы используем последовательность из 3 шагов Sequence
, которая подключена напрямую к
PingSource
. Каждый из шагов просто добавляет "- Обработано с помощью <НОМЕР ШАГА>", например, первый шаг в последовательности добавит к входящему сообщению "- Обработано с помощью 0".
Для следующего примера мы используем ту же последовательность из 3 шагов, которая подключена напрямую к PingSource
. Каждый из шагов просто добавляет "- Обработано с помощью <НОМЕР ШАГА>", например, первый шаг в последовательности добавит к входящему сообщению "- Обработано с помощью 0".
Единственное отличие заключается в использовании поля Subscriber.Spec.Reply
для подключения выходных данных последнего шага к панели отображения событий.### Связывание последовательностей друг с другом
Для следующего примера мы используем ту же последовательность из 3 шагов, которая подключена напрямую к PingSource
. Каждый из шагов просто добавляет "- Обработано с помощью <НОМЕР ШАГА>", например, первый шаг в последовательности добавит к входящему сообщению "- Обработано с помощью 0".
Единственное отличие заключается в использовании поля Subscriber.Spec.Reply
для подключения выходных данных последнего шага к другой последовательности, которая выполняет те же изменения сообщений, что и первая последовательность (с использованием разных шагов).
Вы также можете создать триггер, который нацелен на Sequence
. В этот раз мы подключим PingSource
для отправки событий в Broker
, а затем последовательность будет отправлять полученные события обратно в Broker
, чтобы результаты последовательности могли быть отслежены другими триггерами.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )