Вы просматриваете документацию Apigee Edge .
Перейдите в документацию Apigee X.info
В этом разделе представлена справочная информация о переменных потока.
Apigee Edge определяет следующие переменные потока:
apigeeloadbalancingrouteapiproxymessagerouterapplicationmessageidservicecalloutclientorganizationsystemcurrentproxytargetenvironmentratelimitvariableerrorrequestvirtualhostisresponse
Каждая из этих переменных описана в следующих разделах.
apigee
Вспомогательная переменная, предоставляющая информацию о времени выполнения политики.
В следующей таблице описаны свойства переменной apigee :
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
apigee.metrics.policy. policy_name .timeTaken | Целое число | Только для чтения | Время, выраженное в наносекундах, затраченное на выполнение данной политики. | Политика |
apiproxy
Описывает API-прокси.
В следующей таблице описаны свойства переменной apiproxy :
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
apiproxy.name | Нить | Только для чтения | Название API-прокси. Например, "Мой прокси". | Запрос через прокси |
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-адрес клиента или системы, отправляющей сообщение на пограничный маршрутизатор. Например, это может быть исходный 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. Например: Wed, 21 Aug 2013 19:16:47 UTC. Это значение времени представляет собой строковое представление соответствующего 32-битного значения временной метки. Например, 'Wed, 21 Aug 2013 19:16:47 UTC' соответствует значению временной метки 1377112607413. | Запрос через прокси |
client.received.end.timestamp | Длинный | Только для чтения | Значение временной метки, указывающее, когда прокси-сервер завершил получение запроса от клиента-источника на ProxyEndpoint. Это 64-битное (длинное) целое число, содержащее количество миллисекунд, прошедших с полуночи 1 января 1970 года по UTC. | Запрос через прокси |
client.received.start.time | Нить | Только для чтения | Время, выраженное в строковом формате, в которое прокси-сервер начал получать запрос от клиента-источника на ProxyEndpoint. Например: Wed, 21 Aug 2013 19:16:47 UTC Это значение времени представляет собой строковое представление соответствующего 32-битного значения временной метки. Например, 'Wed, 21 Aug 2013 19:16:47 UTC' соответствует значению временной метки 1377112607413. | Запрос через прокси |
client.received.start.timestamp | Длинный | Только для чтения | Значение временной метки, указывающее, когда прокси-сервер начал получать запрос от клиента-источника на ProxyEndpoint. Это 64-битное (длинное) целое число, содержащее количество миллисекунд, прошедших с полуночи 1 января 1970 года по UTC. | Запрос через прокси |
client.scheme | Нить | Только для чтения | Возвращает http или https в зависимости от используемого клиентским приложением протокола передачи данных для отправки запроса. | Запрос через прокси |
client.sent.end.time | Нить | Только для чтения | Время, выраженное в строковом формате, в которое прокси-сервер завершил отправку ответа от ProxyEndpoint клиенту. Например: "Wed, 21 Aug 2013 19:16:47 UTC". Это значение представляет собой строковое представление соответствующего 32-битного значения | PostClientFlow |
client.sent.end.timestamp | Длинный | Только для чтения | Значение временной метки, указывающее, когда ProxyEndpoint завершил отправку ответа исходному клиентскому приложению. Это 64-битное (длинное) целое число, содержащее количество миллисекунд, прошедших с полуночи 1 января 1970 года по UTC. | PostClientFlow |
client.sent.start.time | Нить | Только для чтения | Время, выраженное в строковом формате, когда ProxyEndpoint начал возвращать ответ исходному клиентскому приложению. Например, "Wed, 21 Aug 2013 19:16:47 UTC". Это значение представляет собой строковое представление соответствующего 32-битного значения | PostClientFlow |
client.sent.start.timestamp | Длинный | Только для чтения | Когда прокси-сервер начал отправлять ответ клиенту от ProxyEndpoint. Это значение выражается в виде 64-битного (длинного) целого числа, содержащего количество миллисекунд, прошедших с полуночи 1 января 1970 года по UTC. | 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-конфигурации процесса. | Запрос через прокси |
Эти свойства можно просмотреть в окне трассировки пользовательского интерфейса Edge. Однако в окне трассировки классического пользовательского интерфейса эти свойства по умолчанию не отображаются.
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 | Массив строк | Только для чтения | Список неработающих целевых серверов во время балансировки нагрузки на целевой конечной точке. | Целевой ответ |
loadbalancing.isfallback | Логический | Только для чтения | "true", если включен резервный режим для TargetServer, вызываемого во время балансировки нагрузки в TargetEnpoint. | Целевой ответ |
loadbalancing.targetserver | Нить | Только для чтения | TargetServer вызывается во время балансировки нагрузки в TargetEndpoint. Устанавливается только в том случае, если элемент | Целевой ответ |
message
Контекстный объект, имеющий то же значение, что и request в потоке запроса, response в потоке ответа или error в потоке ошибок.
В следующей таблице описаны свойства переменной message :
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
message | message | Чтение/Запись | Контекстный объект, имеющий то же значение, что и | Запрос через прокси |
message.content | Нить | Чтение/Запись | Содержимое запроса, ответа или сообщения об ошибке. | Запрос через прокси |
message.formparam. param_name | Нить | Чтение/Запись | Значение указанного параметра формы. | Запрос через прокси |
message.formparam. param_name . | Коллекция | Только для чтения | Все значения указанного параметра формы в сообщении. | Запрос через прокси |
message.formparam. param_name . | Целое число | Только для чтения | Подсчет значений указанных параметров формы в сообщении. | Запрос через прокси |
message.formparams.count | Целое число | Только для чтения | Количество всех параметров формы в сообщении. | Запрос через прокси |
message.formparams.names | Коллекция | Только для чтения | Значения всех параметров формы в сообщении. | Запрос через прокси |
message.formstring | Нить | Только для чтения | Значение строки формы в сообщении. | Запрос через прокси |
message.header. header_name | Нить | Чтение/Запись | Получает или задает значение указанного HTTP-заголовка в сообщении. Если заголовок содержит запятую, при чтении вы получите только сегмент текста до первой запятой. Если вам нужен весь заголовок, используйте форму | Запрос через прокси |
message.header. header_name . N | Нить | Чтение/Запись | Значение N- го конкретного заголовка в сообщении, будь то запрос или ответ, в зависимости от состояния потока. Apigee Edge разделяет значения текста заголовка по запятым. Обратите внимание, что индекс, значение которого используется для N, начинается с 1, а не с 0. Например: если заголовок | Запрос через прокси |
message.header. header_name . | Коллекция | Только для чтения | Все значения указанного имени заголовка HTTP в сообщении. | Запрос через прокси |
message.header. header_name . | Целое число | Только для чтения | Подсчет значений указанного имени HTTP-заголовка в сообщении. | Запрос через прокси |
message.headers.count | Целое число | Только для чтения | Количество всех HTTP-заголовков в сообщении. | Запрос через прокси |
message.headers.names | Коллекция | Только для чтения | Значения всех HTTP-заголовков в сообщении. | Запрос через прокси |
message.path | Нить | Чтение/Запись | Полный путь к сообщению запроса в URL-адресе, за исключением параметров запроса. | Запрос через прокси |
message.queryparam. param_name | Нить | Только для чтения | Возвращает указанный параметр запроса сообщения. | Запрос через прокси |
message.queryparam. param_name . N | Нить | Чтение/Запись | Значение N-го параметра запроса в сообщении. Например, если В качестве примера указания нескольких значений для одного имени параметра запроса, например, "type=siteid:1&type=language:us-en&type=currency:USD", установите следующее:
| Запрос через прокси |
message.queryparam. param_name . | Коллекция | Только для чтения | Все значения конкретного параметра запроса в сообщении, отформатированные как список, разделенный запятыми. Например, если строка запроса | Запрос через прокси |
message.queryparam. param_name . | Целое число | Только для чтения | Общее количество параметров запроса, связанных с запросом, отправленным клиентским приложением в 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.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-глагол ( | Запрос через прокси |
message.version | Нить | Чтение/Запись | Версия HTTP, связанная с запросом, отправленным клиентским приложением на ProxyEndpoint. | Запрос через прокси |
Для получения дополнительной информации о сообщениях см. справочник по функции шаблонов сообщений .
messageid
Контейнер для глобально уникального идентификатора запроса.
В следующей таблице описаны свойства переменной messageid :
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
messageid | Нить | Только для чтения | Содержит глобально уникальный идентификатор запроса, который включает имя хоста маршрутизатора. Этот идентификатор позволяет отслеживать запросы, полученные маршрутизатором, после их отправки в обработчик сообщений. Этот идентификатор регистрируется в журналах ошибок Edge для сопоставления | Запрос через прокси |
organization
Контейнер для свойства organization.name .
В следующей таблице описаны свойства переменной organization :
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
organization.name | Нить | Только для чтения | Название организации. | Запрос через прокси |
Для получения более подробной информации об организациях см. раздел «Понимание организаций» .
proxy
Конфигурация API-прокси.
В следующей таблице описаны свойства переменной- proxy :
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
proxy.basepath | Нить | Только для чтения | Значение параметра Base Path в конфигурации вашего API-прокси. Базовый путь — это фрагмент URI, следующий за хостом в URL-адресе. URI условного потока следуют за базовым путем. В URL-адресе "http://myorg-test.apigee.net /v2/weatherapi /forecastrss?w=12797282":
Единственный способ узнать это — посмотреть определение прокси API или проверить значение переменной proxy.basepath. Суффикс пути прокси следует за базовым путем ("/forecastrss"), а также за любыми параметрами запроса. Если в конфигурации API-прокси вы зададите динамический базовый путь, например "/v2/*/weatherapi", то эта переменная будет установлена на динамический путь ("/v2/*/weatherapi"), даже если базовый путь разрешается в статическое значение, например "/v2/foo/weatherapi". | Запрос через прокси |
proxy.client.ip | Нить | Только для чтения | Адрес | Запрос через прокси |
proxy.name | Нить | Только для чтения | Атрибут name, настроенный для ProxyEndpoint. | Запрос через прокси |
proxy.pathsuffix | Нить | Только для чтения | Значение суффикса базового пути API-прокси, которое отправляется клиентом и принимается ProxyEndpoint. Базовый путь определяется как компонент пути, который однозначно идентифицирует API-прокси. Общедоступный URL-адрес API-прокси состоит из названия вашей организации, среды, в которой развернут прокси, базового пути, суффикса базового пути и любых параметров запроса. Например, в запросе к | Запрос через прокси |
proxy.url | Нить | Только для чтения | Получает полный URL-адрес, связанный с запросом к прокси, полученным от ProxyEndpoint, включая все присутствующие параметры запроса. Хост URL-адреса всегда будет Пример формирования URL-адреса | Запрос через прокси |
Для получения дополнительной информации о работе с API-прокси см. раздел «Понимание API и API-прокси» .
ratelimit
Заполняется при выполнении политики Quota или SpikeArrest.
В следующей таблице описаны свойства переменной ratelimit :
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
| ratelimit. policy_name .allowed.count | Длинный | Только для чтения | Возвращает допустимое количество квот. | PostClientFlow |
| ratelimit. policy_name .used.count | Длинный | Только для чтения | Возвращает текущую использованную квоту в течение заданного интервала квотирования. | PostClientFlow |
| ratelimit. policy_name .available.count | Длинный | Только для чтения | Возвращает количество доступных квот в заданном интервале квот. | PostClientFlow |
| ratelimit. policy_name .exceed.count | Длинный | Только для чтения | Возвращает 1 после превышения квоты. | PostClientFlow |
| ratelimit. policy_name .total.exceed.count | Длинный | Только для чтения | Возвращает 1 после превышения квоты. | PostClientFlow |
| ratelimit. policy_name .expiry.time | Длинный | Только для чтения | Возвращает время UTC (в миллисекундах), которое определяет, когда истекает срок действия квоты и когда начинается новый интервал квотирования. Если тип политики квот — | PostClientFlow |
| ratelimit. policy_name .identifier | Нить | Только для чтения | Возвращает идентификатор клиента, прикрепленный к политике. | PostClientFlow |
| ratelimit. policy_name .class.allowed.count | Длинный | Только для чтения | Возвращает допустимое количество квот, определенное в классе. | PostClientFlow |
| ratelimit. policy_name .class.used.count | Длинный | Только для чтения | Возвращает использованную квоту внутри класса. | PostClientFlow |
| ratelimit. policy_name .class.available.count | Длинный | Только для чтения | Возвращает количество доступных квот в классе. | PostClientFlow |
| ratelimit. policy_name .class.exceed.count | Длинный | Только для чтения | Возвращает количество запросов, превышающих лимит в данном классе в текущем интервале квоты. | PostClientFlow |
| ratelimit. policy_name .class.total.exceed.count | Длинный | Только для чтения | Возвращает общее количество запросов, превышающих лимит в данном классе по всем интервалам квот, то есть оно равно сумме значений class.exceed.count для всех интервалов квот. | PostClientFlow |
| ratelimit. policy_name .failed | Логический | Только для чтения | Указывает, потерпела ли политика неудачу (верно или неверно). | PostClientFlow |
Для получения более подробной информации см. следующие материалы:
request
Полный текст запроса, включая всю имеющуюся полезную нагрузку.
Для получения дополнительной информации о данных запроса см. раздел «Как данные запроса передаются на серверную часть?».
В следующей таблице описаны свойства переменной request :
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
request | message | Только для чтения | Полный текст запроса, включая всю имеющуюся полезную нагрузку. | Запрос через прокси |
request.content | Нить | Чтение/Запись | Получает или задает полезную нагрузку сообщения запроса. | Запрос через прокси |
request.formparam. param_name | Нить | Чтение/Запись | Получает или задает значение указанного параметра формы в запросе, отправленном клиентским приложением. | Запрос через прокси |
request.formparam. param_name . | Коллекция | Только для чтения | Все значения конкретного параметра формы в запросе, отформатированные в виде списка, разделенного запятыми. Например, если полезная нагрузка — "a=hello&x=greeting&a=world", то значение | Запрос через прокси |
request.formparam. param_name . | Целое число | Только для чтения | Подсчет всех значений для указанного параметра формы, связанного с запросом. | Запрос через прокси |
request.formparam. param_name . N | Нить | Чтение/Запись | Значение N-го конкретного параметра формы в сообщении. Например, если строка формы — "a=hello&a=world", то возвращаемое значение | Запрос через прокси |
request.formparams.count | Целое число | Только для чтения | Подсчет всех параметров формы, связанных с запросом, отправленным из клиентского приложения. | Запрос через прокси |
request.formparams.names | Коллекция | Только для чтения | Список всех имен параметров формы, связанных с запросом. | Запрос через прокси |
request.formstring | Нить | Только для чтения | Полный Например, "name=test&type=first&group=A". | Запрос через прокси |
request.header. header_name | Нить | Чтение/Запись | Получает или задает значение определенного заголовка, найденного в запросе. Если заголовок содержит запятую, при чтении вы получите только сегмент текста до первой запятой. Если вам нужен весь заголовок, используйте форму | Запрос через прокси |
request.header. header_name . N | Нить | Чтение/Запись | Значение N-го конкретного заголовка в запросе. Apigee Edge разделяет текстовые значения заголовков запятыми. Обратите внимание, что индекс, значение которого используется для N, начинается с 1, а не с 0. Например, если заголовок | Запрос через прокси |
request.header. header_name . | Коллекция | Только для чтения | Все значения конкретного заголовка в запросе. | Запрос через прокси |
request.header. header_name . | Целое число | Только для чтения | Подсчет всех значений определенного заголовка в запросе. | Запрос через прокси |
request.headers.count | Целое число | Только для чтения | Количество всех заголовков в запросе. | Запрос через прокси |
request.headers.names | Коллекция | Только для чтения | Названия всех заголовков в запросе. | Запрос через прокси |
request.path | Нить | Только для чтения | Путь к серверной службе без проксирования (без учета хоста), исключая параметры запроса. Например, если URI к бэкэнд-сервису имеет вид "https://example.com/rest/api/latest", то значение | Запрос через прокси |
request.queryparam. param_name | Нить | Чтение/Запись | Значение конкретного параметра запроса, найденного в запросе. | Запрос через прокси |
request.queryparam. param_name . N | Нить | Чтение/Запись | Значение N-го параметра запроса. Например, если В качестве примера указания нескольких значений для одного имени параметра запроса, например, "type=siteid:1&type=language:us-en&type=currency:USD", установите следующее:
| Запрос через прокси |
request.queryparam. param_name . | Коллекция | Только для чтения | Все значения конкретного параметра запроса, представленные в виде списка, разделенного запятыми. Например, если | Запрос через прокси |
request.queryparam. param_name . | Целое число | Только для чтения | Количество всех значений конкретного параметра запроса в запросе. | Запрос через прокси |
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-прокси параметр Указывает на В запросе В ответе Разница заключается в том, что первоначальный запрос поступил в прокси-сервер, но затем прокси-сервер отправляет еще один запрос к целевому сервису. Допустим, к нашему тестовому прокси-серверу, базовый путь которого — "/my-mock-proxy", был совершен следующий вызов: И прокси-вызовы: Это добавит к этому URL-адресу "/user?user=Dude".
| Запрос через прокси (отличается ответом) |
request.url | Нить | Только для чтения | Полный URL-адрес запроса к целевой конечной точке, включая параметры строки запроса, но без номера порта (если указан). Например, если вы обращаетесь к тестовому прокси-серверу "http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude", а целевая конечная точка — "http://example.com:8080", то значение будет следующим:
| Целевой ответ |
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 . | Целое число | Только для чтения | Подсчет всех значений указанного параметра формы в ответе. | Целевой ответ |
response.formparams.count | Целое число | Только для чтения | Подсчет всех параметров формы в ответе. | Целевой ответ |
response.formparams.names | Коллекция | Только для чтения | Названия всех параметров формы в ответе. | Целевой ответ |
response.header. header_name | Нить | Чтение/Запись | Получает или задает значение указанного HTTP-заголовка в ответе. Если в заголовке присутствует запятая, Apigee Edge определяет несколько значений. В этом случае Чтобы прочитать весь заголовок, используйте форму | Целевой ответ |
response.header. header_name . | Коллекция | Только для чтения | Все значения указанного HTTP-заголовка в ответе. | Целевой ответ |
response.header. header_name . | Целое число | Только для чтения | Подсчет всех значений указанного HTTP-заголовка в ответе. | Целевой ответ |
response.header. header_name . N | Нить | Чтение/Запись | Значение N-го конкретного заголовка в ответе. Apigee Edge разделяет текстовые значения заголовков запятыми. Обратите внимание, что индекс, значение которого используется для N, начинается с 1, а не с 0. Например, если заголовок | Целевой ответ |
response.headers.count | Целое число | Только для чтения | Количество всех заголовков в ответе. | Целевой ответ |
response.headers.names | Коллекция | Только для чтения | Названия всех заголовков в ответе. | Целевой ответ |
response.reason.phrase | Нить | Чтение/Запись | Формулировка причины ответа для конкретного запроса. | Целевой ответ |
response.status.code | Целое число | Чтение/Запись | Код ответа, возвращенный для запроса. Вы можете использовать эту переменную для переопределения кода состояния ответа, который хранится в | Целевой ответ |
response.transport.message | Нить | Только для чтения | Ответ типа TransportMessage, представляющий собой контекстный объект. | Целевой ответ |
route
Указывает имена <RouteRule> и TargetEndpoint.
В следующей таблице описаны свойства переменной route :
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
route.name | Нить | Только для чтения | Имя | Целевой запрос |
route.target | Нить | Только для чтения | Имя целевой точки (TargetEndpoint), которая была выполнена. Например, "default". | Целевой запрос |
router
Контейнер для свойства router.uuid , которое устарело.
В следующей таблице описаны свойства переменной router :
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
router.uuid | Нить | Только для чтения | Устарело и возвращает null. (Ранее это был UUID маршрутизатора, обрабатывающего прокси.) | Запрос через прокси |
servicecallout
Описывает целевую конечную точку (TargetEndpoint) для политики ServiceCallout .
В следующей таблице описаны свойства переменной servicecallout :
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
servicecallout. policy_name .expectedcn | Нить | Чтение/Запись | Ожидаемое общее имя целевой конечной точки (TargetEndpoint), указанное в политике ServiceCallout . Это имеет смысл только в том случае, если целевая конечная точка относится к конечной точке TLS/SSL. | Запрос через прокси |
servicecallout. policy_name .target.url | Нить | Чтение/Запись | URL-адрес целевой конечной точки для конкретной политики ServiceCallout . | Запрос через прокси |
servicecallout.requesturi | Нить | Чтение/Запись | URI целевой точки (TargetEndpoint) для политики ServiceCallout . URI представляет собой URL целевой точки без указания протокола и домена. | Запрос через прокси |
system
Указывает IP-адрес системы, а также подробную информацию о прокси-сервере.
В следующей таблице описаны свойства system переменной:
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
system.interface. interface_name | Нить | Только для чтения | IP-адрес системы. | Запрос через прокси |
system.pod.name | Нить | Только для чтения | Название пода, в котором запущен прокси-сервер. | Запрос через прокси |
system.region.name | Нить | Только для чтения | Название региона центра обработки данных, где работает прокси-сервер. | Запрос через прокси |
system.time | Нить | Только для чтения | Время, когда эта переменная была считана. Например, "Ср, 21 авг 2013 19:16:47 UTC". Это значение представляет собой строковое отображение соответствующего значения параметра | Запрос через прокси |
system.time.year | Целое число | Только для чтения | Годовая составляющая параметра | Запрос через прокси |
system.time.month | Целое число | Только для чтения | Месячная часть параметра | Запрос через прокси |
system.time.day | Целое число | Только для чтения | Часть | Запрос через прокси |
system.time.dayofweek | Целое число | Только для чтения | Часть | Запрос через прокси |
system.time.hour | Целое число | Только для чтения | Часовая составляющая параметра | Запрос через прокси |
system.time.minute | Целое число | Только для чтения | Минутная часть | Запрос через прокси |
system.time.second | Целое число | Только для чтения | Вторая часть | Запрос через прокси |
system.time.millisecond | Целое число | Только для чтения | Миллисекундная составляющая параметра | Запрос через прокси |
system.time.zone | Нить | Только для чтения | Часовой пояс системы. | Запрос через прокси |
system.timestamp | Длинный | Только для чтения | 64-битное (длинное) целое число, представляющее время считывания этой переменной. Значение — это количество миллисекунд, прошедших с полуночи 1 января 1970 года по UTC. Например, "1534783015000". | Запрос через прокси |
system.uuid | Нить | Только для чтения | UUID обработчика сообщений, обрабатывающего прокси-сервер. | Запрос через прокси |
target
Описывает цель запроса.
В следующей таблице описаны свойства target переменной:
| Свойство | Тип | Чтение/Запись | Описание | Начало области применения |
|---|---|---|---|---|
target.basepath | Нить | Только для чтения | Путь к ресурсу (без учета домена) целевого сервиса, исключая параметры запроса, который определяется в параметре TargetEndpoint прокси-сервера. Например, предположим, что API-прокси вызывает следующую целевую точку: В этом примере Если бы целью было следующее: | Целевой запрос |
target.copy.pathsuffix | Логический | Чтение/Запись | Если значение равно "true", запрос, перенаправляемый из ProxyEndpoint в TargetEndpoint, сохраняет суффикс пути (фрагмент пути URI, следующий за URI, определенным в базовом пути ProxyEndpoint). | Целевой запрос |
target.copy.queryparams | Логический | Чтение/Запись | When "true", request forwarded from ProxyEndpoint to TargetEndpoint retains query parameters. | Target request |
target.country | Нить | Только для чтения | Country of the TLS/SSL certificate presented by the target server | Target response |
target.cn | Нить | Только для чтения | The Common Name of the TargetEndpoint. This is meaningful only when the TargetEndpoint refers to a TLS/SSL endpoint. | Target request |
target.email.address | Нить | Только для чтения | Email address of the TLS/SSL certificate presented by the target server | Target response |
target.expectedcn | Нить | Read/Write | The expected Common Name of the TargetEndpoint. This is meaningful only when the TargetEndpoint refers to a TLS/SSL endpoint. | Proxy request |
target.host | Нить | Только для чтения | The domain name of the target service returning the response to the API proxy. | Target response |
target.ip | Нить | Только для чтения | The IP address of the target service returning the response to the API proxy. | Target response |
target.locality | Нить | Только для чтения | Locality (city) of the TLS/SSL certificate presented by the target server | Target response |
target.name | Нить | Только для чтения | Target to which message is reaching from targetendpoint. | Target request |
target.organization | Нить | Только для чтения | Organization of the TLS/SSL certificate presented by the target server. | Target response |
target.organization.unit | Нить | Только для чтения | Organization unit of the TLS/SSL certificate presented by the target server. | Target response |
target.port | Целое число | Read only | The port number of the target service returning the response to the API proxy. | Target response |
target.received.end.time | Нить | Read only | The time, expressed in string form, at which the TargetEndpoint finished receiving the response from the target. For example, "Wed, 21 Aug 2013 19:16:47 UTC". This time value is the string representation of the corresponding 32-bit timestamp quantity. For example, "Wed, 21 Aug 2013 19:16:47 UTC" corresponds to the timestamp value of "1377112607413".. | Target response |
target.received.end. | Длинный | Read only | The timestamp value specifying when the TargetEndpoint finished receiving the response from the target. For example, "1534783015000". This value is a 64-bit (long) integer specifying the number of milliseconds elapsed since midnight, on January 1, 1970 UTC. | Target response |
target.received.start.time | Нить | Read only | The time, expressed in string form, at which the TargetEndpoint started receiving the response from the target. For example, "Wed, 21 Aug 2013 19:16:47 UTC". This time value is the string representation of the corresponding 32-bit timestamp quantity. For example, "Wed, 21 Aug 2013 19:16:47 UTC" corresponds to the timestamp value of "1377112607413". | Target response |
target.received.start. | Длинный | Read only | The timestamp value specifying when the TargetEndpoint started receiving the response from the target. For example, "1534783015000". This value is a 64-bit (long) integer specifying the number of milliseconds elapsed since midnight, on January 1, 1970 UTC. | Target response |
target.scheme | Нить | Read only | Scope begins : Target response Returns http or https depending on the request message. | Target request |
target.sent.end.time | Нить | Read only | The time, expressed in string form, at which the proxy stopped sending the request to the URL specified in the TargetEndpoint. For example, "Wed, 21 Aug 2013 19:16:47 UTC". This time value is the string representation of the corresponding 32-bit timestamp quantity. For example, "Wed, 21 Aug 2013 19:16:47 UTC" corresponds to the timestamp value of "1377112607413". | Target request |
target.sent.end.timestamp | Длинный | Read only | The timestamp value specifying when the proxy finished sending the request to the URL specified in the TargetEndpoint. For example, "1377112607413". This value is a 64-bit (long) integer containing the number of milliseconds elapsed since midnight, on January 1, 1970 UTC. | Target request |
target.sent.start.time | Нить | Read only | The time, expressed in string form, at which the proxy began sending the request to the URL specified in the TargetEndpoint. For example, "Wed, 21 Aug 2013 19:16:47 UTC". This time value is the string representation of the corresponding 32-bit timestamp quantity. For example, "Wed, 21 Aug 2013 19:16:47 UTC" corresponds to the timestamp value of "1377112607413". | Target request |
target.sent.start.timestamp | Длинный | Read only | The timestamp value specifying when the proxy started sending the request to the URL specified in the TargetEndpoint. For example, "1534783015000". This value is a 64-bit (long) integer specifying the number of milliseconds elapsed since midnight, on January 1, 1970 UTC. | Target request |
target.ssl.enabled | Логический | Read only | Whether TargetEndpoint is running on TLS/SSL. | Proxy request |
target.state | Нить | Read only | State of the TLS/SSL certificate presented by the target server. | Target response |
target.url | Нить | Read/Write | The URL configured in the TargetEndpoint XML file or the dynamic target URL (if | Target request |
variable
A container for the variable.expectedcn property.
The following table describes the properties of the variable variable:
| Свойство | Тип | Read/Write | Описание | Scope begins |
|---|---|---|---|---|
variable.expectedcn | Нить | Read/Write | Variable exposed for the common name if it's running on TLS/SSL. | Proxy request |
For more information on working with TLS, see the TLS/SSL introduction .
virtualhost
Specifies details about the virtual host.
The following table describes the properties of the virtualhost variable:
| Свойство | Тип | Read/Write | Описание | Scope begins |
|---|---|---|---|---|
virtualhost.aliases.values | Array of Strings | Read only | Host aliases of the virtual host that is hit during a particular request. | Proxy request |
virtualhost.name | Нить | Read only | Name of the virtual host that serves the originating client request. | Proxy request |
virtualhost.ssl.enabled | Логический | Read only | Returns "true" if TLS/SSL is enabled in the virtual host configuration. | Proxy request |
For more information on working with virtual hosts, see Configuring virtual hosts .
