ParsePayload 정책

표준 정책

이 페이지는 ApigeeApigee 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 구성된 실행 식별자입니다.
  • tools/call의 경우 호출되는 특정 도구를 구분하는 tools/call/{name} (예: tools/call/get_weather)입니다.
  • tools/list의 경우 tools/list이며, 특정 도구를 타겟팅하지 않고 사용 가능한 도구를 나열할 때 사용됩니다.
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