Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
Если вы являетесь текущим клиентом Apigee Edge, вы можете принять решение о миграции вашей установки на Apigee X , чтобы воспользоваться новыми возможностями или доступностью в других регионах.
На этой странице описаны антипаттерны в вашей конфигурации, которые необходимо устранить перед миграцией на Apigee X, а также другие изменения в поведении, о которых следует знать перед миграцией.
В более широком списке антипаттернов Apigee Edge описаны методы использования, которых следует избегать в любом случае. На этой странице описаны конкретные нежелательные методы использования, которые могут заблокировать миграцию. Устраните их сейчас, чтобы предотвратить проблемы при миграции на Apigee X.
Приложения без API-продуктов | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
Существуют приложения, не имеющие API-продуктов. Разница между Apigee Edge и Apigee X:
| Нет. | Решение: Приложения без API-продуктовСвяжите учетные данные каждого приложения как минимум с одним продуктом API. Дополнительную информацию о том, как это сделать, см. в разделе «Регистрация приложений и управление ключами API» . Простой способ — назначить каждому приложению доступ ко всем API-продуктам. Это будет эквивалентно возможностям Apigee Edge. Сложность заключается в том, что если вы хотите придерживаться подхода «минимальных привилегий», вам нужно будет определить минимальный список API-продуктов, к которым должны иметь доступ учетные данные каждого приложения. Вы можете проанализировать это с помощью отчетов Apigee Edge Analytics, основанных на идентификаторе клиента. | ||||||||||||||||||||||
Кэш без срока действия | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
Кэш не имеет срока действия. Разница между Apigee Edge и Apigee X:
| Нет | Решение: кэширование без срока действия.Установите время истечения срока действия для всех кэшей. | ||||||||||||||||||||||
Выражения фильтрации JSONPath для неопределенных путей | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
Для неопределенных путей запрос результата выражения фильтра не является частью спецификации JSONPath. См. https://goessner.net/articles/JsonPath/ . Разница между Apigee Edge и Apigee X: При навигации по этой примерной структуре, {
"books": [
{
"name": "A",
},
{
"name": "B",
}
]
} С помощью выражения
С помощью выражения
| Да | Решение: Фильтрация выражений JSONPath для неопределенных путей.Найти и заменить затронутые запросы. | ||||||||||||||||||||||
Выражения JSONPath для индексов, которые отсутствуют. | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
В Apigee X и Apigee Edge поведение выражений JSONPath, содержащих отсутствующий индекс, различается. В Apigee X при отсутствии пути возвращается ошибка Разница между Apigee Edge и Apigee X: При навигации по этой примерной структуре, {
"books": [
{
"name": "A",
},
{
"name": "B",
}
]
} С помощью выражения
| Да | Решение: выражения JSONPath для индексов, которые отсутствуют.Найти и заменить затронутые запросы. | ||||||||||||||||||||||
Выражения JSONPath с индексом массива не возвращают объект массива. | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
В Apigee X выражения JSONPath с индексом массива или срезами возвращают объект массива. Разница между Apigee Edge и Apigee X: При навигации по этой примерной структуре, {
"books": [
{
"name": "A",
},
{
"name": "B",
}
]
} С помощью выражения
С помощью выражения
С помощью выражения
| Да | Решение: выражения JSONPath с индексом массива не возвращают объект массива.Найти и заменить выражения, которые могут давать разные результаты после обновления. | ||||||||||||||||||||||
Ограничения на имена хранилища ключей | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
Имена хранилищ ключей Apigee X могут содержать только буквы, цифры и дефисы. Для имен хранилищ ключей Edge эти ограничения не действуют. | Нет | Решение: Ограничения на имена хранилища ключей.Проверьте имена хранилищ ключей и при необходимости обновите их, удалив неподдерживаемые символы. | ||||||||||||||||||||||
Для API-прокси развернуто несколько базовых путей. | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
В среде развертывается несколько версий API-прокси, и каждая версия имеет свой собственный базовый путь. Разница между Apigee Edge и Apigee X:
| Нет | Решение: Для API-прокси развернуто несколько базовых путей.Обновите все пакеты таким образом, чтобы в среду развертывалась только одна ревизия пакета, независимо от базового пути. | ||||||||||||||||||||||
Несоответствующие требованиям HTTP-сообщения | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
Клиенты или API-прокси отправляют сообщения (запросы или ответы), которые не соответствуют стандарту HTTP. Например, содержат недопустимые имена заголовков, дублирование в некоторых запрещенных заголовках и так далее. Переход на Apigee X невозможен, если при выполнении API-запроса возникает одна или несколько из следующих ошибок:
| Да, возможно. | Решение: Несоответствующие требованиям HTTP-сообщенияПеред переходом на Apigee X необходимо исправить все ошибки в протоколах HTTP. Если ошибка возникает в клиентском приложении, необходимо обратиться к разработчику этого приложения с просьбой исправить проблему. | ||||||||||||||||||||||
Недействителен срок действия токена OAuth 2.0. | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
Ограничения по сроку действия токенов OAuth 2.0 выходят за пределы установленного диапазона. Разница между Apigee Edge и Apigee X:
| Нет | Решение: Неверное время истечения срока действия токена OAuth 2.0 Используйте политику OAuthV2 и укажите время истечения срока действия в | ||||||||||||||||||||||
Превышен лимит продукции. | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
Конфигурация Apigee Edge не соответствует установленным ограничениям продукта . Некоторые ограничения продукта, которые задокументированы, но не применяются в Apigee Edge, применяются в Apigee X. | Нет | Решение: Превышен лимит продукции.Перед переходом на Apigee X устраните все случаи использования, превышающие лимиты продукта. | ||||||||||||||||||||||
Политики ServiceCallout с указанием целевого соединения как с конечной точкой, так и с путем. | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
В политике ServiceCallout элемент Apigee Edge документирует это требование, но не обеспечивает его соблюдение. Apigee X прекращает обработку, если встречает соединение | Нет | Решение: Политики ServiceCallout с указанием целевого соединения как с конечной точкой, так и с путем. Проверьте конфигурации политики ServiceCallout и удалите все конфигурации | ||||||||||||||||||||||
Ограничения на имена целевых серверов | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
Имена целевых серверов Apigee X могут содержать только буквы, цифры, дефисы и точки. Имена целевых серверов Edge не накладывают этих ограничений. | Нет | Решение: Ограничения на имена целевого сервераПроверьте имена целевых серверов и при необходимости обновите их, удалив неподдерживаемые символы. | ||||||||||||||||||||||
Пробный сертификат в виртуальном хосте | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
Один или несколько виртуальных хостов используют предоставленный Apigee сертификат "бесплатной пробной версии". Это приводит к тому, что виртуальный хост отвечает на запросы к доменам типа Разница между Apigee Edge и Apigee X:
| Да | Решение: Пробный сертификат в виртуальном хостеВам необходимо настроить собственный домен и соответствующим образом подготовить сертификаты. Любое клиентское приложение, зависящее от устаревшего доменного имени вида | ||||||||||||||||||||||
Неразрешенные DNS-запросы | ||||||||||||||||||||||||
| Краткое содержание | Требуются изменения на стороне клиента? | Разрешение | ||||||||||||||||||||||
Целевая конечная точка (или точки) имеет неразрешенное доменное имя (имена). Разница между Apigee Edge и Apigee X:
| Нет | Разрешение: Неразрешенные DNS-запросыОбновите целевую конечную точку, указав допустимое доменное имя. | ||||||||||||||||||||||