Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Вы можете объединять политики и ресурсы в общий поток , который можно использовать из нескольких API-прокси и даже из других общих потоков. Хотя это похоже на прокси, у общего потока нет конечной точки. Его можно использовать только из API-прокси или общего потока, находящегося в той же организации, что и сам общий поток.
Благодаря объединению в одном месте функциональности, полезной в разных местах, общий рабочий процесс помогает обеспечить согласованность, сократить время разработки и упростить управление кодом.
В следующем видеоролике показано, как создать и отследить общий поток в пользовательском интерфейсе Edge.
В следующем 5-минутном видеоролике показано, как создать и отследить общий поток в классическом пользовательском интерфейсе Edge (только для Edge for Private Cloud).
Вы можете вызвать общий поток, используя политику FlowCallout. Кроме того, прикрепив общий поток к обработчику потока , вы можете настроить его выполнение до запроса к прокси-серверу или целевому объекту, или после ответа от прокси-сервера или целевого объекта.
Для получения дополнительной информации о политике FlowCallout см. раздел «Политика FlowCallout» . Более подробную информацию о перехватчиках потоков см. в разделе «Присоединение общего потока с помощью перехватчика потока» .
Например, представьте, что у вас есть функциональные возможности, которые используются в нескольких местах или должны быть стандартизированы для всех API в вашей организации. Для каждой категории можно использовать общий алгоритм работы, включающий:
- Безопасность обеспечивается кодом авторизации с использованием OAuth и проверкой ключа API, а также кодом защиты от угроз.
- logging , для генерации стандартных сообщений об ошибках.
- Посредничество , используемое для преобразования сообщений между форматами XML и JSON.
На следующем рисунке показаны два API-прокси, которые обращаются (с политикой FlowCallout) к общему потоку для аутентификации входящих запросов пользователей. AuthSharedFlow был развернут отдельно в организации до прокси, чтобы он был доступен для поддержки запросов от прокси. Общий поток может быть разработан и управляем командой, ответственной за общие политики компании, а затем использоваться прокси командами бизнес-подразделений, разрабатывающими более специализированные приложения.

Разработка общего потока
При разработке общего потока необходимо всегда тестировать его с помощью вызовов, отправленных через API-прокси. Другими словами, нельзя отправлять запросы непосредственно в общий поток, как это делается с API-прокси. Вместо этого запросы отправляются через API-прокси, который, в свою очередь, обращается к общему потоку.
Вот основные шаги по разработке общего рабочего процесса:
- Определите, какой набор общих функций должен быть у каждого из них.
Например, вам может потребоваться объединить функции управления трафиком, включая подавление пиковых нагрузок. Таким образом, вы сможете управлять их конфигурацией вне рабочего процесса тех, кто внедряет бизнес-логику.
- Разработайте общий рабочий процесс , внедрив политики и вспомогательные ресурсы, точно так же, как вы бы это делали при разработке API-прокси.
Общий поток — это последовательность условных шагов. Поэтому его разработка похожа на разработку API-прокси. Вы можете включать в него политики и ресурсы, которые обычно включают в прокси.
Например, в рамках поддержки управления трафиком вы можете внедрить политику блокировки пиковых нагрузок, разрешающую только 30 запросов в секунду, как показано в следующем примере:
<SpikeArrest async="false" continueOnError="false" enabled="true" name="Spike-Arrest"> <DisplayName>Spike Arrest</DisplayName> <Properties/> <Identifier ref="request.header.some-header-name"/> <MessageWeight ref="request.header.weight"/> <Rate>30ps</Rate> </SpikeArrest>Затем, к общему потоку управления трафиком, можно добавить политику Spike Arrest в качестве шага. Эта политика будет выполняться для любого API-прокси, который вызывает этот общий поток.
<SharedFlow name="default"> <Step> <Name>Spike-Arrest</Name> </Step> </SharedFlow>Информацию о том, как запустить общий поток в консоли управления, см. в разделе «Создание общего потока в пользовательском интерфейсе Edge» .
Как и в случае с API-прокси, вы можете импортировать ZIP-файл, содержащий артефакты источника общего потока (подробнее об импорте прокси см. в разделе «Импорт нового API-прокси »). Ниже показано, как импортировать общий поток с помощью API управления:
curl -X POST -F "file=@/path/to/zip/file.zip" \ 'https://api.enterprise.apigee.com/v1/o/{org_name}/sharedflows?action=import&name=shared-flow-name' \ -u email:password - Перед развертыванием прокси-серверов или общих потоков, которые будут его использовать, необходимо развернуть общий поток в среде. Развертывание общего потока осуществляется так же, как и развертывание прокси-сервера API. (Подробнее см. в разделе «Обзор развертывания» .)
Общий поток должен находиться в той же организации и быть развернут в той же среде, что и API-прокси и другие общие потоки, которые его используют. Развертывание общего потока до прокси позволяет разрешить зависимость прокси от общего потока во время развертывания.
Вы можете развернуть общий поток с помощью вызова API управления, например, следующего:
curl -X POST --header "Content-Type: application/octet-stream" \ https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments \ -u email:passwordВы также можете заменить уже развернутый общий поток без простоя. (Это очень похоже на API-прокси. Подробнее см. раздел «Развертывание API-прокси с помощью API управления »). Вот форма запроса с использованием API управления:
curl -X POST --header "Content-Type:application/x-www-form-urlencoded" \ https://api.enterprise.apigee.com/v1/o/{org_name}/e/{env_name}/sharedflows/{shared_flow_name}/revisions/{revision_number}/deployments?"override=true" \ -u email:password - Разработайте прокси-сервер для API-потребителя таким образом, чтобы он мог вызывать общий поток как часть своего собственного потока.
С помощью API-прокси вы вызываете общий поток, используя политику FlowCallout . (Вы также можете прикрепить общий поток к прокси с помощью обработчика потока, как описано в разделе «Прикрепление общего потока с помощью обработчика потока ».) Вводное руководство по созданию API-прокси см. в разделе «Создание первого API-прокси» .
Для использования общего потока необходимо добавить политику FlowCallout к прокси-серверу или общему потоку, который будет его использовать. Подобно политике Service Callout, с помощью которой вы обращаетесь к другому сервису, политика FlowCallout обращается к общему потоку. Использующий API-прокси должен быть развернут после общего потока и в той же среде, что и общий поток. Общий поток должен быть развернут, когда вы захотите протестировать вызов к нему с помощью политики FlowCallout.
В приведенном ниже коде политика FlowCallout обращается к общему потоку с именем
traffic-management-shared.<FlowCallout async="false" continueOnError="false" enabled="true" name="Traffic-Management-Flow-Callout"> <DisplayName>Traffic Management FlowCallout</DisplayName> <Properties/> <SharedFlowBundle>traffic-management-shared</SharedFlowBundle> </FlowCallout>Для получения дополнительной информации см. раздел «Вызов общего потока из API-прокси или общего потока».
- Для начала использования общего потока разверните прокси-сервер API-потребителя . (Более подробную информацию о развертывании см. в разделе «Понимание развертывания» .)
- Разрабатывайте систему итеративно, используя трассировку, как это делается при работе с API-прокси.
Как и в случае с API-прокси, вы разрабатываете общий поток, итеративно вызывая и отслеживая его до тех пор, пока не получите желаемую логику. В данном случае, поскольку общий поток не выполняется самостоятельно, вы вызываете конечную точку прокси и отслеживаете работу прокси.
Вот шаги:
- Убедитесь, что как общий поток, так и API-прокси, вызывающий его с помощью политики FlowCallout, находятся в одной организации и развернуты в одной среде.
- На вкладке «Трассировка» прокси-сервера API начните трассировку прокси-сервера API.
- Отправьте запрос на прокси-конечную точку в API-прокси. Поток от конечной точки должен включать политику FlowCallout, которая вызывает общий поток.
- На вкладке «Трассировка» изучите поток данных от API-прокси к общему потоку.
Обратите внимание, что при трассировке общий поток отображается в виде набора шагов или политик, заключенных в серый прямоугольник. Значки, представляющие политики FlowCallout, предшествуют общим потокам. (Более подробную информацию о трассировке см. в разделе «Использование инструмента трассировки» .)

Создание общего потока в пользовательском интерфейсе Edge
При создании общего потока с помощью пользовательского интерфейса Apigee Edge вы можете либо создать его с нуля, либо импортировать существующие источники потоков в виде ZIP-архива с пакетом потоков.
- Перейдите на страницу «Общие потоки», как описано ниже. На странице «Общие потоки» вы можете просмотреть список общих потоков в организации, а также редактировать или удалять потоки из этого списка.
Край
Чтобы получить доступ к странице «Общие потоки» с помощью пользовательского интерфейса Edge:
- Войдите на сайт apigee.com/edge .
- Выберите организацию, в которой находится ваш общий поток. См. раздел «Переключение между организациями» .
Общий поток данных будет доступен для любых API-прокси и общих потоков данных, развернутых в среде этой организации. Он не будет доступен извне этой организации.
- В левой панели навигации выберите «Разработка» > «Общие потоки» .
Классический Edge (частное облако)
Чтобы получить доступ к странице «Общие потоки» с помощью классического пользовательского интерфейса Edge:
- Войдите в систему по
http:// ms-ip :9000, где ms-ip — это IP-адрес или DNS-имя узла сервера управления. - Выберите организацию, в которой находится ваш общий поток. См. раздел «Переключение между организациями» .
Общий поток данных будет доступен для любых API-прокси и общих потоков данных, развернутых в среде этой организации. Он не будет доступен извне этой организации.
- В верхней панели навигации выберите API > Общие потоки .
- Нажмите кнопку «+ Общий поток» , чтобы начать добавление нового общего потока.
- На странице «Создание общего потока» выберите способ создания нового потока:
- Создайте новый поток с нуля. Вы сможете настраивать политики и ресурсы в качестве шагов этого потока.
- Выберите «Пустой общий поток» .
- Введите имя. Это имя будет использоваться прокси-серверами API и другими общими потоками для ссылки на данный общий поток. Имя должно быть понятным для разработчиков, использующих этот поток.
- Введите описание, чтобы предоставить более подробную информацию о том, что делает этот процесс.
- Нажмите «Далее» .
- При желании выберите среды, в которых вы хотите развернуть новый поток.
Например, если вы будете тестировать общий поток данных из API-прокси, развернутых в тестовой среде, то разверните этот общий поток в тестовой среде .
Нажмите «Создать и развернуть» , чтобы создать и развернуть новый общий поток в выбранной(ых) среде(ах). Если вы не выбрали ни одной среды, общий поток будет создан, но не развернут.
- Создайте общий поток на основе существующих источников, загрузив пакет потоков.
- Выберите «Общий пакет потоков» , чтобы указать ZIP-файл, содержащий артефакты, которые вы хотите включить в новый поток.
Общий пакет потоков содержит исходные артефакты общего потока. Например, если вы загрузите общий поток из пользовательского интерфейса Edge, вы получите ZIP-файл с пакетом потоков.
- Нажмите «Далее» .
- Нажмите «Выбрать файл» , чтобы найти ZIP-архив, содержащий общие источники потоков, которые вы хотите импортировать.
- В поле «Имя общего потока» введите имя для импортированного потока. Это имя будет использоваться API-прокси и другими общими потоками для ссылки на этот поток. Имя должно быть понятным для разработчиков, использующих этот поток.
- Нажмите «Далее» .
- Нажмите «Создать» , чтобы создать новый поток из импортируемых источников.
- Выберите «Общий пакет потоков» , чтобы указать ZIP-файл, содержащий артефакты, которые вы хотите включить в новый поток.
- Создайте новый поток с нуля. Вы сможете настраивать политики и ресурсы в качестве шагов этого потока.
Вызов общего потока из API-прокси или общего потока.
Вы можете вызвать общий поток из прокси-сервера или из другого общего потока, используя политику FlowCallout .
- В пользовательском интерфейсе Edge найдите прокси-сервер или общий поток, из которого вы хотите вызвать другой общий поток.
- В панели навигации рядом с пунктом «Политики» нажмите кнопку «+» .
- В списке политик, в разделе «Расширение» , нажмите FlowCallout .
- Введите отображаемое имя и имя (уникальный идентификатор), затем выберите общий поток, который будет вызываться этой политикой.
- Нажмите «Добавить» .
- Добавьте новую политику FlowCallout к прокси-серверу, куда вы хотите отправить вызов.