1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/knative-docs

Клонировать/Скачать
sequence.md 7.2 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
Отправлено 27.05.2025 06:04 d330922
title weight type aliases
Последовательность
20
docs
/docs/eventing/sequence.md

CRD Последовательности предоставляет способ определения последовательного списка функций, которые будут вызваны в порядке. Каждый шаг может модифицировать, фильтровать или создавать новый тип события. Последовательность создаёт Channelы и Subscriptionы под капотом.

Использование

Спецификация Последовательности

Последовательность имеет три части для спецификации:

  1. Steps, которая определяет последовательный список Subscriberов, то есть, какие функции вызываются в указанном порядке. Эти шаги задаются с помощью messaging.v1.SubscriberSpec, как если бы вы создавали Subscription. Каждый шаг должен быть Addressable.
  2. ChannelTemplate, которая определяет шаблон, используемый для создания Channelов между шагами.
  3. Reply (необязательно), ссылка на место, куда будут отправлены результаты последнего шага в последовательности.

Статус Последовательности

Последовательность имеет четыре части для статуса:1. Условия, которые описывают общее состояние объекта Последовательности.

  1. ChannelStatuses, которые передают состояние подлежащих Channel ресурсов, созданных в рамках этой последовательности. Это массив, и каждый статус соответствует номеру шага, так что первая запись в массиве представляет статус Channel перед первым шагом.
  2. SubscriptionStatuses, которые передают состояние подлежащих Subscription ресурсов, созданных в рамках этой последовательности. Это массив, и каждый статус соответствует номеру шага, так что первая запись в массиве представляет Subscription, созданный для соединения первого Channel с первым шагом в массиве Steps.
  3. 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 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/knative-docs.git
git@api.gitlife.ru:oschina-mirror/knative-docs.git
oschina-mirror
knative-docs
knative-docs
master