DataPower Gateway(Classic) 전용

DataPower Gateway (v5 compatible) 에 대한 호출 정책 구성

어셈블리 사용자 인터페이스에서 DataPower® Gateway (v5 compatible) 에 대한 호출 정책을 구성하려면 다음 단계를 수행하십시오.

이 태스크에 대한 정보

참고: 이 주제에서는 DataPower Gateway (v5 compatible)호출 정책 구현에 대해 설명합니다. 를 사용 중인 DataPower API Gateway 경우, DataPower 용 Invoke 정책 구성 ( API Gateway )을 참조하십시오. 다른 유형의 게이트웨이에 대한 정보는 API Connect 게이트웨이 유형을 참조하십시오.

OpenAPI 소스에서 정책을 구성하는 방법에 대한 자세한 내용은 invoke를 참조하십시오.

해당 정책의 마지막 invokeproxy로 대체되었음을 알 수 있습니다. 성능 향상을 위해 쿼리 최적화기 ( IBM® API Connect ) 가 DataPower Gateway 를 통해 자동으로 대체하는 경우가 있습니다. proxy 는 기능적으로 invoke와 동등하지만, API 호출자는 proxy 가 사용될 때 다음과 같은 차이점을 인지할 수 있습니다.
  • invoke 또는 proxy 에서 요청한 HTTP 가 리디렉션(redirect)을 받으면(3xx) 응답:
    • invoke 는 경로 재지정 응답을 따르는 응답을 리턴합니다.
    • proxy 다음에 오지 않음3xx경로 재지정 응답이 리턴됩니다.
  • IBM API Connect 테스트 도구에 따르면 proxy 가 사용된 것으로 나타나지만, 분석 지연 시간 invoke 기록에는 가 표시됩니다.
  • proxy 의 응답은 invoke의 응답과 다른 공백 또는 이스케이프를 포함할 수 있습니다. 응답의 차이에도 불구하고 여전히 유효합니다.
어셈블리의 마지막 invokeproxy로 대체되지 않도록 하려면 API 특성 api.properties.x-ibm-gateway-optimize-invokefalse로 설정할 수 있습니다. 자세한 내용은 API 속성을 참조하십시오.

프로시저

  1. 탐색 창에서 클릭하세요 탐색 분할창의 개발 아이콘 [개발]을 클릭한 다음 [API] 탭을 선택하세요.
    개발 페이지가 열립니다.
  2. 작업할 API 정의의 제목을 클릭하십시오.
  3. 게이트웨이 탭을 선택한 후 탐색 분할창에서 정책 을 클릭하십시오.
    API용 어셈블리 편집기 사용에 대한 자세한 내용은 ‘어셈블리 편집기’를 참조하세요.
  4. 팔레트에서 호출 정책을 찾아 캔버스로 정책을 끌어오십시오.
  5. 다음 특성을 지정하십시오.
    표 1. 정책 속성 호출
    특성 레이블 필수 설명 데이터 유형
    제목 해당 정책의 제목입니다.

    기본값은 invoke입니다.

    문자열
    설명 아니오 정책의 설명입니다. 문자열
    URL 대상 서비스의 URL을 지정합니다.

    SOAP API의 경우 URL이 기본적으로 추가됩니다. 가능한 경우 가져온 WSDL에 정의된 정보에서 호출 URL 값이 미리 제공됩니다.

    문자열
    TLS 프로파일 아니오 데이터의 보안 전송을 위해 사용할 TLS 프로파일을 지정합니다. 문자열
    timeout 엔드포인트에서 응답하기 전에 대기하는 시간 (초) 입니다.

    기본값은 60입니다.

    정수
    경로 재지정 수행 아니오 백엔드 서버가 HTTP 상태 코드를 반환하는 경우의 동작을 지정합니다. 301 Moved Permanently. 이 체크박스를 선택하면, invoke 정책은 응답의 Location 헤더에 명시된 URL 에 대한 추가 호출을 만들어 URL 리디렉션을 따릅니다. 이 선택란을 선택 취소하면 invoke301 상태 코드를 저장하고 API 호출이 완료된 것으로 간주됩니다.
    참고: follow-redirect 특성은 DataPower API Gateway에서만 지원됩니다. 를 DataPower Gateway (v5 compatible)사용하는 경우, 는 invoke 항상 URL 리디렉션을 따릅니다. 반면 (에서는 지원되지 proxyDataPower API Gateway 않음) 정책은 상태 301 코드를 저장하고 URL 리디렉션을 따르지 않은 채 API 호출을 완료합니다.
    부울
    사용자 이름 아니오 HTTP 기본 인증에 사용할 사용자 이름입니다. 문자열
    비밀번호 아니오 HTTP 기본 인증에 사용할 비밀번호입니다. 문자열
    HTTP 메소드 호출에 사용할 HTTP 메소드입니다. 다음 값들이 유효합니다.
    • 보관
    • GET
    • POST
    • PUT
    • 삭제
    • 패치
    • 헤드
    • 옵션
    기본값은 GET입니다. 그러나 Keep으로 설정되었거나 소스에서 특성이 제거된 경우 수신 요청의 HTTP 메소드가 사용됩니다.
    문자열
    압축 아니오 업로드 시 Content-Encoding 압축을 사용하려면 이 선택란을 선택하십시오.

    선택란은 기본적으로 선택 취소되어 있습니다.

    부울

    캐시 유형

    아니오 캐시 유형은 대상 URL의 응답에서 수신된 HTTP 캐시 제어 지시문을 유지하거나 대체하면서 문서를 캐시할지 여부를 판별합니다. 이 특성은 응답이 수실될 때에만 적용되고 그렇지 않은 경우 정책은 항상 이전에 캐시에 저장된 만료되지 않은 응답을 리턴합니다.
    유효값은 다음과 같습니다.
    프로토콜
    캐시 동작은 RFC 7234에 따라 응답의 캐시 제어 헤더에 따라 판별됩니다.

    게이트웨이가 둘 이상의 캐시에 없지만 대상 URL의 응답이 수신될 때 캐시될 수 있었던 자원에 대한 요청을 수신하면 성과를 최적화하기 위해 게이트웨이는 하나의 요청을 대상 URL에 보냅니다. 첫 번째 요청의 응답이 수신되고 캐시 초기 작동이 이 응답에서 판별되었을 때까지 나머지 요청이 처리되지 않습니다. 응답에서 캐싱이 가능하다고 표시하는 경우 게이트웨이는 캐시된 자원을 가진 모든 대기 요청에 응답합니다. 응답에서 캐싱이 가능하지 않다고 표시하는 경우 게이트웨이는 모든 대기 요청을 대상 URL에 전송합니다.

    대상 URL의 응답이 캐시될 수 있다고 예상하는 경우에만 이 옵션을 사용하십시오. 이런 경우 성과를 개선하고 대상 URL에 대한 요구를 제한해야 합니다. 그러나 게이트웨이가 해당 응답을 캐시해야 한다는 것을 대상 URL이 표시하지 않는 경우 캐시 없음 옵션과 비교될 때 성능이 약화될 수도 있습니다.

    캐시 없음
    대상 URL의 응답은 리턴된 캐싱 헤더에 상관없이 게이트웨이에 캐시되지 않습니다. 이런 경우 클라이언트의 모든 요청이 대상 URL로 전송됩니다.

    게이트웨이에서 어느 백엔드 응답도 캐시하지 않으려는 경우 또는 대상 URL 의 응답이 캐시 제어 헤더 설정을 통하여 캐시하는 것을 허용할 가망성이 없는 경우 이 옵션을 사용하십시오.

    TTL(Time to Live)
    호출 또는 프록시의 성공적인 응답이 캐시에 남아 있도록 하려는 시간을 지정할 수 있다는 것을 제외하고 이 옵션은 프로토콜 옵션과 유사합니다. 대상 URL의 응답이 캐시될 수 있다고 예상하는 경우에만 이 옵션을 사용하십시오.

    기본값은 프로토콜입니다.

    문자열
    TTL(Time to Live) 아니오 캐시에서 응답이 유지되는 시간을 지정합니다(단위: 초). 캐시 유형 특성이 Time to Live로 설정되는 경우에만 적용됩니다. 5 - 31708800 범위의 값을 입력하십시오.

    기본값은 900입니다.

    정수
    캐시 키 아니오 문서 캐시 항목의 고유 ID를 지정합니다. 생략된 경우 전체 URL 문자열이 키로 사용됩니다. 문자열
    오류 시 중지 아니오 정책 실행 중에 오류가 발생하면 어셈블리 플로우를 중지시키는 오류를 선택하십시오. 오류에 대해 구성된 catch 플로우가 있는 경우 발생한 오류를 처리하기 위해 트리거됩니다. 오류가 발생하고 오류 시 중지 설정에 대해 선택된 오류가 없거나 발생한 오류가 선택된 오류 중 하나가 아닌 경우 정책 실행이 완료될 수 있고 어셈블리 플로우가 계속됩니다. 문자열

    응답 오브젝트 변수

    아니오 요청의 응답 데이터를 저장하는 데 사용할 변수의 이름입니다. 기본적으로 본문, 헤더, statusCode, statusMessage인 호출 응답은 message 변수에 저장됩니다. 이 특성을 사용하여 호출 응답을 저장할 대체 위치를 지정하십시오. 이 변수는 Map과 같은 다른 액션에서 참조할 수 있습니다.
    참고: 응답을 message에 저장하려면 응답 오브젝트 변수 특성을 공백으로 두고 message값을 제공하지 마십시오 .
    문자열
    버퍼링 아니오 ‘버퍼링’을 선택하여 페이로드를 버퍼링할지 여부를 지정합니다. '버퍼링'이 선택된 경우, 페이로드가 버퍼링되며, Invoke 정책은 페이로드의 유형을 확인할 수 있습니다. '버퍼링'이 선택되지 않은 경우, 페이로드가 스트리밍되므로 Invoke 정책은 페이로드 유형을 확인할 수 없습니다.
    참고: 버퍼링을 활성화하는 경우, 페이로드를 해석하기 위해 파싱 정책도 함께 구성해야 합니다. Parse 정책이 없으면 페이로드는 해석되지 않은 버퍼 상태로 남아 있으며, 백엔드 서비스가 또는 binary 유형의 페이로드를 수락하는 경우 detect Invoke 정책이 성공합니다. Parse 정책이 구성되어 있는 경우, 버퍼링이 꺼져 있더라도 파싱에는 전체 페이로드가 버퍼링되어야 하므로 스트리밍이 암묵적으로 비활성화됩니다. 자세한 내용은 Parse를 참조하십시오.
    부울
  6. 소스 아이콘을 클릭하고 정책 YAML의 해당 version 섹션을 OpenAPI 소스 아이콘 작성하여 정책의 버전을 지정하세요. 예를 들면 다음과 같습니다.
    execute:
      - invoke:
          version: 1.0.0
          title: invoke
      ...
    사용 중인 게이트웨이와 호환 가능한 정책의 버전을 지정해야 합니다. API가 공개될 때 버전이 게이트웨이와 호환되지 않으면 사용 가능한 버전을 지정하는 유효성 검증 오류가 발생합니다.
  7. 저장을 클릭하십시오.

- invoke:
          version: 1.0.0
          title: get the account status
          timeout: 60
          verb: POST
          cache-response: time-to-live
          cache-ttl: 900
          stop-on-error:
            - ConnectionError
            - OperationError
          tls-profile: MyTLSProfile
          target-url: https://example.com/accounts/{id}?status={status}
          username: MyUser
          password: MyPassword