invoke
invoke 정책을 사용하여 API를 호출하십시오.
게이트웨이 지원
| 게이트웨이 | 정책 버전 |
|---|---|
| DataPower® Gateway (v5 compatible) | 1.0.0 |
| DataPower API Gateway | 2.0.0 2.1.0 (DataPower API Gateway 버전 10.0.1.1 이상) 2.2.0 (DataPower API Gateway 버전 10.0.2.0 이상) 2.3.0 ( DataPower API Gateway 버전 10.0.3.0 이상) |
이 항목에서는 OpenAPI 소스에서 정책을 구성하는 방법을 설명합니다. 어셈블리 사용자 인터페이스에서 정책을 구성하는 방법에 대한 자세한 내용은 ‘Invoke’를 참조하십시오.
정보
- invoke:
version: version
title: title
description: description
target-url: URL_of_target_API
backend-type: how_payload_is_sent_to_backend
tls-profile: TLS_profile_to_be_used
verb: method_type
timeout: timeout_value_in_seconds
compression: is_data_to_be_compressed
username: username_if_authentication_required
password: password_if_authentication_required
output: location_of_the_invoke_result
cache-key: unique_identifier_of_the_document_cache_entry
cache-response: cache_behavior
cache-putpost-response: response_caching_behavior
cache-ttl: cache_time_to_live
inject-proxy-headers: are_proxy_headers_sent_to_target_url
decode-request-params: are_request_parameters_decoded
encode-plus-char: are_plus_characters_encoded
keep-payload: is_payload_sent_on_delete
use-http-10: are_transactions_restricted_to_http_1.0
chunked-uploads: are_chunked_encoded_documents_sent_to_the_server
persistent-connection: are_persistent_connections_enabled
header-control:
.
.
.
headers_to_copy_to_target_url
.
.
.
parameter-control:
.
.
.
parameters_to_copy_to_target_url
.
.
.
follow-redirects: url_redirection_behavior
stop-on-error: errors_that_stop_the_flow특성
| 특성 | 필수 | 설명 | 데이터 유형 |
|---|---|---|---|
| version | 예 | 정책 버전 번호입니다. | 문자열 |
| title | 아니오 | 정책의 제목입니다. | 문자열 |
| description | 아니오 | 정책에 대한 설명입니다. | 문자열 |
| target-url | 예 | 대상 API의 URL입니다. 참고: 호출 정책의 target-url 필드에 경로 또는 쿼리 매개 변수를 수동으로 추가하지 마세요. 이러한 매개변수가 API 작업에서 정의된 경우 API Connect 는 런타임에 대상 URL 에 해당 매개변수를 삽입합니다.
|
문자열 |
| 아니오 | 다음 값 중 하나를 지정하여 백엔드에 페이로드를 전송하는 방법을 판별하십시오. 기본값은 |
문자열 | |
예, backend-type 가 graphql 또는 detect로 설정되고 verb 가 POST 또는 keep로 설정된 경우. |
GraphQL 페이로드가 백엔드에 전송되는 방법을 판별하려면 다음 값 중 하나를 지정하십시오. 참고: graphql-send-type 는 backend-type 가 graphql 또는 detect로 설정되고 verb 가 POST 또는 keep로 설정된 경우에만 지원됩니다. |
문자열 | |
| tls-profile | 아니오 | 데이터의 보안 전송을 위해 사용할 TLS 프로파일을 지정합니다. 참고: 소스 보기에서 API를 편집하려면 tls-profile 값이 name:version형식을 따르는지 확인하십시오. 예를 들어, nameofmytlsclientprofile:1.0.0와 같아야 합니다. |
문자열 |
| verb | 아니오 | 오퍼레이션 메소드 유형입니다. 유효 값:
기본값은 |
문자열 |
| timeout | 아니오 | 엔드포인트의 응답을 기다리는 시간입니다(단위: 초). 기본값은 |
정수 |
| 예 | 백엔드 서버에 연결될 때 사용될 HTTP 버전입니다. 유효 값:
|
문자열 | |
| 아니오 | 이 속성을 로 설정하면 서버가 TLS 연결 true 시 HTTP/2 를 선택하도록 강제합니다. 그렇지 않으면 가 DataPower API Gateway 연결을 거부하고 요청이 실패합니다. 비 TLS 연결의 경우, 경고는 요구사항이 적용될 수 없음을 표시하며 로깅됩니다. http-version이 HTTP/2로 설정된 경우에만 이 설정이
적용됩니다. |
부울 | |
| compression | 아니오 | 데이터를 업로드하기 전에 compress를 사용하여 압축할 것인지 여부를 지정합니다. 기본값은 false입니다. |
부울 |
| username | 아니오 | HTTP 기본 인증에 사용할 사용자 이름입니다. | 문자열 |
| password | 아니오 | HTTP 기본 인증에 사용할 비밀번호입니다. | 문자열 |
| output | 아니오 | 요청의 응답 데이터를 저장하는 데 사용할 변수의 이름입니다. 기본적으로
본문, 헤더, statusCode, statusMessage인 호출 응답은 message 변수에 저장됩니다. 이 특성을 사용하여 호출 응답을 저장할 대체 위치를
지정하십시오. 이 변수는 map과 같은 다른 액션에서 참조할 수 있습니다. 참고: 응답을 메시지에 저장하려면 output 특성을 공백으로 두고 message값을 제공하지 마십시오 . |
문자열 |
cache-key |
아니오 | 문서 캐시 항목의 고유 ID를 지정합니다. | 문자열 |
| 아니오 | 이 속성을 true 로 설정하면 DataPower API Gateway 의 해당 HTTP 또는 HTTPS 핸들러가 WebSocket (ws) 또는 WebSocket Secure(wss)를 사용하는 경우 HTTP 또는 HTTPS 연결을 WebSocket 프로토콜로 업그레이드할 수 있습니다.참고:
|
부울 | |
cache-response |
아니오 | 캐시 응답 유형입니다. 유효 값: 기본값은 |
문자열 |
| cache-putpost-response | 아니오 | POST 및 PUT 요청의 응답을 캐시할지 여부를 지정합니다. POST 및 PUT 요청의 응답을 캐시하면 서버 로드를 줄이고 클라이언트 요청에 대한 응답의 대기 시간을 줄일 수 있습니다. 기본값은 |
부울 |
cache-ttl |
아니오 | 캐시에서 응답이 유지되는 시간을 지정합니다(단위: 초). cache-response
특성이 time-to-live로 설정된 경우에만 적용됩니다. 5 - 31708800 범위의 값을 입력하십시오.기본값은 참고: 사용자가 툴킷 로그인 경로(를 포함하는 URL ?from=TOOLKIT)를 통해 로그인할 경우, 생성된 API 키의 유효 기간(TTL)은 5분으로 고정됩니다. |
정수 |
| 아니오 | true로 설정된 경우 invoke 정책이 target-url에 전송된 요청에
X-Forwarded-For, X-Forwarded-To, X-Forwarded-Host 및
X-Forwarded-Proto 헤더를 삽입합니다.기본값은 |
부울 | |
| 아니오 | true로 설정된 경우 호출 정책의 target-url에 대한 변수 정의에서 참조되는 요청 매개변수는 URL로 디코딩됩니다.기본값은 |
부울 | |
| 아니오 | true로 설정된 경우 target-url의 조회 매개변수 값에 있는 모든 "+" 문자는 %2F로 인코딩됩니다.기본값은 |
부울 | |
| 아니오 | true로 설정된 경우 호출 정책이 HTTP DELETE 메소드에 페이로드를 전송합니다.기본값은 |
부울 | |
| 아니오 | true로 설정되면, HTTP 트랜잭션이 버전 1.0으로 제한됩니다. 기본값은 |
부울 | |
| 아니오 | 이 특성을 true로 설정하면 청크 인코딩된 문서는 서버로 전송됩니다. HTTP 1.1 프로토콜이 사용될 때 문서의 본문은 Content-Length 또는 청크 인코딩으로
한계를 설정될 수 있습니다. 모든 서버가 Content-Length를 해석할 수 있는 동안, 많은 애플리케이션은 청크 인코딩된
문서를 이해하는데 실패합니다. 이런 이유로 Content-Length는
표준 메소드입니다.
사용으로 설정된 경우, 서버는 RFC 2616 호환 가능이어야 합니다. 런타임 시 협상될 수 있는 기타 모든 HTTP 1.1 기능과 달리, 대상 서버가 RFC 2616 호환 가능함을 미리 알아야 합니다. 기본값은 참고 : 챕터 인코딩은 챕터 인코딩( HTTP ) 1.0 프로토콜에서 지원되지 않습니다. |
부울 | |
| 아니오 | true HTTP 을 활성화하려면 이 속성을 persistent connections로 설정하여 연결을 재사용할 수 있도록 하십시오.기본값은 |
부울 | |
|
아니오 | 대상 URL에 복사할 message.headers의 헤더를 지정합니다.
values 특성에 나열되는 항목은 정규식 형식입니다. 값은 대소문자를 구분하지 않습니다. header-control 특성의 기본값은 다음과 같습니다.헤더 제어 예제 를 참조하십시오. |
오브젝트 |
|
아니오 | 대상 URL에 복사할 수신 요청의 매개변수를 지정합니다.
values 특성에 나열되는 항목은 정규식 형식입니다. 값은 대소문자를 구분하지 않습니다. parameter-control 특성의 기본값은 다음과 같습니다.매개변수 제어 예제 를 참조하십시오. |
오브젝트 |
| 아니오 | 백엔드 서버가 HTTP 상태 코드를 반환하는 경우의 동작을 지정합니다. 301 Moved
Permanently. 이 특성이 true로 설정되면 invoke 정책이 응답의 Location 헤더에 지정된 URL에 대한 추가 호출을 작성하여 URL 경로 재지정을 따릅니다. 이 특성이 false로 설정되면 invoke가 301 상태 코드를 저장하고 API 호출이 완료된 것으로 간주됩니다.참고: follow-redirect 특성은 DataPower API Gateway에서만 지원됩니다. 를 DataPower Gateway (v5 compatible)사용하는 경우, 는 invoke 항상 URL 리디렉션을 따릅니다. 반면 (에서는 지원되지 proxyDataPower API Gateway 않음) 정책은 상태 301 코드를 저장하고 URL 리디렉션을 따르지 않은 채 API 호출을 완료합니다. |
부울 | |
| stop-on-error | 아니오 | 정책 실행 중에 오류가 발생하면 플로우를 중지시키는 오류를 나열합니다. 오류에 대해 구성된 catch 플로우가 있는 경우 발생한 오류를 처리하기 위해 트리거됩니다. 오류가 발생하고 오류 시 중지 특성에 대해
지정된 오류가 없거나 발생한 오류가 지정된 오류 중 하나가 아닌 경우 정책 실행이 완료될 수 있고 어셈블리 플로우가 계속됩니다. |
문자열 |
예
- invoke:
version: 2.0.0
title: get the account status
target-url: https://example.com/accounts/{id}?status={status}
cache-response: time-to-live
cache-putpost-response: true
tls-profile: MyTLSProfile:1.0.0
verb: POST
timeout: 60
compression: false
username: MyUser
password: MyPassword
stop-on-error:
- ConnectionError
- OperationError

header-control 예시
# copy all headers to the target URL
- invoke:
target-url: http://myhost/mypath
header-control:
type: blocklist
values: []
# copy all headers except X-Client-ID and Content-Type
- invoke:
target-url: http://myhost/mypath
header-control:
type: blocklist
values:
- ^X-Client-ID$
- ^Content-Type$
# copy no headers
- invoke:
target-url: http://myhost/mypath
header-control:
type: allowlist
values: []
# copy only the Content-Type header
- invoke:
target-url: http://myhost/mypath
header-control:
type: allowlist
values:
- ^Content-Type$

parameter-control 예시
# copy no request parameters to the target URL
- invoke:
target-url: http://myhost/path?storeid=3
parameter-control:
type: allowlist
values: []
# append the petid parameter to the target URL
# if the incoming request is http://apigw/org/sandbox/petstore/base?petid=100&display=detailed,
# the target URL at runtime will be http://myhost/mypath?storeid=3&petid=100
- invoke:
target-url: http://myhost/path?storeid=3
parameter-control:
type: allowlist
values:
- ^petid$
# The API definition includes a query parameter petid.
# Incoming request: https://apigw/org/sandbox/pets?petid=123
# API Connect will automatically forward petid to the target URL at runtime.
- invoke:
target-url: https://myhost/pets
parameter-control:
type: allowlist
values:
- ^petid$