Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Apigee Edge позволяет «программировать» поведение API без написания кода, используя «политики». Политика — это своего рода модуль, реализующий определенную, ограниченную функцию управления. Политики предназначены для того, чтобы вы могли легко и надежно добавлять к API распространенные типы возможностей управления. Политики предоставляют такие функции, как безопасность, ограничение скорости запросов, преобразование и посредничество, избавляя вас от необходимости самостоятельно писать код и поддерживать эту функциональность.
Вы не ограничены набором типов политик, предоставляемых Apigee Edge. Вы также можете писать собственные скрипты и код (например, приложения на JavaScript и Node.js), которые расширяют функциональность API-прокси и позволяют внедрять инновации поверх базовых возможностей управления, поддерживаемых политиками Apigee.
Посмотрите это видео, чтобы ознакомиться с основами применения и обеспечения соблюдения политических решений.
Типы политик
Технически, политика представляет собой конфигурационный файл в формате XML. Структура каждого типа политики (например, обязательные и необязательные элементы конфигурации) определяется XML-схемой . Если вы хорошо разбираетесь в инструментах работы с XML, стоит ознакомиться со схемами политик в примерах API Platform на Github.
Типы политик Edge Policy сгруппированы по следующим функциональным категориям:
Управление дорожным движением
Политики в категории управления трафиком позволяют контролировать поток запросов и ответов через API-прокси. Эти политики поддерживают как оперативный, так и бизнес-уровень управления. Они обеспечивают контроль над общей пропускной способностью, а также позволяют управлять трафиком для каждого приложения в отдельности. Типы политик управления трафиком позволяют устанавливать квоты, а также помогают снижать риски атак типа «отказ в обслуживании».
Безопасность
Политики в категории безопасности поддерживают аутентификацию, авторизацию, а также безопасность на основе содержимого.
Медиация
Политики в категории «Посредничество» позволяют активно управлять сообщениями по мере их прохождения через API-прокси. Они позволяют преобразовывать форматы сообщений из XML в JSON (и наоборот) или преобразовывать один формат XML в другой. Они также позволяют анализировать сообщения, генерировать новые сообщения и изменять значения в исходящих сообщениях. Политики посредничества также взаимодействуют с базовыми сервисами, предоставляемыми API-сервисами, позволяя получать данные о приложениях, разработчиках, токенах безопасности и продуктах API во время выполнения.
Расширение
Политики в категории расширений позволяют использовать расширяемость API-сервисов для реализации пользовательского поведения на выбранном вами языке программирования.
Каждый тип политики подробно описан в обзоре справочника по политикам . В этом разделе демонстрируется общее взаимодействие, показано, как создавать политики и как прикреплять их к потокам в конфигурации API-прокси.
Внедрение изменений в политику
Для того чтобы изменения в политике вступили в силу, необходимо развернуть обновленную версию API-прокси в среде. После того как вы прикрепите политику или внесете изменения в существующую политику, используйте пользовательский интерфейс управления или API управления для развертывания изменений.
Проверка соблюдения политики
Для проверки корректности применения политики необходимо вызвать API с помощью HTTP-клиента. Для проверки этой конфигурации квот отправьте несколько запросов к API, превышающих лимит квоты, установленный в политике квот. (URI-путь, заданный в качестве базового пути в ProxyEndpoint, в приведенном ниже запросе — /weather ).
http://{org_name}-test.apigee.net/weather/forecastrss?w=12797282Если вы отправите более одного запроса в течение минуты, вы должны увидеть следующее сообщение об ошибке:
{
"fault":{
"faultstring":"policies.ratelimit.QuotaViolation",
"detail":{
"errorcode":"policies.ratelimit.QuotaViolation"
}
}
}Это указывает на то, что политика квотирования применяется API-сервисами.
Обработка ошибок на основе политик
Обратите внимание на формат приведенного выше сообщения об ошибке. Оно содержит свойство faultstring и свойство errorcode . Во многих случаях вам потребуется реализовать определенное поведение для обработки таких ошибок. Например, вы можете захотеть отправить персонализированное сообщение разработчику, чье приложение превысило квоту.
Более подробную информацию об обработке ошибок см. в разделе «Обработка ошибок» .
Передовые методы: Общие наборы политик
Для удовлетворения основных требований к управлению API-прокси обычно применяют следующие политики:
Базовая проверка ключа API
Схема обработки запросов ProxyEndpoint:- SpikeArrest
- XMLThreatProtection или JSONThreatProtection
- Проверка ключа API
- Квота
- ResponseCache
- ResponseCache
Базовое преобразование: JSON в XML
Схема обработки запросов:- SpikeArrest
- JSONThreatProtection
- Проверка ключа API
- Квота
- JSONToXML
- XMLToJSON
- ResponseCache