Как прикрепить общий поток с помощью хука потока

Вы просматриваете документацию по Apigee Edge.
Перейдите к документации по Apigee X.
Информация

Общие потоки позволяют выполнять предварительную обработку стандартных запросов или последующую обработку ответов для набора API. С помощью перехватчика потока можно прикрепить общий поток так, чтобы он выполнялся в одном и том же месте для всех прокси API, развернутых в определенной среде. Это позволяет реализовать и развернуть отдельную последовательность логики, которая не является частью кода реализации прокси-сервера.

Поскольку код, прикрепленный к точке перехвата потока, находится вне контекста основной логики прокси-сервера API, некоторые его действия отличаются от действий прокси-серверов API. Обратите внимание на следующее:

  • Чтобы прикрепить общий процесс к точке подключения процесса, необходимо иметь разрешение. Вы должны быть администратором организации.
  • К каждому триггеру можно прикрепить только один общий поток.
  • Один и тот же общий поток можно прикрепить к нескольким точкам входа.
  • Если общий поток, прикрепленный к точке перехвата потока, вызывает ошибку или во время выполнения общего потока возникают ошибки, сообщение будет отклонено, а ошибка будет отправлена обратно вызывающей стороне.
  • Если сообщение будет отклонено во время выполнения перехватчика процесса, сведения об этом будут записаны в аналитику в контексте вызванного прокси-сервера. Общий поток также может вызывать ошибку с пользовательским кодом и сообщением.

В следующем видео показано, как подключить общий поток к точке подключения потока, а затем отследить его в классическом интерфейсе Edge.

В следующем видео показано, как подключить общий поток к точке подключения потока, а затем отследить его в интерфейсе New Edge.

Общий поток, прикрепленный к прокси-серверу с помощью точки подключения потока, – это отличное место для логики, которая обеспечивает соблюдение общих требований правил. Предположим, что у вас есть команда, которая управляет набором требований безопасности для нескольких команд, представляющих разные направления бизнеса. Каждая команда может разрабатывать API в соответствии со своими требованиями, не учитывая более широкие требования безопасности. Специалисты по безопасности могут реализовать эти требования в общем потоке, а затем прикрепить поток к среде Apigee Edge с помощью перехватчика потока. Поскольку общий поток не является частью прокси-кода, команда по обеспечению безопасности может изменять его по мере необходимости, не затрагивая код LOB.

Общие потоки, прикрепленные с помощью точек прикрепления потоков, выполняются в этой позиции для каждого прокси-сервера API, развернутого в среде точки прикрепления прокси. По этой причине использовать точки подключения потоков могут только администраторы организации Apigee Edge.

Подробнее о повторно используемых общих потоках…

Общий поток прикрепляется к точке перехвата потока с помощью консоли управления Apigee Edge. Вы можете прикрепить не более одного общего потока к точке подключения потока в каждом из следующих мест:

  • Pre-proxy Flow Hook – для логики, которая должна выполняться ДО того, как будет выполнен конечный пункт прокси.

    Например, вы можете реализовать логику для обеспечения безопасности всех API в среде.

  • Pre-target Flow Hook – для логики, которая должна применяться ДО вызова цели.

    Например, вы можете реализовать ведение журнала до того, как запрос достигнет внутреннего сервера. Вы также можете принудительно использовать медиацию, удалив определенные поля из запроса.

  • Post-target Flow Hook для логики, которая должна применяться ПОСЛЕ выполнения целевого ответа.

    Это правило будет применяться сразу после получения ответа от внутреннего сервиса. Его можно использовать для регистрации ответа от внутреннего сервера или для медиации, удаляя конфиденциальные поля из ответа от внутреннего сервера.

  • Точка перехвата Post-proxy Flow Hook для логики, которая должна применяться ПОСЛЕ конечной точки прокси и непосредственно ПЕРЕД отправкой ответа клиенту.

    Например, это может быть логика принудительного применения CORS, ведение журнала ответов или выполнение каких-либо операций с данными или форматированием.

Как прикрепить общий поток к точке подключения потока

Чтобы прикрепить общий поток к точке подключения потока, вы должны быть администратором в организации, содержащей общий поток.

  1. Перейдите на страницу Flow Hooks, как описано ниже.

    Edge

    Чтобы перейти на страницу Flow Hooks в интерфейсе Edge:

    1. Войдите в аккаунт на сайте apigee.com/edge.
    2. Выберите организацию, в которой находится ваш общий поток. Подробнее о том, как переключаться между организациями…

      Общий поток будет доступен для любых прокси API и общих потоков, развернутых в среде из этой организации. Он будет недоступен пользователям за пределами организации.

    3. На панели навигации слева выберите Admin > Environments > Flow Hooks (Администратор > Среды > Перехватчики потоков).

    Классическая версия Edge (частное облако)

    Чтобы перейти на страницу Flow Hooks (Точки подключения потоков) в классическом интерфейсе Edge:

    1. Войдите в http://ms-ip:9000, где ms-ip – это IP-адрес или DNS-имя узла сервера управления.
    2. Выберите организацию, в которой находится ваш общий поток. Подробнее о том, как переключаться между организациями…

      Общий поток будет доступен для любых прокси API и общих потоков, развернутых в среде из этой организации. Он будет недоступен за пределами организации.

    3. На верхней панели навигации выберите APIs > Environment Configuration > Flow Hooks (API > Конфигурация среды > Точки подключения потока).
  2. В списке хуков потока найдите хук, к которому хотите прикрепить общий поток, исходя из того, где он должен выполняться.
    Расположение крючка Описание
    Крючок Pre-proxy Flow Hook ДО выполнения конечной точки прокси
    Pre-target Flow Hook ДО выполнения целевой конечной точки
    Post-target Flow Hook ПОСЛЕ выполнения целевого ответа
    Post-proxy Flow Hook ПОСЛЕ конечной точки прокси-сервера и непосредственно перед отправкой ответа клиенту.
  3. Наведите курсор на точку перехода в списке, чтобы отобразить столбец действий.
  4. Нажмите .
  5. В диалоговом окне "Общий поток" выберите общий поток, который хотите прикрепить, в раскрывающемся списке Общий поток.
  6. Нажмите ОК.
  7. При необходимости прикрепите общие потоки к другим точкам подключения потоков.