다음을 통해 공유


Azure Logic Apps에 대한 워크플로의 특정 값에 따라 다른 작업 경로를 실행하도록 스위치 작업 설정

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

개체, 식 또는 토큰의 값에 따라 다른 작업 경로를 실행하려면 워크플로에 스위치 작업을 추가합니다. 이 작업은 개체, 식 또는 토큰을 평가하고 결과와 일치하는 사례를 선택하고 해당 사례에 대해 정의한 작업 경로를 실행합니다. switch 작업이 실행되는 경우 하나의 케이스만 결과와 일치해야 합니다.

예를 들어 전자 메일에서 선택한 옵션에 따라 다른 작업 경로를 실행하는 워크플로를 원한다고 가정합니다. 이 예제에서 워크플로는 RSS 트리거를 사용하여 웹 사이트의 RSS 피드에서 새 콘텐츠를 확인합니다. RSS 피드에 새 항목이 나타나면 워크플로는 승인자에게 이메일을 보냅니다. 승인자가 승인 또는 거부를 선택하는지 여부에 따라 워크플로는 다른 작업을 실행합니다.

스위치 작업은 같음 연산자만 지원합니다. 보다 큼과 같은 다른 관계형 연산자가 필요한 경우 조건 동작을 사용합니다. 결정적 동작을 보장하려면 사례에 동적 토큰 또는 식 대신 고유하고 정적인 값이 포함되어야 합니다.

필수 구성 요소

  • Azure 계정 및 구독 구독이 없는 경우 Azure 체험 계정에 등록합니다.

  • 이 문서의 예를 따르려면 Outlook.com 계정이나 회사 또는 학교 계정을 사용하여 예 소비 논리 앱 워크플로를 만듭니다.

    1. 전자 메일 전송 작업을 추가할 때 승인 전자 메일 보내기 작업을 찾아서 선택하세요.

    2. 다음 정보를 제공합니다.

      매개 변수 필수 가치 설명
      에서 Yes < 승인자-이메일-주소> 승인 결정을 내리는 사람의 전자 메일 주소입니다. 예제를 테스트하려면 테스트에 고유한 전자 메일 주소를 사용합니다.
      제목 아니오 < 전자 메일 제목> 전자 메일 승인 요청의 주체입니다.
      사용자 옵션 아니오 승인, 거부 선택 사항이지만 이 예제의 기본값은 그대로 둡니다.

      스크린샷은 주소 및 사용자 옵션 값을 입력할 수 있는 매개 변수가 있는 승인 전자 메일 보내기 작업을 보여줍니다.

switch 작업 추가

승인 전자 메일에서 선택한 옵션에 따라 워크플로 실행 경로를 변경하려면 샘플 워크플로의 끝에 스위치 작업을 추가합니다.

  1. 디자이너에서 다음 일반적인 단계를 따라 Control 작업을 "Switch"로 명명하여 워크플로에 추가합니다.

    스위치 동작은 빈 기본 케이스로 나타납니다. 스위치 작업에는 하나 이상의 사례와 기본 사례가 필요합니다. 나중에 더 많은 사례를 추가합니다.

    기본 사례가 비어 있는 전환 작업을 보여 주는 스크린샷.

  2. 전환 작업이 선택되지 않아 정보 창이 열려 있는 경우 스위치 제목 표시줄을 선택합니다.

  3. [매개 변수] 탭에서 [켜기] 상자 내부를 선택한 다음 번개 아이콘을 선택하여 동적 콘텐츠 목록을 엽니다. 해당 목록의 승인 전자 메일 보내기에서 SelectedOption 필드를 선택합니다.

    SelectedOption 필드는 승인자가 선택한 값을 저장하고 실행할 작업이 있는 사례를 결정합니다.

    스크린샷은 SelectedOption 값이 강조 표시된 동적 콘텐츠 목록을 보여줍니다.

  4. 승인자가 승인 또는 거부를 선택하는 경우를 처리하려면 각 옵션에 대한 사례를 추가합니다. 기본 사례 옆에 있는 더하기(+) 기호를 선택한 다음, 사례 추가를 선택합니다.

    스크린샷은 기본 사례와 함께 두 개의 사례가 추가된 스위치 동작을 보여줍니다.

  5. 해당 케이스에 다음 작업을 추가합니다.

    케이스 # SelectedOption 작업
    사례 승인 승인자가 승인을 선택한 경우에만 RSS 항목에 대한 세부 정보를 보내는 Outlook 이메일 보내기 작업을 추가합니다.
    케이스 2 거부 다른 승인자에게 RSS 항목이 거부되었음을 알리는 Outlook 이메일 보내기 작업을 추가합니다.
    기본값 None 필요한 작업이 없습니다. 이 예에서는 SelectedOption에 두 가지 옵션만 있으므로 기본 케이스는 비어 있습니다.

    스크린샷은 두 가지 사례와 기본 사례가 있는 스위치 동작을 보여줍니다. 추가된 각 사례에는 실행할 전자 메일 보내기 작업이 포함됩니다.

  6. 워크플로를 저장합니다.

  7. 이 예제를 테스트하려면 디자이너 도구 모음에서 트리거가 새 RSS 항목을 검색하고 승인 이메일을 보낼 때까지 실행을> 선택합니다. 승인을 선택하여 결과를 관찰합니다.

JSON 정의

이제 Switch 작업을 사용하여 워크플로를 만들었으므로 이 작업 뒤에 있는 JSON(JavaScript Object Notation) 코드 정의를 검토합니다.

"Switch": {
   "type": "Switch",
   "expression": "@body('Send_approval_email')?['SelectedOption']",
   "cases": {
      "Case": {
         "actions": {
           "Send_an_email": {}
         },
         "case" : "Approve"
      },
      "Case_2": {
         "actions": {
           "Send_an_email_2": {}
         },
         "case": "Reject"
      }
   },
   "default": {
      "actions": {}
   },
   "runAfter": {
      "Send_approval_email": [
         "Succeeded"
      ]
   }
}
레이블 설명
"Switch" 작업의 기본 이름 Switch 입니다. 작업의 용도를 더 잘 설명하기 위해 이름을 바꿀 수 있습니다.
"type": "Switch" Switch 작업 유형을 지정합니다.
"expression" 이 예에서는 정의에서 나중에 선언된 각 사례에 대해 Switch 작업이 평가하는 승인자의 선택 옵션을 지정합니다.
"cases" 임의 개수의 케이스를 정의합니다. 각 사례 "Case_*" 에 대해 해당 사례의 기본 이름입니다. 이 이름은 사례의 용도를 더 잘 설명하기 위해 이름을 바꿀 수 있습니다.
"case" 사례 값을 지정합니다. 이 값은 동작이 비교에 사용하는 상수 및 고유 값 Switch 이어야 합니다. switch 식 결과와 일치하는 케이스가 없으면 "default" 섹션의 작업이 실행됩니다.