개요
ReadPropertySet 정책은 속성 집합을 읽고 흐름 변수를 결과로 채웁니다.
이 정책은 표준 정책이며 모든 환경 유형에 배포할 수 있습니다. 모든 사용자가 정책 및 환경 유형에 대해 알아야 할 필요는 없습니다. 정책 유형과 각 환경 유형에서의 가용성에 대한 자세한 내용은 정책 유형을 참조하세요.
<ReadPropertySet>
요소
ReadPropertySet 정책을 정의합니다.
기본값 | 아래의 기본 정책 탭을 참조하세요. |
필수 여부 | 필수 |
유형 | 복합 객체 |
상위 요소 | 해당 사항 없음 |
하위 요소 |
<Read> |
<ReadPropertySet>
요소는 다음 문법을 사용합니다.
구문
<ReadPropertySet>
요소는 다음 문법을 사용합니다.
<ReadPropertySet name="read-property-set"> <Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read> ... <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ReadPropertySet>
기본 정책
다음 예시에서는 Apigee UI에서 흐름에 ReadPropertySet 정책을 추가할 때의 기본 설정을 보여줍니다.
<ReadPropertySet name="read-property-set"> <Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read> <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables> </ReadPropertySet>
Apigee UI에서 새 ReadPropertySet 정책을 삽입할 때 템플릿에는 모든 가능한 작업에 대한 스텁이 포함됩니다. 필수 요소에 대한 자세한 내용은 아래를 참조하세요.
이 요소에는 다음과 같이 모든 정책에 공통된 속성이 있습니다.
속성 | 기본 | 필수 여부 | 설명 |
---|---|---|---|
name |
해당 없음 | 필수 |
정책의 내부 이름입니다. 원하는 경우 |
continueOnError |
false | 선택 | 정책이 실패할 경우 오류가 반환되도록 하려면 false 로 설정합니다. 이는 대부분의 정책에서 예상되는 동작입니다. 정책이 실패해도 흐름 실행이 계속되도록 하려면 true 로 설정합니다. 참조:
|
enabled |
true | 선택 | 정책을 시행하려면 true 로 설정합니다. 정책을 중지하려면 false 로 설정합니다. 정책이 흐름에 연결되어 있어도 정책이 시행되지 않습니다. |
async |
false | 지원 중단됨 | 이 속성은 지원이 중단되었습니다. |
다음 표에서는 <ReadPropertySet>
의 하위 요소에 대한 대략적인 설명을 제공합니다.
하위 요소 | 필수 여부 | 설명 |
---|---|---|
<Read> |
필수 | 속성 집합 변수를 읽고 확인하고 지정된 흐름 변수에 설정합니다. |
<IgnoreUnresolvedVariables> |
선택사항 | 속성 집합이 확인되지 않은 경우 처리가 중지되는지 여부를 결정합니다. |
예
이 섹션에서는 <ReadPropertySet>
를 사용하는 예시를 제공합니다.
예
이 예시에서는 <ReadPropertySet>
를 사용해서 propertyset.environment.name.request.headers.api-version
을 가져오고 이를 target_url
에 할당합니다. 속성 집합 값을 가져오지 않았으면 대신 https://httpbin.org/get
이 사용됩니다.
<ReadPropertySet name="read-property-set"> <Read> <Name ref="set-ref">environment.name</Name> <Key ref="key-ref">request.headers.api-version</Key> <AssignTo>target_url</AssignTo> <DefaultValue>https://httpbin.org/get</DefaultValue> </Read> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </ReadPropertySet>
하위 요소 참조
이 섹션에서는 <ReadPropertySet>
의 하위 요소를 설명합니다.
<Read>
속성 집합 변수를 확인하고 흐름 변수에 결과를 설정합니다.
<Read>
요소는 확인할 속성 집합 변수와 이 값을 설정할 흐름 변수를 지정합니다. 여기에는 또한 속성 집합이 확인되지 않은 경우에 사용되는 선택적인 기본값이 포함됩니다. 단일 <ReadPropertySet>
정책에 <Read>
요소를 여러 개 포함할 수 있습니다.
기본값 | 해당 사항 없음 |
필수 여부 | 선택사항 |
유형 | 복합 유형 |
상위 요소 |
<ReadPropertySet>
|
하위 요소 |
<Name> <Key> <AssignTo> <DefaultValue> |
<Read>
요소는 다음 문법을 사용합니다.
구문
<Read> <Name ref="set-ref">property-set-name</Name> <Key ref="key-ref">key-name</Key> <AssignTo>var1</AssignTo> <DefaultValue>default-value</DefaultValue> </Read>
예
이 예시에서는 <ReadPropertySet>
를 사용해서 propertyset.environment.name.request.headers.api-version
을 가져오고 이를 target_url
에 할당합니다. 속성 집합 값을 가져오지 않았으면 대신 https://httpbin.org/get
이 사용됩니다.
<ReadPropertySet name="read-property-set"> <Read> <Name ref="environment.name">my-property-set-name</Name> <Key ref="request.headers.api-version">my-property-set-key</Key> <AssignTo>target_url</AssignTo> <DefaultValue>https://httpbin.org/get</DefaultValue> </Read> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> </ReadPropertySet>
다음 표에서는 <Read>
의 하위 요소에 대한 대략적인 설명을 제공합니다.
하위 요소 | 필수 여부 | 설명 |
---|---|---|
<Name> |
필수 | 문자열 읽을 속성 집합입니다. ref , 값 또는 둘 다 제공합니다.
Apigee가 먼저
|
<Key> |
필수 | 문자열 변수를 확인할 때 사용되는 속성 집합의 키입니다. ref , 값 또는 둘 다 제공합니다.
Apigee가 먼저
|
<AssignTo> |
필수 | 문자열 확인된 변수를 할당할 흐름 변수를 지정합니다. |
<DefaultValue> |
선택사항 | 문자열 변수를 확인할 수 없을 때 사용할 기본값을 지정합니다. |
<IgnoreUnresolvedVariables>
속성 집합이 확인되지 않은 경우 처리가 중지되는지 여부를 결정합니다. 확인되지 않은 변수를 무시하고 계속 처리하려면 true
로 설정합니다.
<DefaultValue>
가 제공된 경우 IgnoreUnresolvedVariables
를 적용할 수 없습니다.
기본값 | 거짓 |
필수 여부 | 선택사항 |
유형 | 불리언 |
상위 요소 |
<ReadPropertySet>
|
하위 요소 | 없음 |
오류 참조
이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 <ReadPropertySet>
정책과 관련해서 Apigee에서 설정된 오류 변수에 대해 설명합니다.
오류를 처리하기 위해 오류 규칙을 개발 중인 경우, 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항 및 오류 처리를 참조하세요.
런타임 오류
이러한 오류는 정책이 실행될 때 발생할 수 있습니다.
오류 코드 | HTTP 상태 | 원인 |
---|---|---|
steps.readpropertyset.UnresolvedVariable |
500 |
이 오류는 ReadPropertySet 정책에 지정된 변수가 다음 중 하나인 경우에 발생합니다.
|
배포 오류
이 오류는 이 정책이 포함된 프록시를 배포할 때 발생할 수 있습니다.
오류 이름 | 원인 |
---|---|
steps.readpropertyset.EmptyReads |
정책에 <Read> 하위 요소가 없습니다. |
steps.readpropertyset.FieldUnset |
다음 중 하나라도 해당하면 이 코드가 반환됩니다.
|
오류 변수
이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항을 참조하세요.
변수 | 위치 | 예 |
---|---|---|
fault.name="FAULT_NAME" |
FAULT_NAME은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. | fault.name Matches "UnresolvedVariable" |
readpropertyset.POLICY_NAME.failed |
POLICY_NAME은 오류를 발생시킨 정책의 사용자 지정 이름입니다. | readpropertyset.RPS-SetResponse.failed = true |
오류 응답 예시
{ "fault": { "faultstring": "ReadPropertySet[RPS-SetResponse]: unable to resolve variable [variable_name]", "detail": { "errorcode": "steps.readpropertyset.UnresolvedVariable" } } }
오류 규칙 예시
<FaultRule name="ReadPropertySet Faults"> <Step> <Name>RPS-CustomSetVariableErrorResponse</Name> <Condition>(fault.name = "SetVariableFailed")</Condition> </Step> <Condition>(readpropertyset.failed = true)</Condition> </FaultRule>
스키마
각 정책 유형은 XML 스키마(.xsd
)로 정의됩니다. 참고로 GitHub에서 정책 스키마를 사용할 수 있습니다.