16.08.17 - Примечания к выпуску Apigee Edge для публичного облака

Вы просматриваете документацию Apigee Edge .
Перейдите к документации Apigee X.
информация

Во вторник, 30 августа 2016 г., мы выпустили новую версию Apigee Edge для публичного облака.

Новые функции и обновления

Ниже приведены новые функции и обновления в этом выпуске.

Полезные данные JSON в Assign Message и Raise Fault

При настройке полезных данных JSON с использованием политики «Назначить сообщение» или «Вызвать ошибку» пользователям иногда приходилось использовать обходные пути, чтобы обеспечить правильное форматирование сообщения JSON во время выполнения, например начинать полезные данные с обратной косой черты «\» или указывать переменнуюPrefix и переменнуюSuffix в элемент Payload, даже если в сообщении не использовались переменные.

Благодаря этому усовершенствованию не требуются обходные пути для обеспечения правильного форматирования сообщений 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. Вот как это можно сделать на трехминутном примере:

  1. Во-первых, обязательно настройте балансировщик нагрузки, маршрутизатор и процессор сообщений на тайм-аут через 3 минуты.
  2. Затем настройте соответствующие прокси на время ожидания 3 минуты. Укажите значение в миллисекундах. Например:
    <ProxyEndpoint name="default">
      <HTTPProxyConnection>
        <BasePath>/v1/weather</BasePath> 
        <Properties> 
          <!-- api.timeout is in milliseconeds -->
          <Property name="api.timeout">180000</Property>
        </Properties>
        ...
    
  3. Однако обратите внимание, что увеличение системных тайм-аутов может привести к проблемам с производительностью, поскольку все прокси без параметра 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 не проверяется должным образом при импорте (не присваивает результаты выходным переменным, как описано в документации).