Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Вы можете объединить политики и ресурсы в общий поток , который можно использовать из нескольких прокси-серверов API и даже из других общих потоков. Хотя это и похоже на прокси, общий поток не имеет конечной точки. Его можно использовать только из прокси-сервера API или общего потока, который находится в той же организации, что и сам общий поток.
Собрав в одном месте функциональность, которая полезна в нескольких местах, общий поток помогает обеспечить согласованность, сократить время разработки и упростить управление кодом.
В следующем видео показано, как создать и отслеживать общий поток в пользовательском интерфейсе Edge.
В следующем 5-минутном видеоролике показано, как создать и отслеживать общий поток в классическом пользовательском интерфейсе Edge (только Edge для частного облака).
Вы можете вызвать общий поток с помощью политики FlowCallout. Кроме того, прикрепив общий поток к перехватчику потока , вы можете выполнить общий поток до запроса прокси или цели или после ответа прокси или цели.
Справочную информацию о политике FlowCallout см. в разделе Политика FlowCallout . Дополнительные сведения о перехватчиках потока см. в разделе Присоединение общего потока с помощью перехватчика потока .
Например, представьте, что у вас есть области функциональности, которые либо используются в нескольких местах, либо должны быть стандартизированы для всех API в вашей организации. У вас может быть общий поток для каждой категории, в том числе:
- безопасность , с кодом авторизации с использованием OAuth и проверкой ключа API, а также кодом защиты от угроз.
- logging для генерации стандартных сообщений об ошибках.
- посредничество для преобразования между форматами сообщений XML и JSON.
На следующем рисунке два прокси-сервера API обращаются (с помощью политики FlowCallout) к общему потоку для проверки подлинности входящих пользовательских запросов. AuthSharedFlow был развернут в организации отдельно перед прокси-серверами, чтобы он был доступен для поддержки запросов от прокси-серверов. Общий поток может разрабатываться и управляться командой, ответственной за общую политику компании, а затем использоваться в прокси-серверах отраслевыми командами, создающими более специализированные приложения.
Разработка общего потока
При разработке общего потока вы всегда должны тестировать его с помощью вызовов, отправляемых на прокси-сервер API. Другими словами, вы не можете отправлять запросы непосредственно в общий поток, как через прокси-сервер API. Вместо этого вы отправляете запросы к прокси-серверу API, который, в свою очередь, обращается к общему потоку.
Вот общие шаги по разработке общего потока:
- Выясните, каким должен быть общий набор функций .
Например, вы можете объединить функции управления трафиком, включая подавление пиков трафика. Таким образом, вы можете управлять их конфигурацией вне рабочего процесса тех, кто реализует бизнес-логику.
- Разработайте общий поток, реализуя политики и поддерживая ресурсы, так же, как при разработке прокси-сервера API.
Общий поток — это последовательность условных шагов. Поэтому его разработка аналогична разработке прокси-сервера API. Вы можете включить политики и ресурсы, которые вы можете включить в прокси.
Например, в рамках поддержки управления трафиком вы можете реализовать политику Spike Arrest, разрешающую только 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 к прокси-серверу, на котором вы хотите, чтобы был сделан вызов.