Справочник по переменным потока

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

В этом разделе представлена ​​справочная информация о переменных потока.

Apigee Edge определяет следующие переменные потока:

apigee              loadbalancing        route
apiproxy            message              router
application         messageid            servicecallout
client              organization         system
current             proxy                target
environment         ratelimit            variable
error               request              virtualhost
is                  response
                               

Каждая из этих переменных описана в следующих разделах.

apigee

Вспомогательная переменная, предоставляющая информацию о времени выполнения политики.

В следующей таблице описаны свойства переменной apigee :

Свойство Тип Чтение/Запись Описание Область применения начинается
apigee.metrics.policy. policy_name .timeTaken Целое число Только для чтения Время в наносекундах, которое потребовалось для выполнения политики. Политика

apiproxy

Описывает API-прокси.

В следующей таблице описаны свойства переменной apiproxy :

Свойство Тип Чтение/Запись Описание Область применения начинается
apiproxy.name Нить Только для чтения Имя API прокси. Например, "My Proxy". Запрос прокси
apiproxy.revision Нить Только для чтения Номер ревизии API-прокси. Например, "6". Запрос прокси

Дополнительную информацию о работе с API-прокси см. в разделе Общие сведения об API и API-прокси .

application

Контейнер для свойства application.basepath .

В следующей таблице описаны свойства переменной application :

Свойство Тип Чтение/Запись Описание Область применения начинается
application.basepath Нить Только для чтения Базовый путь развертывания (указывается при развертывании API). Запрос прокси

client

Приложение или система, отправившая запрос на пограничный маршрутизатор.

В следующей таблице описаны свойства client переменной:

Свойство Тип Чтение/Запись Описание Область применения начинается
client.cn Нить Только для чтения

Общее имя, указанное в сертификате TLS/SSL, представленном клиентским приложением.

Запрос прокси
client.country Нить Только для чтения

Страна в сертификате TLS/SSL, представленном клиентским приложением.

Запрос прокси
client.email.address Нить Только для чтения

Адрес электронной почты в сертификате TLS/SSL, представленном клиентским приложением.

Запрос прокси
client.host Нить Только для чтения

IP-адрес HTTP-хоста, связанный с запросом, полученным ProxyEndpoint.

Запрос прокси
client.ip Нить Только для чтения

IP-адрес клиента или системы, отправляющей сообщение на Edge-маршрутизатор. Например, это может быть исходный клиентский IP или IP-адрес балансировщика нагрузки.

Запрос прокси
client.locality Нить Только для чтения

Населенный пункт (город) в сертификате TLS/SSL, предоставленном клиентом.

Запрос прокси
client.organization Нить Только для чтения Организация в сертификате TLS/SSL, представленном клиентом. (Не обязательно эквивалентна организации в Apigee Edge.) Запрос прокси
client.organization.unit Нить Только для чтения

Организационная единица в сертификате TLS/SSL, представленном клиентом.

Запрос прокси
client.port Целое число Только для чтения

HTTP-порт, связанный с исходным клиентским запросом к ProxyEndpoint.

Запрос прокси
client.received.end.time Нить Только для чтения

Время, выраженное в виде строки, в которое прокси-сервер завершил прием запроса от исходного клиента в ProxyEndpoint. Например: Ср, 21 авг 2013 19:16:47 UTC.

Это значение времени является строковым представлением соответствующей 32-битной величины временной метки. Например, 'Ср, 21 авг 2013 19:16:47 UTC' соответствует значению временной метки 1377112607413.

Запрос прокси
client.received.end.timestamp Длинный Только для чтения

Значение метки времени, указывающее, когда прокси-сервер закончил получать запрос от исходного клиента в ProxyEndpoint. Это значение представляет собой 64-битное (длинное) целое число, содержащее количество миллисекунд, прошедших с полуночи 1 января 1970 года по Гринвичу.

Запрос прокси
client.received.start.time Нить Только для чтения

Время, выраженное в виде строки, в которое прокси начал получать запрос от исходного клиента в ProxyEndpoint. Например: Ср, 21 авг 2013 19:16:47 UTC

Это значение времени является строковым представлением соответствующей 32-битной величины временной метки. Например, 'Ср, 21 авг 2013 19:16:47 UTC' соответствует значению временной метки 1377112607413.

Запрос прокси
client.received.start.timestamp Длинный Только для чтения

Значение метки времени, указывающее, когда прокси начал получать запрос от исходного клиента в ProxyEndpoint. Это значение представляет собой 64-битное (длинное) целое число, содержащее количество миллисекунд, прошедших с полуночи 1 января 1970 года по Гринвичу.

Запрос прокси
client.scheme Нить Только для чтения

Возвращает http или https в зависимости от транспорта, используемого клиентским приложением для отправки сообщения-запроса.

Запрос прокси
client.sent.end.time Нить Только для чтения

Время, выраженное в виде строки, в которое прокси-сервер завершил отправку ответа от ProxyEndpoint клиенту. Например: "Ср, 21 авг 2013 19:16:47 UTC".

Это значение является строковым представлением соответствующего 32-битного client.sent.end.timestamp . Например, "Ср, 21 авг 2013 19:16:47 UTC" соответствует значению временной метки 1377112607413.

PostClientFlow
client.sent.end.timestamp Длинный Только для чтения Значение метки времени, указывающее, когда ProxyEndpoint завершил возврат ответа исходному клиентскому приложению. Это значение представляет собой 64-битное (длинное) целое число, содержащее количество миллисекунд, прошедших с полуночи 1 января 1970 года по Гринвичу. PostClientFlow
client.sent.start.time Нить Только для чтения Время, выраженное в виде строки, когда ProxyEndpoint начал возвращать ответ исходному клиентскому приложению. Например, "Ср, 21 авг 2013 19:16:47 UTC".

Это значение является строковым представлением соответствующего 32-битного client.sent.start.timestamp . Например, "Ср, 21 авг 2013 19:16:47 UTC" соответствует значению временной метки 1377112607413.

PostClientFlow
client.sent.start.timestamp Длинный Только для чтения Когда прокси начал отправлять ответ клиенту из ProxyEndpoint. Это значение выражается как 64-битное (длинное) целое число, содержащее количество миллисекунд, прошедших с полуночи 1 января 1970 года по Гринвичу. PostClientFlow
client.ssl.enabled Нить Только для чтения

«true», если ProxyEndpoint настроен для TLS/SSL; в противном случае «false».

Запрос прокси
client.state Нить Только для чтения

Состояние сертификата TLS/SSL, предоставленного клиентом.

Запрос прокси

current

Содержит информацию о текущем потоке прокси-API.

В следующей таблице описаны свойства current переменной:

Свойство Тип Чтение/Запись Описание Область применения начинается
current.flow.name Нить Только для чтения Имя потока, который в данный момент выполняется (например, «PreFlow», «PostFlow» или имя условного потока). Запрос прокси
current.flow.description Нить Только для чтения Описание текущего выполняемого потока. Это то же самое, что и значение элемента <Description> в XML-конфигурации потока. Запрос прокси

Вы можете просмотреть эти свойства в представлении Trace пользовательского интерфейса Edge. Однако эти свойства по умолчанию не видны в представлении Trace пользовательского интерфейса Classic.

environment

Контейнер для свойства environment.name .

В следующей таблице описаны свойства переменной environment :

Свойство Тип Чтение/Запись Описание Область применения начинается
environment.name Нить Только для чтения Название среды, в которой выполнялась транзакция. Запрос прокси

error

Контекстный объект, представляющий сообщение об ошибке в потоке ошибок .

В следующей таблице описаны свойства переменной error :

Свойство Тип Чтение/Запись Описание Область применения начинается
error message Чтение/Запись Ошибка типа message , которая является контекстным объектом в потоке ошибок. Ошибка
error.content Нить Чтение/Запись Содержание ошибки. Ошибка
error.message Нить Только для чтения

Сообщение, связанное с ошибкой, значение которого доступно только до выполнения потока ошибок.

Ошибка
error.status.code Целое число Только для чтения

Код статуса HTTP, связанный с ошибкой. Например, "400".

Ошибка
error.reason.phrase Нить Только для чтения

Фраза причины, связанная с ошибкой. Например: «Неверный запрос».

Ошибка
error.transport.message ТранспортСообщение Только для чтения

Любая ошибка типа TransportMessage.

Ошибка
error.state Целое число Только для чтения

Состояние потока, где произошла ошибка.

Ошибка
error.header. header_name Нить Чтение/Запись

Получить или установить заголовок ответа.

Ошибка

fault

Переменная потока, которая устанавливается на код ошибки времени выполнения, когда политика выдает ошибку. Значения кодов ошибок специфичны для каждой политики.

Свойство Тип Чтение/Запись Описание Область применения начинается
fault. fault_name Нить Только для чтения fault_name — имя ошибки, как описано в таблице ошибок времени выполнения , включенной в каждую справочную тему политики . Ошибка

is

Контейнер для свойства is.error .

В следующей таблице описаны свойства переменной is :

Свойство Тип Чтение/Запись Описание Область применения начинается
is.error Булев Только для чтения

Флаг ошибки.

Запрос прокси

loadbalancing

Предоставляет информацию о состоянии балансировки нагрузки TargetEndpoint.

В следующей таблице описаны свойства переменной loadbalancing :

Свойство Тип Чтение/Запись Описание Область применения начинается
loadbalancing.failedservers Массив строк Только для чтения

Список отказавших TargetServers во время балансировки нагрузки в TargetEndpoint.

Целевой ответ
loadbalancing.isfallback Булев Только для чтения

«true», если включена возможность отката для TargetServer, вызванного во время балансировки нагрузки в TargetEndpoint.

Целевой ответ
loadbalancing.targetserver Нить Только для чтения

TargetServer вызывается во время балансировки нагрузки в TargetEndpoint. Устанавливается только если элемент <Path> задан при определении элемента балансировщика нагрузки.

Целевой ответ

message

Контекстный объект с тем же значением, что и request в потоке запросов, или response в потоке ответов, или error в потоке ошибок.

В следующей таблице описаны свойства переменной message :

Свойство Тип Чтение/Запись Описание Область применения начинается
message message Чтение/Запись

Контекстный объект с тем же значением, что и request в потоке запросов, или как response в потоке ответов, или как error в потоке ошибок.

Запрос прокси
message.content Нить Чтение/Запись

Содержание запроса, ответа или сообщения об ошибке.

Запрос прокси
message.formparam. param_name Нить Чтение/Запись

Значение указанного параметра формы.

Запрос прокси
message.formparam. param_name .
values
Коллекция Только для чтения

Все значения указанного параметра формы в сообщении.

Запрос прокси
message.formparam. param_name .
values.count
Целое число Только для чтения

Количество значений указанных параметров формы в сообщении./p>

Запрос прокси
message.formparams.count Целое число Только для чтения

Количество всех параметров формы в сообщении.

Запрос прокси
message.formparams.names Коллекция Только для чтения

Значение всех параметров формы в сообщении.

Запрос прокси
message.formstring Нить Только для чтения

Значение строки формы в сообщении.

Запрос прокси
message.header. header_name Нить Чтение/Запись

Получает или задает значение указанного заголовка HTTP в сообщении. Если заголовок содержит запятую, при чтении вы получите только сегмент текста до первой запятой. Если вам нужен весь заголовок, используйте форму request.header. header_name .
values

Запрос прокси
message.header. header_name . N Нить Чтение/Запись

Значение N-го конкретного заголовка в сообщении, запрос или ответ, в зависимости от состояния потока. Apigee Edge разделяет текстовые значения заголовков запятыми. Обратите внимание, что индекс, значение которого используется для N, отсчитывается от 1, а не от 0.

Например: если заголовок Cache-control равен «public,maxage=16544», то возвращаемое значение message.header.cache-control.1 равно «maxage=16544».

Запрос прокси
message.header. header_name .
values
Коллекция Только для чтения

Все значения указанного имени заголовка HTTP в сообщении.

Запрос прокси
message.header. header_name .
values.count
Целое число Только для чтения

Количество значений указанного имени заголовка HTTP в сообщении.

Запрос прокси
message.headers.count Целое число Только для чтения

Количество всех HTTP-заголовков в сообщении.

Запрос прокси
message.headers.names Коллекция Только для чтения

Значение всех HTTP-заголовков в сообщении

Запрос прокси
message.path Нить Чтение/Запись

Полный путь сообщения запроса в URL-адресе без учета параметров запроса.

Запрос прокси
message.queryparam. param_name Нить Только для чтения

Возвращает указанный параметр запроса сообщения.

Запрос прокси
message.queryparam. param_name . N Нить Чтение/Запись

Значение N-го параметра запроса в сообщении. Например, если request.querystring — "a=hello&a=world", то возвращаемое значение message.queryparam.a.1 — "hello".

В качестве примера записи нескольких значений для одного имени параметра запроса, например «type=siteid:1&type=language:us-en&type=currency:USD», задайте следующее:

  • message.queryparam.type.1 на "siteid:1"
  • message.queryparam.type.2 на "язык:en-us"
  • message.queryparam.type.3 на "currency:USD"
Запрос прокси
message.queryparam. param_name .
values
Коллекция Только для чтения

Все значения определенного параметра запроса в сообщении, отформатированные в виде списка, разделенного запятыми.

Например, если строка запроса a=hello&a=world , то значение message.queryparam.a.values ​​будет "['hello', 'world']".

Запрос прокси
message.queryparam. param_name .
values.count
Целое число Только для чтения

Общее количество указанных параметров запроса, связанных с запросом, отправленным на ProxyEndpoint из клиентского приложения.

Запрос прокси
message.queryparams.count Целое число Только для чтения

Общее количество всех параметров запроса, связанных с запросом, отправленным на ProxyEndpoint из клиентского приложения.

Запрос прокси
message.queryparams.names Коллекция Только для чтения

Список всех имен параметров запроса, связанных с запросом, отправленным в ProxyEndpoint из клиентского приложения.

Чтобы выполнить итерацию по именам параметров запроса с помощью JavaScript, см. следующую публикацию сообщества Apigee: Как выполнить итерацию коллекции из «request.queryparams.names» в JS? в сообществе Apigee .

Запрос прокси
message.querystring Нить Только для чтения

Строка, содержащая все имена и значения параметров запроса, связанные с запросом, отправленным в ProxyEndpoint из клиентского приложения.

Например, для запроса «http://api.apifactory.com/inventors?name=nick&surname=danger» значение message.querystring будет «name=nick&surname=danger».

Запрос прокси
message.reason.phrase Нить Только для чтения

ReasonPhrase ответного сообщения от цели.

Целевой ответ
message.status.code Целое число Только для чтения

HTTP-код статуса ответного сообщения от цели.

Целевой ответ
message.transport.message ТранспортСообщение Только для чтения

Сообщение типа TransportMessage, являющееся контекстным объектом.

Запрос прокси
message.uri Нить Только для чтения

Полный путь URI (после URL-адреса домена), включая параметры запроса.

Например, для запроса «http://api.apifactory.com/inventors?name=nikola&surname=tesla» эта переменная возвращает «inventors?name=nikola&surname=tesla».

Запрос прокси
message.verb Нить Только для чтения

HTTP-глагол ( GET , PUT , POST , DELETE и т. д.), связанный с запросом.

Запрос прокси
message.version Нить Чтение/Запись

Версия HTTP, связанная с запросом, отправленным на ProxyEndpoint из клиентского приложения.

Запрос прокси

Более подробную информацию о сообщениях см. в Справочнике функций шаблонов сообщений .

messageid

Контейнер для глобального уникального идентификатора запроса.

В следующей таблице описаны свойства переменной messageid :

Свойство Тип Чтение/Запись Описание Область применения начинается
messageid Нить Только для чтения

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

Этот идентификатор регистрируется в журналах ошибок Edge для соотнесения messageid с ошибками.

Запрос прокси

organization

Контейнер для свойства organization.name .

В следующей таблице описаны свойства переменной organization :

Свойство Тип Чтение/Запись Описание Область применения начинается
organization.name Нить Только для чтения

Название организации.

Запрос прокси

Более подробную информацию об организациях см. в разделе Понимание организаций .

proxy

Конфигурация API-прокси.

В следующей таблице описаны свойства proxy переменной:

Свойство Тип Чтение/Запись Описание Область применения начинается
proxy.basepath Нить Только для чтения

Значение базового пути в конфигурации вашего API-прокси. Базовый путь — это фрагмент URI, который следует за хостом в URL. Условные потоковые URI следуют базовому пути.

В URL-адресе «http://myorg-test.apigee.net /v2/weatherapi /forecastrss?w=12797282»:

  • Хост — «myorg-test.apigee.net» (включая название организации и среду)
  • Базовый путь — «/v2/weatherapi»

Единственный способ узнать это — посмотреть определение прокси API или проверить значение переменной proxy.basepath. Суффикс пути прокси следует за базовым путем ("/forecastrss") вместе с любыми параметрами запроса.

Если вы определяете динамический базовый путь в конфигурации прокси-сервера API, например «/v2/*/weatherapi», то эта переменная устанавливается на динамический путь («/v2/*/weatherapi»), даже если базовый путь разрешается в статическое значение, например «/v2/foo/weatherapi».

Запрос прокси
proxy.client.ip Нить Только для чтения

Адрес X-Forwarded-For входящего вызова, который является IP-адресом, полученным Edge от последнего внешнего TCP-рукопожатия. Это может быть вызывающий клиент или балансировщик нагрузки.

Запрос прокси
proxy.name Нить Только для чтения

Атрибут имени, настроенный для ProxyEndpoint.

Запрос прокси
proxy.pathsuffix Нить Только для чтения

Значение суффикса базового пути прокси-API, которое отправляется клиентом и принимается в ProxyEndpoint.

Basepath определяется как компонент пути, который однозначно идентифицирует API proxy. Публичный URL API proxy состоит из имени вашей организации, среды, в которой развернут proxy, basepath, суффикса basepath и любых параметров запроса.

Например, в запросе к http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282 суффикс базового пути — «/forecastrss».

Запрос прокси
proxy.url Нить Только для чтения

Получает полный URL, связанный с запросом прокси, полученным ProxyEndpoint, включая любые имеющиеся параметры запроса. Хост URL всегда будет localhost если прокси вызывается с <LocalTargetConnection> для выполнения цепочки прокси .

Пример создания URL-адреса request с использованием исходного хоста см. в разделе Сообщения о запросах на доступ .

Запрос прокси

Дополнительную информацию о работе с API-прокси см. в разделе Общие сведения об API и API-прокси .

ratelimit

Заполняется при выполнении политики Quota или SpikeArrest.

В следующей таблице описаны свойства переменной ratelimit :

Свойство Тип Чтение/Запись Описание Область применения начинается
ограничение скорости. policy_name .разрешено.количество Длинный Только для чтения Возвращает разрешенное количество квот. PostClientFlow
ограничение скорости. policy_name .использовано.количество Длинный Только для чтения Возвращает текущую квоту, используемую в пределах интервала квоты. PostClientFlow
ограничение скорости. policy_name .доступно.количество Длинный Только для чтения Возвращает доступное количество квот в интервале квот. PostClientFlow
ограничение скорости. policy_name .exceed.count Длинный Только для чтения Возвращает 1 после превышения квоты. PostClientFlow
ограничение скорости. policy_name . общее. превышение. количество Длинный Только для чтения Возвращает 1 после превышения квоты. PostClientFlow
ограничение скорости. policy_name .expiry.время Длинный Только для чтения

Возвращает время UTC (в миллисекундах), которое определяет, когда истекает срок действия квоты и начинается новый интервал квоты.

Если тип политики квот — rollingwindow , это значение недействительно, поскольку интервал квоты никогда не истекает.

PostClientFlow
ограничение скорости. policy_name . идентификатор Нить Только для чтения Возвращает ссылку на идентификатор (клиента), прикрепленную к политике. PostClientFlow
ограничение скорости. policy_name .класс.разрешенный.количество Длинный Только для чтения Возвращает разрешенное количество квот, определенное в классе. PostClientFlow
ограничение скорости. policy_name .класс.использован.количество Длинный Только для чтения Возвращает использованную квоту в классе PostClientFlow
ограничение скорости. policy_name .класс.доступный.количество Длинный Только для чтения Возвращает доступное количество квот в классе. PostClientFlow
ограничение скорости. policy_name .класс.превышения.количество Длинный Только для чтения Возвращает количество запросов, превышающих лимит в классе в текущем интервале квоты. PostClientFlow
ограничение скорости. policy_name .класс.всего.превышения.количество Длинный Только для чтения Возвращает общее количество запросов, превышающих лимит в классе по всем интервалам квот, то есть это сумма class.exceed.count для всех интервалов квот. PostClientFlow
ограничение скорости. policy_name .не удалось Булев Только для чтения

Указывает, была ли политика несостоятельной (истина или ложь).

PostClientFlow

Более подробную информацию см. в следующих источниках:

request

Полный запрос, включая всю имеющуюся полезную нагрузку.

Дополнительную информацию о данных запроса см. в разделе Как данные запроса передаются на внутренний сервер?

В следующей таблице описаны свойства переменной request :

Свойство Тип Чтение/Запись Описание Область применения начинается
request message Только для чтения

Полный запрос, включая всю имеющуюся полезную нагрузку.

Запрос прокси
request.content Нить Чтение/Запись

Получает или задает полезную нагрузку сообщения-запроса.

Запрос прокси
request.formparam. param_name Нить Чтение/Запись

Получает или задает значение указанного параметра формы в запросе, отправленном из клиентского приложения.

Запрос прокси
request.formparam. param_name .
values
Коллекция Только для чтения

Все значения определенного параметра формы в запросе, отформатированные в виде списка, разделенного запятыми.

Например, если полезная нагрузка — «a=hello&x=greeting&a=world», то значение request.formparam.a.values ​​будет «['hello', 'world']».

Запрос прокси
request.formparam. param_name .
values.count
Целое число Только для чтения

Количество всех значений указанного параметра формы, связанных с запросом.

Запрос прокси
request.formparam. param_name . N Нить Чтение/Запись

Значение N-го конкретного параметра формы в сообщении. Например, если строка формы — «a=hello&a=world», то возвращаемое значение request.formparam.a.1 — «hello».

Запрос прокси
request.formparams.count Целое число Только для чтения

Количество всех параметров формы, связанных с запросом, отправленным из клиентского приложения.

Запрос прокси
request.formparams.names Коллекция Только для чтения

Список всех имен параметров формы, связанных с запросом.

Запрос прокси
request.formstring Нить Только для чтения

Полный formparam в запросе, отправленном из клиентского приложения.

Например, «имя=тест&тип=первый&группа=А».

Запрос прокси
request.header. header_name Нить Чтение/Запись

Получает или задает значение определенного заголовка, найденного в запросе. Если заголовок содержит запятую, при чтении вы получите только сегмент текста до первой запятой.

Если вам нужен весь заголовок, используйте форму request.header. header_name .values .

Запрос прокси
request.header. header_name . N Нить Чтение/Запись

Значение N-го конкретного значения заголовка в запросе. Apigee Edge разделяет текстовые значения заголовков запятыми. Обратите внимание, что индекс, значение которого используется для N, отсчитывается от 1, а не от 0.

Например, если заголовок Cache-control равен «public, maxage=16544», то возвращаемое значение request.header.cache-control.1 будет равно «maxage=16544».

Запрос прокси
request.header. header_name .
values
Коллекция Только для чтения

Все значения определенного заголовка в запросе.

Запрос прокси
request.header. header_name .
values.count
Целое число Только для чтения

Подсчет всех значений определенного заголовка в запросе.

Запрос прокси
request.headers.count Целое число Только для чтения

Количество всех заголовков в запросе.

Запрос прокси
request.headers.names Коллекция Только для чтения

Имена всех заголовков в запросе.

Запрос прокси
request.path Нить Только для чтения

Непроксированный путь к ресурсу (не включая хост) к внутренней службе, исключая параметры запроса.

Например, если URI к бэкэнд-сервису — «https://example.com/rest/api/latest», то значение request.path будет «/rest/api/latest».

Запрос прокси
request.queryparam. param_name Нить Чтение/Запись

Значение определенного параметра запроса, найденного в запросе.

Запрос прокси
request.queryparam. param_name . N Нить Чтение/Запись

Значение N-го параметра запроса в запросе.

Например, если request.querystring — «a=hello&a=world», то возвращаемое значение request.queryparam.a.1 — «hello».

В качестве примера записи нескольких значений для одного имени параметра запроса, например «type=siteid:1&type=language:us-en&type=currency:USD», задайте следующее:

  • request.queryparam.type.1 на "siteid:1"
  • request.queryparam.type.2 на "language:en-us"
  • request.queryparam.type.3 на "currency:USD"
Запрос прокси
request.queryparam. param_name .
values
Коллекция Только для чтения

Все значения определенного параметра запроса в запросе, отформатированные в виде списка, разделенного запятыми.

Например, если request.querystring — «a=hello&b=lovely&a=world», то значение request.queryparam.a.values ​​— «['hello', 'world']».

Запрос прокси
request.queryparam. param_name .
values.count
Целое число Только для чтения

Количество всех значений определенного параметра запроса в запросе.

Запрос прокси
request.queryparams.count Целое число Только для чтения

Количество всех параметров запроса в запросе.

Запрос прокси
request.queryparams.names Коллекция Только для чтения

Имена всех параметров запроса в запросе.

Чтобы выполнить итерацию по именам параметров запроса с помощью JavaScript, см. раздел Как выполнить итерацию коллекции из «request.queryparams.names» в JS? в сообществе Apigee .

Запрос прокси
request.querystring Нить Только для чтения

Полный список параметров запроса в запросе, отправленном из клиентского приложения.

Например, если запрос имеет вид «http://host.com/123?name=first&surname=second&place=address», то эта переменная возвращает «name=first&surname=second&place=address».

Запрос прокси
request.transportid Нить Только для чтения

Идентификатор запроса как типа TransportMessage, который является контекстным объектом.

Запрос прокси
request.transport.message Транспорт-Сообщение Только для чтения

Запрос типа TransportMessage, который является контекстным объектом.

Запрос прокси
request.uri Нить Только для чтения

В API proxy proxy <BasePath> в ProxyEndpoint (в дополнение к базовому URL proxy) сопоставляется с URL целевой службы в TargetEndpoint. Например:

<ProxyEndpoint>
...
<BasePath>/my-mock-proxy</BasePath>

Указывает на

<TargetEndpoint>
...
<HTTPTargetConnection>
http://mocktarget.apigee.net
</HTTPTargetConnection>

В запросе request.uri — это базовый путь прокси-сервера + оставшаяся часть адреса, включая параметры запроса.

В ответе request.uri — это оставшаяся часть адреса, включая параметры запроса, после HTTPTargetConnection.

Разница заключается в том, что исходный запрос поступает на прокси-сервер, но затем прокси-сервер делает еще один запрос к целевой службе.

Предположим, что к нашему образцу прокси-сервера, базовый путь которого «/my-mock-proxy», выполняется следующий вызов:

http://my_org-test.apigee.net/my-mock-proxy/ user?user=Dude

И прокси-вызовы:

http://mocktarget.apigee.net

Что добавляет "/user?user=Dude" к этому URL.

  • Запрос: request.uri = "/my-mock-proxy/user?user=Dude"
  • Ответ: request.uri = "/user?user=Чувак"
Запрос прокси (отличается в ответе)
request.url Нить Только для чтения

Полный URL-адрес запроса, отправленного на целевую конечную точку, включая параметры строки запроса, но не включая номер порта (если указан).

Например, если вы делаете вызов к образцу прокси-сервера «http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude», а целевой конечной точкой является «http://example.com:8080», то значение будет следующим:

  • Запрос: нет данных
  • Ответ: "http://example.com/user?user=Чувак"
Целевой ответ
request.verb Нить Только для чтения

HTTP-глагол, используемый для запроса. Например, «GET», «PUT» и «DELETE».

Запрос прокси
request.version Нить Только для чтения

HTTP-версия запроса. Например, "1.1".

Запрос прокси

response

Полный ответ, включая имеющуюся полезную нагрузку.

В следующей таблице описаны свойства переменной response :

Свойство Тип Чтение/Запись Описание Область применения начинается
response message Чтение/Запись

Полное ответное сообщение, возвращенное целью.

Целевой ответ
response.content Нить Чтение/Запись

Полезное содержимое ответного сообщения, возвращаемого целью.

Целевой ответ
response.formparam. param_name Нить Чтение/Запись

Значение параметра формы в ответе.

Целевой ответ
response.formparam. param_name .
values.count
Целое число Только для чтения

Подсчет всех значений указанного параметра формы в ответе.

Целевой ответ
response.formparams.count Целое число Только для чтения

Количество всех параметров формы в ответе.

Целевой ответ
response.formparams.names Коллекция Только для чтения

Имена всех параметров формы в ответе.

Целевой ответ
response.header. header_name Нить Чтение/Запись

Получает или задает значение указанного заголовка HTTP в ответе.

Если текст заголовка содержит запятую, Apigee Edge выводит несколько значений. В этом случае response.header. header_name возвращает только первое значение.

Чтобы прочитать весь заголовок, используйте форму response.header. header_name .values ​​.

Целевой ответ
response.header. header_name .
values
Коллекция Только для чтения

Все значения указанного HTTP-заголовка в ответе.

Целевой ответ
response.header. header_name .
values.count
Целое число Только для чтения

Количество всех значений указанного HTTP-заголовка в ответе.

Целевой ответ
response.header. header_name . N Нить Чтение/Запись

Значение N-го конкретного значения заголовка в ответе. Apigee Edge разделяет текстовые значения заголовков запятыми. Обратите внимание, что индекс, значение которого используется для N, отсчитывается от 1, а не от 0.

Например, если заголовок Cache-control равен «public, maxage=16544», то response.header.cache-control.1 возвращает «maxage=16544».

Целевой ответ
response.headers.count Целое число Только для чтения

Количество всех заголовков в ответе.

Целевой ответ
response.headers.names Коллекция Только для чтения

Имена всех заголовков в ответе.

Целевой ответ
response.reason.phrase Нить Чтение/Запись

Фраза причины ответа на конкретный запрос.

Целевой ответ
response.status.code Целое число Чтение/Запись

Код ответа, возвращаемый для запроса. Эту переменную можно использовать для переопределения кода статуса ответа, который хранится в message.status.code . Подробнее см. message .

Целевой ответ
response.transport.message Нить Только для чтения

Ответ типа TransportMessage, который является контекстным объектом.

Целевой ответ

route

Указывает имена <RouteRule> и TargetEndpoint.

В следующей таблице описаны свойства переменной route :

Свойство Тип Чтение/Запись Описание Область применения начинается
route.name Нить Только для чтения

Имя <RouteRule> , которое было выполнено в ProxyEndpoint. Например, "default". RouteRule ссылается на API proxy TargetEndpoint для выполнения.

Целевой запрос
route.target Нить Только для чтения

Имя TargetEndpoint, которая была выполнена. Например, "default".

Целевой запрос

router

Контейнер для свойства router.uuid , которое устарело.

В следующей таблице описаны свойства переменной router :

Свойство Тип Чтение/Запись Описание Область применения начинается
router.uuid Нить Только для чтения

Устарело и возвращает null. (Ранее UUID маршрутизатора, обрабатывающего прокси.)

Запрос прокси

servicecallout

Описывает TargetEndpoint для политики ServiceCallout .

В следующей таблице описаны свойства переменной servicecallout :

Свойство Тип Чтение/Запись Описание Область применения начинается
servicecallout. policy_name .expectedcn Нить Чтение/Запись

Ожидаемое общее имя TargetEndpoint, указанное в политике ServiceCallout . Имеет смысл только тогда, когда TargetEndpoint ссылается на конечную точку TLS/SSL.

Запрос прокси
servicecallout. policy_name .target.url Нить Чтение/Запись

URL-адрес TargetEndpoint для конкретной политики ServiceCallout .

Запрос прокси
servicecallout.requesturi Нить Чтение/Запись

TargetEndpoint URI для политики ServiceCallout . URI — это TargetEndpoint URL без спецификации протокола и домена.

Запрос прокси

system

Указывает IP-адрес системы, а также сведения о прокси-сервере.

В следующей таблице описаны свойства system переменной:

Свойство Тип Чтение/Запись Описание Область применения начинается
system.interface. interface_name Нить Только для чтения

IP-адрес системы.

Запрос прокси
system.pod.name Нить Только для чтения

Имя модуля, на котором запущен прокси-сервер.

Запрос прокси
system.region.name Нить Только для чтения

Название региона центра обработки данных, где работает прокси-сервер.

Запрос прокси
system.time Нить Только для чтения

Время, когда эта переменная была прочитана. Например, "Ср, 21 авг 2013 19:16:47 UTC".

Это значение является строковым представлением соответствующего значения system.timestamp . Например, "Ср, 21 авг 2013 19:16:47 UTC" соответствует значению метки времени "1377112607413".

Запрос прокси
system.time.year Целое число Только для чтения

Часть года в system.time .

Запрос прокси
system.time.month Целое число Только для чтения

Часть месяца в system.time .

Запрос прокси
system.time.day Целое число Только для чтения

Часть дня месяца system.time .

Запрос прокси
system.time.dayofweek Целое число Только для чтения

Часть дня недели в system.time .

Запрос прокси
system.time.hour Целое число Только для чтения

Часовая часть system.time .

Запрос прокси
system.time.minute Целое число Только для чтения

Минутная часть system.time .

Запрос прокси
system.time.second Целое число Только для чтения

Вторая часть system.time .

Запрос прокси
system.time.millisecond Целое число Только для чтения

Миллисекундная часть system.time .

Запрос прокси
system.time.zone Нить Только для чтения

Часовой пояс системы.

Запрос прокси
system.timestamp Длинный Только для чтения

64-битное (длинное) целое число, представляющее время, когда эта переменная была прочитана. Значение — это количество миллисекунд, прошедших с полуночи 1 января 1970 года по всемирному координированному времени (UTC). Например, «1534783015000».

Запрос прокси
system.uuid Нить Только для чтения

UUID процессора сообщений, обрабатывающего прокси.

Запрос прокси

target

Описывает цель запроса.

В следующей таблице описаны свойства target переменной:

Свойство Тип Чтение/Запись Описание Область применения начинается
target.basepath Нить Только для чтения

Путь к ресурсу (не включая домен) к целевой службе, исключая параметры запроса, который определен в TargetEndpoint прокси-сервера.

Например, предположим, что API-прокси вызывает следующую цель:

<TargetEndpoint name="default">
...
<HTTPTargetConnection>
<URL>http://mocktarget.apigee.net/user?user=Dude</URL>
</HTTPTargetConnection>

В этом примере target.basepath — «/user».

Если бы цель была такой:

<TargetEndpoint name="default">
...
<HTTPTargetConnection>
<URL>http://mocktarget.apigee.net</URL>
</HTTPTargetConnection>

target.basepath будет равно null.

Целевой запрос
target.copy.pathsuffix Булев Чтение/Запись

Когда «истина», запрос, направленный из ProxyendPoint TargetendPoint, сохраняет суффикс пути (фрагмент пути URI после URI, определенного в базовом пути ProxyendPoint).

Целевой запрос
target.copy.queryparams Булев Читать/написать

Когда «True», запрос, направленный из ProxyendPoint TargetendPoint, сохраняет параметры запроса.

Целевой запрос
target.country Нить Только для чтения

Страна сертификата TLS/SSL, представленная целевым сервером

Целевой ответ
target.cn Нить Только для чтения

Общее название TargetEndPoint. Это имеет смысл только тогда, когда TargetEndPoint относится к конечной точке TLS/SSL.

Целевой запрос
target.email.address Нить Только для чтения

Адрес электронной почты сертификата TLS/SSL, представленного целевым сервером

Целевой ответ
target.expectedcn Нить Читать/написать

Ожидаемое общее название TargetEndPoint. Это имеет смысл только тогда, когда TargetEndPoint относится к конечной точке TLS/SSL.

Прокси -запрос
target.host Нить Только для чтения

Доменное имя целевой службы, возвращающая ответ на прокси API.

Целевой ответ
target.ip Нить Только для чтения

IP -адрес целевой службы, возвращающий ответ на прокси API.

Целевой ответ
target.locality Нить Только для чтения

Местность (город) сертификата TLS/SSL, представленного целевым сервером

Целевой ответ
target.name Нить Только для чтения

Цель, к которой сообщение достигается из TargetEndPoint.

Целевой запрос
target.organization Нить Только для чтения

Организация сертификата TLS/SSL, представленного целевым сервером.

Целевой ответ
target.organization.unit Нить Только для чтения

Организация сертификата TLS/SSL, представленного целевым сервером.

Целевой ответ
target.port Целое число Только для чтения

Номер порта целевой службы возвращает ответ на прокси API.

Целевой ответ
target.received.end.time Нить Читать только

Время, выраженное в строковой форме, в которой TargetendPoint закончила получение ответа от цели. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC».

Это время-это строковое представление соответствующей 32-разрядной величины временной метки. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC» соответствует значению временной метки «1377112607413» ..

Целевой ответ
target.received.end.
timestamp
Длинный Читать только

Значение временной метки, указывающее, когда целевая точка закончила получение ответа от цели. Например, "1534783015000". Это значение представляет собой 64-разрядное (длинное) целое число, указывающее количество миллисекундов, прошедших с полуночи, 1 января 1970 года UTC.

Целевой ответ
target.received.start.time Нить Читать только

Время, выраженное в строковой форме, в которой TargetendPoint начал получать ответ от цели. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC».

Это время-это строковое представление соответствующей 32-разрядной величины временной метки. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC» соответствует значению временной метки «1377112607413».

Целевой ответ
target.received.start.
timestamp
Длинный Читать только

Значение временной метки, указывающее, когда TargetendPoint начал получать ответ от цели. Например, "1534783015000". Это значение представляет собой 64-разрядное (длинное) целое число, указывающее количество миллисекундов, прошедших с полуночи, 1 января 1970 года UTC.

Целевой ответ
target.scheme Нить Читать только

Применение начинается : целевой ответ
Тип : строка
Разрешение : читать/записать

Возвращает HTTP или HTTPS в зависимости от сообщения запроса.

Целевой запрос
target.sent.end.time Нить Читать только

Время, выраженное в строковой форме, в которой прокси перестал отправлять запрос на URL, указанный в TargetendPoint. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC».

Это время-это строковое представление соответствующей 32-разрядной величины временной метки. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC» соответствует значению временной метки «1377112607413».

Целевой запрос
target.sent.end.timestamp Длинный Читать только

Значение временной метки, указывающее, когда прокси завершил отправку запроса на URL -адрес, указанный в TargetendPoint. Например, "1377112607413". Это значение представляет собой 64-битное (длинное) целое число, содержащее количество миллисекундов, прошедших с полуночи, 1 января 1970 года UTC.

Целевой запрос
target.sent.start.time Нить Читать только

Время, выраженное в строковой форме, в которой прокси начал отправлять запрос на URL -адрес, указанный в TargetEndPoint. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC».

Это время-это строковое представление соответствующей 32-разрядной величины временной метки. Например, «Ср, 21 августа 2013 г. 19:16:47 UTC» соответствует значению временной метки «1377112607413».

Целевой запрос
target.sent.start.timestamp Длинный Читать только

Значение временной метки, указывающее, когда прокси начал отправлять запрос на URL -адрес, указанный в TargetendPoint. Например, "1534783015000". Это значение представляет собой 64-разрядное (длинное) целое число, указывающее количество миллисекундов, прошедших с полуночи, 1 января 1970 года UTC.

Целевой запрос
target.ssl.enabled Булев Читать только

Будет ли TargetendPoint работает на TLS/SSL.

Прокси -запрос
target.state Нить Читать только

Состояние сертификата TLS/SSL, представленное целевым сервером.

Целевой ответ
target.url Нить Читать/написать

URL -адрес, настроенный в файле XML -файла TargetendPoint или динамического целевого URL (если target.url установлен во время потока сообщений). Переменная не включает никаких дополнительных элементов пути или параметров запроса. Возвращает NULL, если вызывает из прицела или иным образом не отрежено.

Целевой запрос

variable

Контейнер для variable.expectedcn .

В следующей таблице описываются свойства variable переменной:

Свойство Тип Читать/написать Описание Применение начинается
variable.expectedcn Нить Читать/написать

Переменная, обнаруженная для общего имени, если оно работает на TLS/SSL.

Прокси -запрос

Для получения дополнительной информации о работе с TLS см. Введение TLS/SSL .

virtualhost

Указывает подробности о виртуальном хосте.

В следующей таблице описываются свойства переменной virtualhost :

Свойство Тип Читать/написать Описание Применение начинается
virtualhost.aliases.values Массив струн Читать только

Псевдонимы хоста виртуального хоста, который пострадает во время конкретного запроса.

Прокси -запрос
virtualhost.name Нить Читать только

Имя виртуального хоста, который обслуживает исходящий запрос клиента.

Прокси -запрос
virtualhost.ssl.enabled Булев Читать только

Возвращает «true», если TLS/SSL включен в конфигурацию виртуального хоста.

Прокси -запрос

Для получения дополнительной информации о работе с виртуальными хостами см. Настройку виртуальных хостов .