메시지 형성, 액세스, 변환

Apigee Edge 문서입니다.
Apigee X 문서로 이동
정보

Apigee Edge에 포함된 정책을 사용하여 API 프록시를 통해 전송되는 메시지를 조작할 수 있습니다. 정책을 통해 다음 작업을 수행할 수 있습니다.

  • 형식 간 메시지를 변환합니다(예: XML에서 JSON).
  • 메시지 콘텐츠에서 변수 값을 설정하고 변수 값에서 메시지를 생성합니다.
  • 자바스크립트, 자바, Python과 같은 절차 코드를 사용하여 메시지와 데이터를 보다 복잡한 방식으로 처리합니다.

일반적으로 이러한 정책을 사용할 때는 입력 및 출력을 흐름 변수로 지정합니다. 런타임 시 Apigee Edge는 소스 변수에서 입력 값을 검색하고 출력 값을 출력 변수에 씁니다.

이 주제에서는 이러한 기능을 소개합니다. 자세한 내용 및 기술 정보는 각 항목에 대한 정책 참조를 확인하세요.

XML 및 JSON을 위한 간단한 처리

Apigee Edge에는 XML 및 JSON 간 변환, XSL을 사용하여 XML 변환을 더 쉽게 할 수 있는 정책이 포함되어 있습니다.

JSON을 XML로 변환

JSON to XML 정책은 JSON 입력을 받아 XML로 변환합니다.

다음 정책 예시에서는 정책이 request 변수의 JSON 형식 메시지를 가져온 다음 변수 값을 XML 형식의 메시지로 바꿉니다. 입력은 <Source> 요소에 지정되고 출력은 <OutputVariable> 요소에 지정됩니다.

<JSONToXML name="jsontoxml">
     <Source>request</Source>
     <OutputVariable>request</OutputVariable>
</JSONToXML>

XML을 JSON으로 변환

XML to JSON 정책은 XML 입력 메시지를 JSON으로 변환합니다.

다음 정책 예시에서는 정책이 response 변수의 XML 형식 메시지를 가져온 다음 변수 값을 JSON 형식의 메시지로 바꿉니다. 입력은 <Source> 요소에 지정되고 출력은 <OutputVariable> 요소에 지정됩니다.

<XMLToJSON name="ConvertToJSON">
   <OutputVariable>response</OutputVariable>
   <Source>response</Source>
</XMLToJSON>

XSL을 사용한 XML 변환

XSL Transform 정책을 사용하여 XSL을 사용하여 메시지를 변환할 수 있습니다. 예를 들어 JSON 페이로드를 XML로 변환한 후 스타일 시트와 함께 XSL Transform 정책을 사용하여 필요한 변환을 수행할 수 있습니다.

다음 정책 예시에서는 정책이 response 변수의 XML 형식 메시지를 가져온 다음 변수 값을 my_transform.xsl 형식의 메시지로 바꿉니다. 입력은 <Source> 요소에 지정되고 출력은 <OutputVariable> 요소에 지정됩니다.

<XSL name="TransformXML">
    <ResourceURL>xsl://my_transform.xsl</ResourceURL>
    <Source>response</Source>
    <OutputVariable>response</OutputVariable>
</XSL>

    <Source>request</Source>
    <ResourceURL>xsl://XSL-Transform-1.xsl</ResourceURL>
    <OutputVariable/>

변수 데이터 처리

프록시 내의 데이터 처리에는 흐름 변수 값으로 상태 데이터를 작업하는 경우가 종종 있습니다. 종종 이를 위해서 변수 값을 가져오거나 설정하는 정책을 사용할 수 있습니다. 예를 들어 변수 값을 메시지로 구성하거나 메시지 콘텐츠를 추출하여 변수 값을 설정할 수 있습니다.

다음 두 정책에 대한 참조를 확인하세요.

더 복잡한 변환 만들기

포함된 정책의 역량을 벗어나는 복잡성을 가지는 데이터 처리의 경우 자바스크립트, 자바, Python과 같은 절차적 언어를 사용할 수 있습니다.

일반적으로 여기에는 이러한 언어 중 하나로 코드를 작성한 후 해당 언어별 정책에 따라 코드를 호출하는 작업이 포함됩니다. 자세한 내용은 절차적 코드 통합을 참조하세요.