이 페이지는 Apigee 및 Apigee Hybrid에 적용됩니다.
Apigee Edge 문서 보기
ParsePayload 정책은 구조화된 요청 페이로드 (예: JSON-RPC 2.0)에서 메시지 흐름 변수로 논리적 작업을 추출합니다. 이 기능을 사용하면 프록시 관리자가 기본 리소스 경로나 쿼리 매개변수가 아닌 클라이언트 요청 콘텐츠를 기반으로 직접 조건부 라우팅 로직을 구현할 수 있습니다.
이 정책은 확장 가능한 정책이며, 이 정책을 사용하면 Apigee 라이선스에 따라 비용 또는 사용률이 영향을 받을 수 있습니다. 정책 유형 및 사용 영향에 대한 자세한 내용은 정책 유형을 참조하세요.
<ParsePayload> 요소
애플리케이션 로직 평가 주기에 적용되는 유효성 검사 파싱 속성을 지정합니다.
| 필수 여부 | 필수 |
| 상위 요소 | 해당 사항 없음 |
| 하위 요소 |
<Source><PayloadType><Protocol>
|
구문
ParsePayload 요소는 다음 문법을 사용합니다.
<ParsePayload continueOnError="[false|true]" enabled="[true|false]" name="policy_name"> <Source>request</Source> <PayloadType>JSON-RPC-2.0</PayloadType> <Protocol>MCP</Protocol> </ParsePayload>
예
다음 예시는 ParsePayload 정책의 표준 구성을 보여줍니다.
<ParsePayload continueOnError="false" enabled="true" name="parse-payload-mcp"> <Source>request</Source> <PayloadType>JSON-RPC-2.0</PayloadType> <Protocol>MCP</Protocol> </ParsePayload>
<Source>
런타임 평가를 통해 즉시 처리되는 요청/응답 컨테이너 컨텍스트를 나타냅니다.
<Source>request</Source>
| 속성 | 설명 | 기본값 | 접속 상태 |
|---|---|---|---|
| 해당 사항 없음 | 텍스트 노드 값입니다. request 또는 response이어야 합니다. |
request |
선택사항 |
<PayloadType>
데이터 처리 요구사항과 관련하여 인정되는 전반적인 평가 구조를 관리합니다.
<PayloadType>JSON-RPC-2.0</PayloadType>
| 속성 | 설명 | 기본값 | 접속 상태 |
|---|---|---|---|
| 해당 사항 없음 | 텍스트 노드 값입니다. 지원되는 값: JSON-RPC-2.0. |
해당 사항 없음 | 필수 |
<Protocol>
타겟 인터페이스 선언과 정확히 일치하는 서식 지정 동작을 결정합니다.
<Protocol>MCP</Protocol>
| 속성 | 설명 | 기본값 | 접속 상태 |
|---|---|---|---|
| 해당 사항 없음 | 텍스트 노드 값입니다. 지원되는 값은 MCP입니다. |
해당 사항 없음 | 필수 |
추출된 흐름 변수
파싱 후 루틴은 페이로드를 기반으로 다음 흐름 변수를 사전 정의합니다.
| 변수 이름 | 설명 |
|---|---|
apigee.payload.operation |
구성된 실행 식별자입니다.
|
apigee.payload.json-rpc.request.method |
JSON-RPC 요청의 method 필드 (예: tools/call 또는 tools/list) |
apigee.payload.json-rpc.request.id |
JSON-RPC 요청의 id 필드입니다. |
apigee.payload.json-rpc.request.params.name |
params 내부의 name 필드 (tools/call에 채워져 도구를 식별함). |
apigee.payload.json-rpc.request.params.arguments.{arg_name} |
arguments 객체에 전달된 인수입니다. 문자열 값은 직접 저장되고 중첩된 객체나 배열은 직렬화된 JSON 문자열로 저장됩니다. |
예
간단한 인수가 포함된 다음 JSON-RPC 요청 페이로드의 경우:
{ "jsonrpc": "2.0", "id": "req_001", "method": "tools/call", "params": { "name": "get_weather", "arguments": { "location": "San Francisco, CA", "forecast_days": 3 } } }
정책은 다음 변수를 채웁니다.
| 변수 | 값 |
|---|---|
apigee.payload.operation |
tools/call/get_weather |
apigee.payload.json-rpc.request.method |
tools/call |
apigee.payload.json-rpc.request.id |
req_001 |
apigee.payload.json-rpc.request.params.name |
get_weather |
apigee.payload.json-rpc.request.params.arguments.location |
San Francisco, CA |
apigee.payload.json-rpc.request.params.arguments.forecast_days |
3 |