2015-04-27 2 views
0

Могу ли я получить список конечных точек назначения в политике javascript?Получение списка конечных точек назначения

Предположим, у меня есть конечная точка прокси, которая соединяется с несколькими конечными точками назначения. Могу ли я написать политику javascript, чтобы, если запрос был сделан на определенный URL-адрес этого прокси-сервера, он сделает вызов всем конечным точкам назначения и агрегирует результаты?

ответ

1

Да, это возможно. Само определение apiproxy содержит все целевые конечные точки, определенные для него.

Например: локон -v https://api.enterprise.apigee.com/v1/o/ {орг}/APIs/{апи}/изменения/{} оборотов/цели

даст вам список всех целей. Тогда вы можете получить каждый целевой URL из списка по телефону:

Curl -v https://api.enterprise.apigee.com/v1/o/ {орг}/APIs/{апи}/изменения/{} числа оборотов/цели/{цель}

Вы можете разобрать выведите каждый URL-адрес в цикле for и затем сделайте запрос к каждому из этих URL-адресов. Если ваши запросы просто GET-вызовы без каких-либо изменений в объекте запроса, например заголовки, тело и т. Д., То простой цикл цикла будет достаточно хорош.

Например: var geocoding = httpClient.get (URL); context.session ["geocoding"] = геокодирование;

Этот фрагмент кода можно вызвать в цикле для всех конечных точек назначения, которые у вас могут быть.

Единственный улов в том, что для получения конечных точек назначения вы делаете вызов api управления из уровня времени выполнения. Это означает, что если в какой-то момент уровень управления Apigee снижается для обслуживания или ухудшения обслуживания из-за запланированного обслуживания, ваши вызовы во время выполнения, как правило, терпят неудачу. Другое решение может быть, чтобы изолировать два сценария:

  • Получить список конечных точек в одном яваскрипте и, возможно, хранятся адреса в кэше (populateCache политика) или keyvaluemaps (при условии, что прокси-сервере конечной точки URL-адрес не изменится слишком часто)

  • Прочитайте список конечных точек из кеша или kvm, а затем запустите другой javascript, который может совершать вызовы этих конечных точек, а затем агрегировать ответ.

+0

Спасибо. Мы решили по-другому, я все равно ответил на ваш ответ. – gislikonrad

0

Невозможно вызвать целевую конечную точку из JavaScript. Фактически, вы можете вызывать только 0 или 1 целевые конечные точки для одного вызова прокси, а не нескольких конечных точек цели.

Вы можете вызвать несколько HTTP-запросов из JavaScript с помощью httpClient и агрегировать результаты, но не конечные конечные точки. Примером этого является here.

Смежные вопросы