Share via


Wait

적용 대상: 모든 API Management 계층

wait 정책은 직계 자식 정책을 병렬로 실행하고 정책이 완료되기 전에 직계 자식 정책 전체 또는 하나가 완료될 때까지 대기합니다. wait 정책은 직계 자식으로 send-request, cache-lookup-value, choose 정책 중 하나 이상을 가질 수 있습니다.

참고 항목

정책 문에 제공된 순서대로 정책의 요소 및 자식 요소를 설정합니다. API Management 정책을 설정하거나 편집하는 방법에 대해 자세히 알아봅니다.

정책 문

<wait for="all | any">
  <!--Wait policy can contain send-request, cache-lookup-value,
        and choose policies as child elements -->
</wait>

특성

특성 설명 필수 항목 기본값
for wait 정책에서 모든 직계 자식 정책 또는 한 정책이 완료될 때까지 대기할지 여부를 결정합니다. 허용된 값은 다음과 같습니다.

- all - 모든 직계 자식 정책이 완료될 때까지 대기합니다.
- any- 모든 직계 자식 정책이 완료될 때까지 대기합니다. 첫 번째 직계 자식 정책이 완료되면 wait 정책이 완료되고 다른 직계 자식 정책의 실행이 종료됩니다.

정책 식이 허용됩니다.
아니요 all

Elements

자식 요소로 send-request, cache-lookup-value, choose 정책만 포함할 수 있습니다.

사용

예시

다음 예제에는 wait 정책의 직계 자식 정책으로 두 개의 choose 정책이 있습니다. 이러한 각 choose 정책이 병렬로 실행됩니다. 각 choose 정책은 캐시된 값의 검색을 시도합니다. 캐시가 누락된 경우 값을 제공하기 위해 백 엔드 서비스가 호출됩니다. 이 예에서는 for 특성이 all로 설정되어 있으므로 wait 정책은 모든 직계 자식 정책이 완료되어야 완료됩니다. 이 예에서 컨텍스트 변수 (execute-branch-one, value-one, execute-branch-two, value-two)는 이 예제 정책 범위 밖에 선언됩니다.

<wait for="all">
  <choose>
    <when condition="@((bool)context.Variables["execute-branch-one="])">
      <cache-lookup-value key="key-one" variable-name="value-one" />
      <choose>
        <when condition="@(!context.Variables.ContainsKey("value-one="))">
          <send-request mode="new" response-variable-name="value-one">
            <set-url>https://backend-one</set-url>
            <set-method>GET</set-method>
          </send-request>
        </when>
      </choose>
    </when>
  </choose>
  <choose>
    <when condition="@((bool)context.Variables["execute-branch-two="])">
      <cache-lookup-value key="key-two" variable-name="value-two" />
      <choose>
        <when condition="@(!context.Variables.ContainsKey("value-two="))">
          <send-request mode="new" response-variable-name="value-two">
            <set-url>https://backend-two</set-url>
            <set-method>GET</set-method>
          </send-request>
        </when>
      </choose>
    </when>
  </choose>
</wait>

정책 작업에 대한 자세한 내용은 다음을 참조하세요.