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>
관련 정책
관련 콘텐츠
정책 작업에 대한 자세한 내용은 다음을 참조하세요.
- 자습서: API 변환 및 보호
- 정책 문 및 해당 설정에 대한 전체 목록에 대한 정책 참조
- 정책 식
- 정책 설정 또는 편집
- 정책 구성 재사용
- 정책 코드 조각 리포지토리
- Azure API Management 정책 도구 키트
- Azure의 Microsoft Copilot을 사용하는 작성자 정책