흐름 변수 참조

현재 Apigee Edge 문서가 표시되고 있습니다.
Apigee X 문서로 이동
정보

이 섹션에서는 흐름 변수에 대한 참조 정보를 제공합니다.

Apigee Edge는 다음과 같은 흐름 변수를 정의합니다.

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

다음 섹션에서 각 변수를 설명합니다.

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 문자열 읽기 전용

ProxyEndpoint에서 수신한 요청과 연결된 HTTP 호스트 IP입니다.

프록시 요청
client.ip 문자열 읽기 전용

Edge 라우터에 메시지를 보내는 클라이언트 또는 시스템의 IP 주소입니다. 예를 들어 원래 클라이언트 IP 또는 부하 분산기 IP일 수 있습니다.

프록시 요청
client.locality 문자열 읽기 전용

클라이언트에서 제공한 TLS/SSL 인증서의 지역(도시)입니다.

프록시 요청
client.organization 문자열 읽기 전용 클라이언트에서 제공한 TLS/SSL 인증서의 조직입니다. Apigee Edge의 조직과 반드시 동일한 것은 아닙니다. 프록시 요청
client.organization.unit 문자열 읽기 전용

클라이언트에서 제공한 TLS/SSL 인증서의 조직 단위입니다.

프록시 요청
client.port 정수 읽기 전용

ProxyEndpoint에 보내는 발신 클라이언트의 요청과 연결된 HTTP 포트입니다.

프록시 요청
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 Long 읽기 전용

프록시가 ProxyEndpoint의 발신 클라이언트로부터 요청 수신을 완료한 시간을 지정하는 타임스탬프 값입니다. 1970년 1월 1일(UTC) 자정부터 경과한 시간(밀리초)을 포함하는 64비트(long) 정수 값입니다.

프록시 요청
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 Long 읽기 전용

프록시가 ProxyEndpoint의 발신 클라이언트로부터 요청 수신을 시작한 시간을 지정하는 타임스탬프 값입니다. 1970년 1월 1일(UTC) 자정부터 경과한 시간(밀리초)을 포함하는 64비트(long) 정수 값입니다.

프록시 요청
client.scheme 문자열 읽기 전용

클라이언트 앱이 요청 메시지를 보내는 데 사용한 전송에 따라 http 또는 https를 반환합니다.

프록시 요청
client.sent.end.time 문자열 읽기 전용

프록시가 ProxyEndpoint에서 클라이언트로 응답 전송을 완료한 시간을 문자열 형식으로 표현한 것입니다. 예를 들면 'Wed, 21 Aug 2013 19:16:47 UTC'입니다.

이 값은 해당 32비트 client.sent.end.timestamp의 문자열 표현입니다. 예를 들어 'Wed, 21 Aug 2013 19:16:47 UTC'는 타임스탬프 값 '1377112607413'에 해당합니다.

PostClientFlow
client.sent.end.timestamp 읽기 전용 ProxyEndpoint가 원래 클라이언트 앱에 응답 반환을 완료한 시기를 지정하는 타임스탬프 값입니다. 이 값은 1970년 1월 1일 자정(UTC) 이후 경과된 밀리초 수를 포함하는 64비트(긴) 정수입니다. PostClientFlow
client.sent.start.time 문자열 읽기 전용 ProxyEndpoint가 원래 클라이언트 앱에 응답을 반환하기 시작한 시점으로, 문자열 형식으로 표현되는 시간입니다. 예: 'Wed, 21 Aug 2013 19:16:47 UTC'

이 값은 해당 32비트 client.sent.start.timestamp의 문자열 표현입니다. 예를 들어 'Wed, 21 Aug 2013 19:16:47 UTC'는 타임스탬프 값 '1377112607413'에 해당합니다.

PostClientFlow
client.sent.start.timestamp 읽기 전용 프록시가 ProxyEndpoint에서 클라이언트에 응답을 보내기 시작할 때입니다. 이 값은 1970년 1월 1일 자정(UTC) 이후 경과된 밀리초 수를 포함하는 64비트(긴) 정수로 표현됩니다. PostClientFlow
client.ssl.enabled 문자열 읽기 전용

ProxyEndpoint가 TLS/SSL에 구성된 경우 'true'입니다. 그렇지 않으면 'false'입니다.

프록시 요청
client.state 문자열 읽기 전용

클라이언트에서 제공한 TLS/SSL 인증서의 상태입니다.

프록시 요청

current

현재 API 프록시 흐름에 대한 정보를 포함합니다.

다음 표에서는 current 변수의 속성을 설명합니다.

속성 유형 읽기/쓰기 설명 범위 시작
current.flow.name 문자열 읽기 전용 현재 실행 중인 흐름의 이름입니다(예: 'PreFlow', 'PostFlow' 또는 조건부 흐름 이름). 프록시 요청
current.flow.description 문자열 읽기 전용 현재 실행 중인 흐름의 설명입니다. 이 값은 흐름의 XML 구성에 있는 <Description> 요소의 값과 동일합니다. 프록시 요청

이러한 속성은 Edge UI의 Trace 뷰에서 볼 수 있습니다. 그러나 기본 UI의 Trace 뷰에는 기본적으로 이러한 속성이 표시되지 않습니다.

environment

environment.name 속성의 컨테이너입니다.

다음 표에서는 environment 변수의 속성을 설명합니다.

속성 유형 읽기/쓰기 설명 범위 시작
environment.name 문자열 읽기 전용 트랜잭션이 실행된 환경의 이름입니다. 프록시 요청

error

오류 흐름의 오류 메시지를 나타내는 컨텍스트 객체입니다.

다음 표에서는 error 변수의 속성을 설명합니다.

속성 유형 읽기/쓰기 설명 범위 시작
error message 읽기/쓰기 오류 흐름의 컨텍스트 객체인 message 유형의 오류입니다. 오류
error.content 문자열 읽기/쓰기 오류의 콘텐츠입니다. 오류
error.message 문자열 읽기 전용

오류와 관련된 메시지로, 해당 값은 오류 흐름이 실행되기 전에만 사용할 수 있습니다.

오류
error.status.code 정수 읽기 전용

오류와 관련된 HTTP 상태 코드입니다. 예를 들면 '400'입니다.

오류
error.reason.phrase 문자열 읽기 전용

오류와 관련된 이유 구문입니다. 예를 들면 'Bad Request'입니다.

오류
error.transport.message TransportMessage 읽기 전용

TransportMessage 유형의 오류입니다.

오류
error.state 정수 읽기 전용

오류가 발생한 흐름의 상태입니다.

오류
error.header.header_name 문자열 읽기/쓰기

응답 헤더를 가져오거나 설정합니다.

오류

fault

정책에서 오류가 발생할 때 런타임 오류 코드로 설정되는 흐름 변수입니다. 오류 코드 값은 각 정책에 따라 다릅니다.

속성 유형 읽기/쓰기 설명 범위 시작
fault.fault_name 문자열 읽기 전용 fault_name은 각 정책 참조 주제에 포함된 런타임 오류 표에 설명된 대로 오류 이름입니다. 오류

is

is.error 속성의 컨테이너입니다.

다음 표에서는 is 변수의 속성을 설명합니다.

속성 유형 읽기/쓰기 설명 범위 시작
is.error 부울 읽기 전용

오류 플래그입니다.

프록시 요청

loadbalancing

TargetEndpoint의 부하 분산 상태에 대한 정보를 제공합니다.

다음 표에서는 loadbalancing 변수의 속성을 설명합니다.

속성 유형 읽기/쓰기 설명 범위 시작
loadbalancing.failedservers 문자열 배열 읽기 전용

TargetEndpoint의 부하 분산 중 실패한 TargetServer 목록입니다.

대상 응답
loadbalancing.isfallback 불리언 읽기 전용

TargetEndpoint에서 부하 분산 중에 호출되는 TargetServer에 대해 대체를 사용 설정하는 경우 'true'입니다.

대상 응답
loadbalancing.targetserver 문자열 읽기 전용

TargetEndpoint에서 부하 분산 중에 호출되는 TargetServer입니다. 부하 분산기 요소를 정의할 때 <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
정수 읽기 전용

메시지에 지정된 양식 매개변수 값의 개수입니다.

프록시 요청
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에 사용되는 색인은 0이 아닌 1부터 시작된다는 점에 유의하세요.

예를 들어 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를 'language: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로 전송된 요청과 연결된 모든 쿼리 매개변수 이름의 목록입니다.

자바스크립트를 사용하여 쿼리 매개변수 이름을 반복하려면 다음 Apigee 커뮤니티 게시물인 JS의 'request.queryparams.names'에서 컬렉션을 어떻게 반복하나요?를 참조하세요. Apigee 커뮤니티에 있습니다.

프록시 요청
message.querystring 문자열 읽기 전용

클라이언트 앱에서 ProxyEndpoint로 전송된 요청과 연결된 모든 쿼리 매개변수 이름 및 값을 포함하는 문자열입니다.

예를 들어 http://api.apifactory.com/inventors?name=nick&surname=danger 요청에 대해 message.querystring 값은 name=nick&surname=danger입니다.

프록시 요청
message.reason.phrase 문자열 읽기 전용

대상 응답 메시지의 이유 구문입니다.

대상 응답
message.status.code 정수 읽기 전용

대상 응답 메시지의 HTTP 상태 코드입니다.

대상 응답
message.transport.message TransportMessage 읽기 전용

컨텍스트 객체인 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 문자열 읽기/쓰기

클라이언트 애플리케이션에서 ProxyEndpoint로 전송된 요청과 연결된 HTTP 버전입니다.

프록시 요청

메시지에 대한 자세한 내용은 메시지 템플릿 함수 참조를 참조하세요.

messageid

요청에 대한 전역 고유 ID의 컨테이너입니다.

다음 표에서는 messageid 변수의 속성을 설명합니다.

속성 유형 읽기/쓰기 설명 범위 시작
messageid 문자열 읽기 전용

라우터 호스트 이름을 포함하여 요청에 대한 전역 고유 ID를 보유합니다. 이 ID를 사용하면 라우터에서 수신된 요청을 메시지 프로세서로 전송된 후에 추적할 수 있습니다.

messageid와 오류의 상관관계를 지정하기 위해 ID를 Edge 오류 로그에 기록합니다.

프록시 요청

organization

organization.name 속성의 컨테이너입니다.

다음 표에서는 organization 변수의 속성을 설명합니다.

속성 유형 읽기/쓰기 설명 범위 시작
organization.name 문자열 읽기 전용

조직의 이름입니다.

프록시 요청

조직에 대한 자세한 내용은 조직 이해하기를 참조하세요.

proxy

API 프록시 구성

다음 표에서는 proxy 변수의 속성을 설명합니다.

속성 유형 읽기/쓰기 설명 범위 시작
proxy.basepath 문자열 읽기 전용

API 프록시 구성의 기본 경로 값입니다. 기본 경로는 URL의 호스트를 따르는 URI 프래그먼트입니다. 조건부 흐름 URI는 기본 경로를 따릅니다.

'http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282' URL의 예를 들면 다음과 같습니다.

  • 호스트는 'myorg-test.apigee.net'(조직 이름과 환경 포함)입니다.
  • 기본 경로는 '/v2/weatherapi'입니다.

이를 확인할 수 있는 유일한 방법은 API 프록시 정의를 확인하거나 proxy.basepath 변수 값을 확인하는 것입니다. 프록시 경로 서픽스는 쿼리 매개변수와 함께 기본 경로('/forecastrss')를 따릅니다.

API 프록시 구성에서 '/v2/*/weatherapi'와 같은 동적 기본 경로를 정의하는 경우 이 변수는 동적 경로('/v2/*/weatherapi')로 설정됩니다. 기본 경로가 '/v2/foo/weatherapi'와 같은 정적 값으로 확인되는 경우에도 마찬가지입니다.

프록시 요청
proxy.client.ip 문자열 읽기 전용

Edge가 최종 외부 TCP 핸드셰이크에서 수신한 IP 주소인 인바운드 호출의 X-Forwarded-For 주소입니다. 호출 클라이언트 또는 부하 분산기일 수 있습니다.

프록시 요청
proxy.name 문자열 읽기 전용

ProxyEndpoint에 구성된 이름 속성입니다.

프록시 요청
proxy.pathsuffix 문자열 읽기 전용

클라이언트에서 전송되고 ProxyEndpoint에 수신되는 API 프록시 기본 경로 서픽스의 값입니다.

기본 경로는 API 프록시를 고유하게 식별하는 경로 구성요소로 정의됩니다. API 프록시의 공개용 URL은 조직 이름, 프록시가 배포된 환경, 기본 경로, 기본 경로 서픽스, 모든 쿼리 매개변수로 구성됩니다.

예를 들어 http://myorg-test.apigee.net/v2/weatherapi/forecastrss?w=12797282에 대한 요청에서 기본 경로 서픽스는 '/forecastrss'입니다.

프록시 요청
proxy.url 문자열 읽기 전용

쿼리 매개변수를 포함하여 ProxyEndpoint에서 수신한 프록시 요청과 연결된 전체 URL을 가져옵니다. 프록시가 프록시 체이닝을 실행하기 위해 <LocalTargetConnection>로 호출되면 URL의 호스트는 항상 localhost입니다.

원본 호스트를 사용하여 request URL을 구성하는 예시에 대해서는 액세스 요청 메시지를 참조하세요.

프록시 요청

API 프록시 작업에 대한 자세한 내용은 API 및 API 프록시 이해하기를 참조하세요.

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입니다.

예를 들면 'name=test&type=first&group=A'입니다.

프록시 요청
request.header.header_name 문자열 읽기/쓰기

요청에서 발견한 특정 헤더의 값을 가져오거나 설정합니다. 헤더에 쉼표가 포함된 경우, 읽을 때 첫 번째 쉼표까지만 텍스트 세그먼트를 수신합니다.

전체 헤더를 원하는 경우 request.header.header_name.values 양식을 사용하세요.

프록시 요청
request.header.header_name.N 문자열 읽기/쓰기

요청에서 N번째 특정 헤더의 값입니다. Apigee Edge는 헤더 텍스트 값을 쉼표로 분할합니다. 값이 N에 사용되는 색인은 0이 아닌 1부터 시작된다는 점에 유의하세요.

예를 들어 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 컬렉션 읽기 전용

요청에서 모든 쿼리 매개변수의 이름입니다.

자바스크립트를 사용하여 쿼리 매개변수 이름을 반복하려면 Apigee 커뮤니티 게시물인 JS의 'request.queryparams.names'에서 컬렉션을 어떻게 반복하나요?를 참조하세요. Apigee 커뮤니티에 있습니다.

프록시 요청
request.querystring 문자열 읽기 전용

클라이언트 앱에서 전송된 요청의 전체 쿼리 매개변수 목록입니다.

예를 들어 요청이 http://host.com/123?name=first&surname=second&place=address이면 이 변수는 name=first&surname=second&place=address를 반환합니다.

프록시 요청
request.transportid 문자열 읽기 전용

컨텍스트 객체인 TransportMessage 유형의 요청 ID입니다.

프록시 요청
request.transport.message 전송 메시지 읽기 전용

컨텍스트 객체인 TransportMessage 유형의 요청입니다.

프록시 요청
request.uri 문자열 읽기 전용

API 프록시에서 프록시의 기본 URL 외에도 ProxyEndpoint의 프록시 <BasePath>는 TargetEndpoint의 대상 서비스 URL에 매핑됩니다. 예를 들면 다음과 같습니다.

<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

그러면 해당 URL에 '/user?user=Dude'가 추가됩니다.

  • 요청: request.uri = '/my-mock-proxy/user?user=Dude'
  • 응답: request.uri = '/user?user=Dude'
프록시 요청(응답에서 차이를 보임)
request.url 문자열 읽기 전용

대상 엔드포인트에 대한 요청의 전체 URL이며, 쿼리 문자열 매개변수는 포함하지만 포트 번호(지정된 경우)는 포함되지 않습니다.

예를 들어 샘플 프록시 http://my_org-test.apigee.net/my-mock-proxy/user?user=Dude를 호출하고 대상 엔드포인트가 http://example.com:8080인 경우 값은 다음과 같습니다.

  • 요청: 해당 없음
  • 응답: http://example.com/user?user=Dude
대상 응답
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에 사용되는 색인은 0이 아닌 1부터 시작된다는 점에 유의하세요.

예를 들어 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 문자열 읽기 전용

ProxyEndpoint에서 실행된 <RouteRule>의 이름입니다. 예를 들면 'default'입니다. RouteRule은 실행할 API 프록시 TargetEndpoint를 참조합니다.

대상 요청
route.target 문자열 읽기 전용

실행된 TargetEndpoint의 이름입니다. 예를 들면 'default'입니다.

대상 요청

router

지원이 중단된 router.uuid 속성의 컨테이너입니다.

다음 표에서는 router 변수의 속성을 설명합니다.

속성 유형 읽기/쓰기 설명 범위 시작
router.uuid 문자열 읽기 전용

지원이 중단되었으며 null을 반환합니다. (이전에는 프록시를 처리하는 라우터의 UUID).

프록시 요청

servicecallout

ServiceCallout 정책에 대한 TargetEndpoint를 설명합니다.

다음 표에서는 servicecallout 변수의 속성을 설명합니다.

속성 유형 읽기/쓰기 설명 범위 시작
servicecallout.policy_name.expectedcn 문자열 읽기/쓰기

ServiceCallout 정책에서 참조하는 TargetEndpoint의 일반 이름입니다. 이는 TargetEndpoint가 TLS/SSL 엔드포인트를 참조하는 경우에만 의미가 있습니다.

프록시 요청
servicecallout.policy_name.target.url 문자열 읽기/쓰기

특정 ServiceCallout 정책의 TargetEndpoint URL입니다.

프록시 요청
servicecallout.requesturi 문자열 읽기/쓰기

ServiceCallout 정책의 TargetEndpoint URI입니다. URI는 프로토콜 및 도메인 사양이 없는 TargetEndpoint URL입니다.

프록시 요청

system

시스템의 IP 주소 및 프록시에 대한 세부정보를 지정합니다.

다음 표에서는 system 변수의 속성을 설명합니다.

속성 유형 읽기/쓰기 설명 범위 시작
system.interface.interface_name 문자열 읽기 전용

시스템의 IP 주소입니다.

프록시 요청
system.pod.name 문자열 읽기 전용

프록시가 실행 중인 pod의 이름입니다.

프록시 요청
system.region.name 문자열 읽기 전용

프록시가 실행 중인 데이터 센터 리전의 이름입니다.

프록시 요청
system.time 문자열 읽기 전용

이 변수를 읽은 시간입니다. 예를 들면 'Wed, 21 Aug 2013 19:16:47 UTC'입니다.

이 값은 해당 값인 system.timestamp의 문자열 표현입니다. 예를 들어 'Wed, 21 Aug 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 Long 읽기 전용

이 변수를 읽은 시간을 나타내는 64비트(long) 정수입니다. 1970년 1월 1일(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 부울 읽기/쓰기

'true'인 경우 ProxyEndpoint에서 TargetEndpoint로 전달되는 요청은 경로 서픽스(ProxyEndpoint 기본 경로에 정의된 URI 뒤에 오는 URI 경로 프로그래먼트)를 보유합니다.

대상 요청
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 문자열 읽기 전용

API 프록시에 응답을 반환하는 대상 서비스의 IP 주소입니다.

대상 응답
target.locality 문자열 읽기 전용

대상 서버에서 제공한 TLS/SSL 인증서의 지역(도시)입니다.

대상 응답
target.name 문자열 읽기 전용

targetendpoint에서 메시지가 도달하는 대상입니다.

대상 요청
target.organization 문자열 읽기 전용

대상 서버에서 제공한 TLS/SSL 인증서의 조직입니다.

대상 응답
target.organization.unit 문자열 읽기 전용

대상 서버에서 제공한 TLS/SSL 인증서의 조직 단위입니다.

대상 응답
target.port 정수 읽기 전용

API 프록시에 대한 응답을 반환하는 대상 서비스의 포트 번호입니다.

대상 응답
target.received.end.time 문자열 읽기 전용

TargetEndpoint가 대상으로부터 응답 수신을 완료한 시간을 문자열 형식으로 표현한 것입니다. 예를 들면 'Wed, 21 Aug 2013 19:16:47 UTC'입니다.

이 시간 값은 해당 32비트 타임스탬프 수량의 문자열 표현입니다. 예를 들어 'Wed, 21 Aug 2013 19:16:47 UTC'는 타임스탬프 값 '1377112607413'에 해당합니다.

대상 응답
target.received.end.
  timestamp
읽기 전용

TargetEndpoint가 대상으로부터 응답 수신을 완료한 시간을 지정하는 타임스탬프 값입니다. 예를 들면 '1534783015000'입니다. 1970년 1월 1일(UTC) 자정부터 경과한 시간(밀리초)을 포함하는 64비트(long) 정수 값입니다.

대상 응답
target.received.start.time 문자열 읽기 전용

TargetEndpoint가 대상으로부터 응답 수신을 시작한 시간을 문자열 형식으로 표현한 것입니다. 예를 들면 'Wed, 21 Aug 2013 19:16:47 UTC'입니다.

이 시간 값은 해당 32비트 타임스탬프 수량의 문자열 표현입니다. 예를 들어 'Wed, 21 Aug 2013 19:16:47 UTC'는 타임스탬프 값 '1377112607413'에 해당합니다.

대상 응답
target.received.start.
  timestamp
읽기 전용

TargetEndpoint가 대상으로부터 응답 수신을 시작한 시간을 지정하는 타임스탬프 값입니다. 예를 들면 '1534783015000'입니다. 1970년 1월 1일(UTC) 자정부터 경과한 시간(밀리초)을 포함하는 64비트(long) 정수 값입니다.

대상 응답
target.scheme 문자열 읽기 전용

범위 시작: 대상 응답
유형: 문자열
권한: 읽기/쓰기

요청 메시지에 따라 http 또는 https를 반환합니다.

대상 요청
target.sent.end.time 문자열 읽기 전용

프록시가 TargetEndpoint에 지정된 URL로 요청 전송을 중단한 시간을 문자열 형식으로 표현한 것입니다. 예를 들면 'Wed, 21 Aug 2013 19:16:47 UTC'입니다.

이 시간 값은 해당 32비트 타임스탬프 수량의 문자열 표현입니다. 예를 들어 'Wed, 21 Aug 2013 19:16:47 UTC'는 타임스탬프 값 '1377112607413'에 해당합니다.

대상 요청
target.sent.end.timestamp 읽기 전용

프록시가 TargetEndpoint에 지정된 URL로 요청 전송을 완료한 시간을 지정하는 타임스탬프 값입니다. 예를 들면 '1377112607413'입니다. 1970년 1월 1일(UTC) 자정부터 경과한 시간(밀리초)을 포함하는 64비트(long) 정수 값입니다.

대상 요청
target.sent.start.time 문자열 읽기 전용

프록시가 TargetEndpoint에 지정된 URL로 요청 전송을 시작한 시간을 문자열 형식으로 표현한 것입니다. 예를 들면 'Wed, 21 Aug 2013 19:16:47 UTC'입니다.

이 시간 값은 해당 32비트 타임스탬프 수량의 문자열 표현입니다. 예를 들어 'Wed, 21 Aug 2013 19:16:47 UTC'는 타임스탬프 값 '1377112607413'에 해당합니다.

대상 요청
target.sent.start.timestamp 읽기 전용

프록시가 TargetEndpoint에 지정된 URL로 요청 전송을 시작한 시간을 지정하는 타임스탬프 값입니다. 예를 들면 '1534783015000'입니다. 1970년 1월 1일(UTC) 자정부터 경과한 시간(밀리초)을 포함하는 64비트(long) 정수 값입니다.

대상 요청
target.ssl.enabled 부울 읽기 전용

TargetEndpoint가 TLS/SSL에서 실행 중인지 여부를 나타냅니다.

프록시 요청
target.state 문자열 읽기 전용

대상 서버에서 제공한 TLS/SSL 인증서의 상태입니다.

대상 응답
target.url 문자열 읽기/쓰기

TargetEndpoint XML 파일 또는 동적 대상 URL에서 구성된 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 불리언 읽기 전용

가상 호스트 구성에서 TLS/SSL이 사용 설정되어 있으면 'true'를 반환합니다.

프록시 요청

가상 호스트 작업에 대한 자세한 내용은 가상 호스트 구성을 참조하세요.