Microsoft 규칙 작성기를 사용하여 규칙에 산술 및 논리 연산자 추가(미리 보기)
적용 대상: Azure Logic Apps(표준)
Important
이 기능은 미리 보기로 제공되고 Microsoft Azure 미리 보기의 추가 사용 약관이 적용됩니다.
이 가이드에서는 Microsoft 규칙 작성기를 사용하여 규칙 집합의 규칙에 산술 및 논리 연산자를 추가하는 방법을 설명합니다.
필수 조건
Microsoft 규칙 작성기를 다운로드하여 설치합니다.
작업하려는 규칙 집합이 포함된 XML 파일입니다.
규칙에 산술 연산자 추가
규칙의 조건이나 작업에 산술 연산자를 추가할 수 있습니다. 다음 표에서는 사용 가능한 산술 연산자를 설명합니다.
산술 연산자 | 설명 |
---|---|
추가 | arg1을 arg2에 추가하는 더하기 연산자입니다. |
빼기 | arg2에서 arg1을 빼는 빼기 연산자입니다. |
곱하기 | arg1을 arg2로 곱하는 곱하기 연산자입니다. |
Divide | arg1을 arg2로 나누는 나누기 연산자입니다. |
나머지 | arg1 modulo arg2를 수행하는 나머지 연산자입니다. |
Microsoft 규칙 작성기에서 작업하려는 규칙 저장소가 포함된 XML 파일을 로드합니다.
RuleSet 탐색기 창에서 원하는 규칙을 찾아 선택합니다.
팩트 탐색기 창에서 어휘 탭을 선택합니다.
어휘>함수>버전 1.0에서 조건 편집기의 조건이나 작업 편집기의 작업에서 인수로 원하는 산술 연산자를 끕니다.
조건 또는 동작 인수에서 왼쪽 및 오른쪽 피연산자의 값을 지정합니다.
피연산자에 다른 형식이 있는 경우 규칙 엔진은 엔진이 더 작은 피연산자 형식을 더 큰 피연산자 형식으로 변환하는 자동 숫자 승격을 수행합니다.
예를 들어 int 형식이 있는 피연산자와 긴 형식의 피연산자에 Add 연산자를 사용한다고 가정합니다. 엔진이 추가 작업을 수행하기 전에 엔진은 int 형식을 긴 형식으로 변환합니다.
엔진이 두 피연산자를 공통 형식으로 승격할 수 있는 경우 엔진은 이중 승격을 지원합니다.
예를 들어 int 형식이 있는 피연산자와 uint 형식이 있는 피연산자에 Add 연산자를 사용한다고 가정합니다. 엔진이 추가 작업을 수행하기 전에 엔진은 두 피연산자 형식을 모두 긴 형식으로 변환합니다.
규칙에 논리 연산자 추가
조건자의 조건자에 논리 연산자를 추가할 수 있습니다. 다음 표에서는 사용 가능한 논리 연산자를 설명합니다.
논리 연산자 | 설명 |
---|---|
및 | 둘 이상의 조건자를 결합하여 논리 AND 식을 형성합니다. 두 조건자가 모두 true로 평가되면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. |
OR | 둘 이상의 조건자를 결합하여 논리적 OR 식을 형성합니다. 조건자가 true로 평가되면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. |
다음이 아님 | 논리 식 또는 조건자를 부정합니다. 조건자가 false로 평가되면 true를 반환합니다. 그렇지 않으면 false를 반환합니다. |
Microsoft 규칙 작성기에서 작업하려는 규칙 저장소가 포함된 XML 파일을 로드합니다.
RuleSet 탐색기 창에서 원하는 규칙을 찾아 선택합니다.
조건 편집기인 IF 창의 조건 바로 가기 메뉴에서 다음 명령 중 하나를 선택합니다.
논리 연산자 설명 논리 AND 추가 둘 이상의 조건자를 결합하여 논리 AND 식을 형성합니다. 논리 OR 추가 둘 이상의 조건자를 결합하여 논리적 OR 식을 형성합니다. 논리 NOT 추가 논리 식 또는 조건자를 부정합니다. 조건 편집기에서 연산자의 바로 가기 메뉴를 열고 원하는 조건자 또는 중첩된 논리 연산자를 추가합니다.
피연산자의 형식이 다른 경우 규칙 엔진은 한 피연산자의 형식을 다른 피연산자의 형식과 일치하도록 변환하거나 식을 계산하기 전에 두 피연산자의 형식을 공통 형식으로 변환합니다.
Null 값 처리
다음 섹션에서는 다양한 형식과 연결된 null 값에 대해 예상되는 동작을 설명하고 null을 확인하거나 특정 필드 또는 멤버가 있는지 확인하는 옵션을 제공합니다.
.NET 클래스
개체 형식에서 파생된 형식의 경우 해당 필드를 null로 설정할 수 있습니다.
값 형식이 아닌 매개 변수에 대한 인수로 null을 전달할 수 있지만 멤버의 구현에 따라 런타임 오류가 발생할 수 있습니다.
반환 형식이 개체 형식이 아닌 경우 비교에 null을 사용할 수 없습니다.
XML 요소
XML 문서는 XML 값을 null로 반환하지 않습니다. 대신 이 값은 빈 문자열이거나 "존재하지 않는" 오류입니다. 빈 문자열의 경우 규칙을 작성할 때 정수 형식으로 지정된 필드와 같은 특정 형식의 변환에 오류가 발생할 수 있습니다.
Microsoft 규칙 작성기에서는 필드를 null로 설정하거나 필드 형식 을 Object로 설정할 수 없습니다.
개체 모델을 통해 형식을 Object로 설정할 수 있습니다. 이 경우 반환된 값에는 XPath 식에 따라 Float, Boolean 또는 String과 같이 XPath가 평가하는 형식이 있습니다.
null 또는 존재 확인
규칙을 작성할 때 해당 값을 비교하기 전에 필드가 있는지 확인해야 합니다. 그러나 필드가 null이거나 존재하지 않는 경우 값을 비교하면 오류가 발생합니다.
예를 들어 다음 규칙이 있다고 가정합니다.
IF Product/Quantity Exists AND Product/Quantity > 1
Product/Quantity가 없으면 규칙이 오류를 throw합니다. 이 문제를 해결하려면 해당 요소가 있는 경우 Product/Quantity 값을 반환하는 도우미 메서드에 부모 노드를 전달하거나 해당 요소가 없는 경우 다른 항목을 반환할 수 있습니다.
다음 예제에서는 업데이트된 새 도우미 메서드 규칙을 보여줍니다.
규칙 1
IF Exists(Product/Quantity) THEN Assert(CreateObject(typeof(Helper), Product/Quantity))
규칙 2
IF Helper.Value == X THEN...
다른 가능한 솔루션으로 다음 예제와 같은 규칙을 만들 수 있습니다.
IF Product/Quantity Exists THEN CheckQuantityAndDoSomething(Product/Quantity)
앞의 예제에서 함수는 <CheckQuantityAndDoSomething>
매개 변수 값을 확인하고 조건이 충족되면 실행됩니다.
참고 항목
또는 XML 팩트의 XPath 필드 속성을 수정하여 오류를 catch할 수 있지만 이 방법은 권장되지 않습니다.