Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X. информация
Во вторник, 30 августа 2016 г., мы выпустили новую версию Apigee Edge для публичного облака.
Новые функции и обновления
Ниже приведены новые функции и обновления в этом выпуске.
Полезные данные JSON в Assign Message и Raise Fault
Благодаря этому усовершенствованию не требуются обходные пути для обеспечения правильного форматирования сообщений JSON, а переменные можно указывать с помощью фигурных скобок без создания недопустимого JSON. Например, следующий код вставляет значение message.content в сообщение JSON:
<Payload contentType="application/json">{"message" : "{message.content}"}</Payload>
Если вы использовали обходной путь, ваш код продолжит работать как есть. Вы также можете использоватьvariablePrefix иvariableSuffix вместо фигурных скобок для обозначения переменных.
См. элемент <Set><Payload> в справочных документах по политике назначения сообщений и политике Raise Fault . (АПИРТ-1160)
Улучшения политики преобразования XML в JSON
Политика преобразования XML в JSON была расширена следующими возможностями. Вы можете настроить политику, чтобы:
- Во время преобразования некоторые элементы XML рассматриваются как массивы, при этом значения помещаются в квадратные скобки '[ ]' в документе JSON.
- Удалите или исключите уровни иерархии XML-документа в окончательном документе JSON.
Дополнительные сведения см. в разделе Политика преобразования XML в JSON . (АПИРТ-1144)
Несколько подстановочных знаков в путях к ресурсам продукта API
При определении путей к ресурсам в продукте API вы можете включать подстановочные знаки в нескольких местах пути к ресурсу. Например, /team/*/invoices/**
разрешает вызовы API с любым значением после /team
и любыми путями к ресурсам после invoices/
. Разрешенным URI для вызова API будет proxyBasePath/team/finance/invoices/company/a
.
Если после этого выпуска существующие пути к ресурсам продукта API перестанут работать должным образом, установите в своей организации следующее свойство, чтобы вернуться к предыдущему поведению: features.enableStandardWildCardMatchForAPIProductResources = true
(МГМТ-3273)
Криптофункции в JavaScript
Доступен новый набор высокопроизводительных crypto
функций JavaScript для создания, получения и обновления следующих объектов has: MD5, SHA-1, SHA256, SHA512. Криптообъект также позволяет получать дату в различных форматах. Дополнительные сведения см. в разделе Объектная модель JavaScript . (АПИРТ-2886)
Проверка версии JAR Java Callout
При загрузке ресурса JAR Java на прокси-сервер API возвращается код состояния HTTP 400 (вместо 500), если версия ресурса Java несовместима с поддерживаемой Edge версией Java, указанной в разделе Поддерживаемое программное обеспечение и поддерживаемые версии . (МГМТ-3420)
Проверка ресурсов прокси API
Если у вас есть файлы ресурсов прокси-сервера API (например, JAR-файлы JavaScript или Java), хранящиеся в области среды или организации, платформа проверки больше не требует, чтобы вы также включали эти ресурсы на уровне прокси-сервера API в пакет прокси-сервера для импорта для прохождения проверки. Проверка ресурсов теперь происходит во время развертывания, а не во время импорта. (МГМТ-1430)
Настройте таймаут для отдельных прокси API
Вы можете настроить прокси-серверы API на тайм-аут через определенное время (со статусом тайм-аута шлюза 504). Основной вариант использования — для клиентов частного облака, у которых есть прокси-серверы API, выполнение которых занимает больше времени. Например, предположим, что вам нужны определенные прокси, чтобы время ожидания составляло 3 минуты. Вы можете использовать новое свойство api.timeout
в конфигурации прокси-сервера API. Вот как это можно сделать на трехминутном примере:
- Во-первых, обязательно настройте балансировщик нагрузки, маршрутизатор и процессор сообщений на тайм-аут через 3 минуты.
- Затем настройте соответствующие прокси на время ожидания 3 минуты. Укажите значение в миллисекундах. Например:
<ProxyEndpoint name="default"> <HTTPProxyConnection> <BasePath>/v1/weather</BasePath> <Properties> <!-- api.timeout is in milliseconeds --> <Property name="api.timeout">180000</Property> </Properties> ...
- Однако обратите внимание, что увеличение системных тайм-аутов может привести к проблемам с производительностью, поскольку все прокси без параметра api.timeout используют новые, более высокие тайм-ауты балансировщика нагрузки, маршрутизатора и процессора сообщений. Поэтому настройте другие прокси-серверы API, которым не требуются более длительные таймауты, чтобы использовать более низкие таймауты. Например, следующее устанавливает время ожидания прокси-сервера API через 1 минуту:
<Property name="api.timeout">60000</Property>
Клиенты облака, которые не могут изменять тайм-ауты Edge, также могут настроить тайм-аут прокси-сервера API, если этот тайм-аут короче стандартного тайм-аута процессора сообщений Edge, составляющего 57 секунд.
Вы не можете заполнить значение переменной. Это свойство описано в справочнике по свойствам конечной точки . (АПИРТ-1778)
TLS/SSL для политики регистрации сообщений
<KeyStore>
и <TrustStore>
можно установить в конфигурации SSLInfo
в политике ведения журнала сообщений , что позволяет использовать одно- и двусторонний TLS/SSL со службой ведения журнала. Вы настраиваете SSLInfo в политике ведения журнала сообщений так же, как и в прокси-сервере TargetEndpoint . Однако протокол TLS/SSL для ведения журнала сообщений поддерживает только протокол TCP. (АПИРТ-1858)
Исправлены ошибки
В этом выпуске исправлены следующие ошибки. Этот список предназначен в первую очередь для пользователей, проверяющих, исправлены ли их заявки в службу поддержки. Он не предназначен для предоставления подробной информации всем пользователям.
Идентификатор проблемы | Описание |
---|---|
СЕКЕНГ-609 | Вызовы во время выполнения не завершаются сбоем во время удаления связанного хранилища доверенных сертификатов или при удалении действующего сертификата в хранилище доверенных сертификатов. |
МГМТ-3404 | Просмотр/извлечение журналов Node.js и развертывание прокси происходит очень медленно. |
МГМТ-3400 | Вызов API управления /userroles завершается неудачей, если пользователь, выполняющий вызов, имеет знак «+» в имени. |
МГМТ-3368 | java.lang.ArrayIndexOutOfBoundsException: 1, при импорте пакета прокси-сервера API, содержащего каталог resources/node/resources. |
МГМТ-3364 | OAuthV2: проверка redirect_uri |
МГМТ-3319 | Список записей в хранилище, одна из которых имеет нулевое значение, не работает для организаций (CPS и не CPS). |
МГМТ-3226 | Запросы на уровне организации/среды не должны извлекать все данные, что приводит к сбою API. В Release_160302 была ошибка, из-за которой список ресурсов на уровне организации/среды не отображался, если совокупный размер ресурсов превышает 16 МБ. Это исправление устраняет эту проблему. |
АКСАПП-2429 | API Analytics с использованием response_status_code возвращает ошибку доступа к данным |
АКСАПП-2386 | Исправление пустого содержимого отчетов в ежедневных аналитических отчетах по электронной почте. |
Аксапп-2347 | Не получать ежедневные электронные письма со сводной аналитикой |
АПИРТ-3141 | Вызовы Java завершаются сбоем при вызове new ExecutionResult() , поскольку конструктор стал закрытым. |
АПИРТ-3140 | Политика ServiceCallout не работает в вызовах API HEAD |
АПИРТ-3131 | Неправильно отображается значение CreateBy для прокси-сервера API при использовании монетизации с внешним поставщиком аутентификации. |
АПИРТ-3121 | Внесенное изменение файла ресурсов организации не на 100 % эффективно. |
АПИРТ-3117 | MP достиг 100% загрузки ЦП и прекратил обслуживать трафик. |
АПИРТ-3016 | Ошибки маршрутизатора «Тайм-аут вызова» при развертываниях |
АПИРТ-2975 | Ошибка загрузки пакета сертификатов |
АПИРТ-2955 | Невозможно замаскировать определенные атрибуты данных ответа JSON для заголовка Content-Type FHIR-жалобы «application/json+fhir». |
АПИРТ-2946 | Политика OAuthV2-RefreshToken не скрывает атрибуты, хотя для отображения установлено значение false |
АПИРТ-2908 | После обновления TLS1.2 на виртуальном хосте требуется принудительное использование TLS1.2 для внутреннего вызова API. |
АПИРТ-2901 | Gzip-ответы, возвращаемые из кеша, сжимаются дважды. |
АПИРТ-2873 | Члены парламента выдают исключение NullPointerException, связанное с VerifyAPIKey, после удаления продуктов/разработчиков/прокси |
АПИРТ-2871 | Политики IOIntensive появляются дважды в Trace |
АПИРТ-2825 | Грамматическая ошибка в ответе об ошибке токена доступа |
АПИРТ-2750 | Высокий уровень сбоев трафика в конкретной организации |
АПИРТ-2685 | Трафик не может проходить, выдается неизвестная ошибка |
АПИРТ-2647 | Ошибка «Базовый входной поток вернул ноль байтов» с nonprod/dev |
АПИРТ-2630 | Периодические проблемы при попытке прочитать значение из кэша |
АПИРТ-2620 | Отдельный пул потоков для некоторых шагов блокировки. |
АПИРТ-2610 | java.lang.ClassCastException с политикой кэша ответов |
АПИРТ-2608 | Ошибка анализа заголовков Last-Modified в политиках кэша ответов |
АПИРТ-2605 | Переменные «организация» и «среда» не должны перезаписываться с помощью политик. |
АПИРТ-2566 | Политика OAuthV2 возвращает неверный заголовок WWW-Authenticate |
АПИРТ-2491 | Обновление TargetServer не удалось из-за тайм-аута RPC между управлением и MPS. |
АПИРТ-2386 | В продукте API создается пустая строковая область с пустыми разрешенными областями OAuth. |
АПИРТ-2383 | Политики преобразования XSL, похоже, не регистрируют какие-либо данные в случае ошибки. |
АПИРТ-2364 | Переменные потока ошибок OAuth не обновляются при ошибке |
АПИРТ-2216 | События, отправленные сервером: поток событий имеет проблемы в продукте |
АПИРТ-2079 | Вызов DEBUG cURL не останавливается после истечения тайм-аута для созданного сеанса |
АПИРТ-1495 | Защита от угроз XML не улавливает тип контента |
АПИРТ-347 | Политика XSL не проверяется должным образом при импорте (не присваивает результаты выходным переменным, как описано в документации). |