Azure Logic Apps에서 워크플로 동작을 제어하는 조건 추가

적용 대상: Azure Logic Apps(사용량 + 표준)

true 또는 false를 반환하는 조건을 설정하고 워크플로가 작업의 한 경로를 실행하는지 또는 다른 경로를 실행하는지 여부를 결정하도록 하려면 조건이라는 컨트롤 매크로 함수를 워크플로에 추가합니다. 서로의 내부에 조건을 중첩할 수도 있습니다.

예를 들어 웹 사이트의 RSS 피드에 새 항목이 표시될 때 이메일을 너무 많이 보내는 워크플로가 있다고 가정해 보겠습니다. 새 항목에 특정 단어가 포함된 경우에만 이메일을 보내는 조건 동작을 추가할 수 있습니다.

참고 항목

워크플로에서 선택할 수 있는 경로를 두 개 이상 지정하거나 true 또는 false로 제한되지 않는 조건을 지정하려면 작업 전환을 대신 사용합니다.

이 가이드에서는 워크플로에 조건을 추가하고 결과를 사용하여 워크플로가 두 작업 경로 중에서 선택할 수 있도록 하는 방법을 보여줍니다.

필수 조건

조건 추가

  1. Azure Portal의 디자이너에서 논리 앱 워크플로를 엽니다.

  2. 다음 일반적인 단계에 따라 워크플로에 조건 작업을 추가합니다.

  3. 조건 작업에서 다음 단계에 따라 조건을 빌드합니다.

    1. 값 선택이라는 왼쪽 상자에 비교할 첫 번째 값 또는 필드를 입력합니다.

      값 선택 상자에서 선택하면 동적 콘텐츠 목록이 자동으로 열립니다. 이 목록에서 워크플로의 이전 단계에서 출력을 선택할 수 있습니다.

      다음은 피드 요약이라는 RSS 트리거 출력을 선택하는 예제입니다.

      Screenshot shows Azure portal, Consumption workflow designer. RSS trigger, and Condition action with criteria construction.

    2. 가운데 목록을 열고 수행할 작업을 선택합니다.

      이 예재에서는 포함을 선택합니다.

    3. 값 선택이라는 오른쪽 상자에 첫 번째 값과 비교할 값 또는 필드를 입력합니다.

      이 예제에서는 Microsoft 문자열을 지정합니다.

    이제 전체 조건은 다음 예제와 같습니다.

    Screenshot shows the Consumption workflow and the complete condition criteria.

    • 조건에 다른 행을 추가하려면 추가 메뉴에서 행 추가를 선택합니다.

    • 하위 조건이 있는 그룹을 추가하려면 추가 메뉴에서 그룹 추가를 선택합니다.

    • 기존 행을 그룹화하려면 해당 행의 확인란을 선택하고, 임의 행의 줄임표(...) 단추를 선택한 다음, 그룹 만들기를 선택합니다.

  4. TrueFalse 작업 경로에서 조건이 각각 true인지 false인지에 따라 실행할 작업을 추가합니다. 예를 들면 다음과 같습니다.

    Screenshot shows the Consumption workflow and the condition with true and false paths.

    기존 동작을 TrueFalse 경로로 끌어올 수 있습니다.

  5. 워크플로를 저장합니다. 디자이너 도구 모음에서 저장을 선택합니다.

이제 RSS 피드의 새 항목이 조건을 충족하는 경우에만 이 워크플로에서 메일을 보냅니다.

JSON 정의

다음 코드에서는 조건 작업에 대한 상위 수준 JSON 정의를 보여 냅니다. 전체 정의는 Azure Logic Apps의 트리거 및 작업 유형에 대한 If 작업 - 스키마 참조 가이드를 참조하세요.

"actions": {
   "Condition": {
      "type": "If",
      "actions": {
         "Send_an_email_(V2)": {
            "inputs": {},
            "runAfter": {},
            "type": "ApiConnection"
         },
      },
      "expression": {
         "and": [ 
            {
               "contains": [ 
                  "@triggerBody()?['summary']",
                  "Microsoft"
               ]
            }
         ]
      },
      "runAfter": {
         "Condition": [
            "Succeeded"
         ]
      },
   }
},

다음 단계