빠른 시작 - Azure Logic Apps에서 Azure CLI를 사용하여 워크플로 만들기 및 관리

적용 대상: Azure Logic Apps(소비)

이 빠른 시작에서는 Azure CLI Logic Apps 확장(az logic)을 사용하여 Azure Logic Apps에서 실행되는 자동화된 워크플로를 만들고 관리하는 방법을 보여 줍니다. 명령줄에서 논리 앱 워크플로 정의에 대한 JSON 파일을 사용하여 다중 테넌트 Azure Logic Apps에서 사용량 논리 앱을 만들 수 있습니다. 그런 다음, 명령줄에서 list, show(get), update, delete 등의 작업을 실행하여 논리 앱을 관리할 수 있습니다.

Warning

Azure CLI Logic Apps 확장은 현재 실험 단계이며 고객 지원에서 다루지 않습니다. 특히 프로덕션 환경에서 이 확장을 사용하도록 선택하는 경우 이 CLI 확장을 주의해서 사용해야 합니다.

이 빠른 시작은 현재 다중 테넌트 Azure Logic Apps에서 실행되는 사용량 논리 앱 워크플로에만 적용됩니다. 현재 단일 테넌트 Azure Logic Apps에서 실행되는 표준 논리 앱 워크플로에는 Azure CLI를 사용할 수 없습니다. 자세한 내용은 Azure Logic Apps의 리소스 종류 및 호스트 차이점을 참조하세요.

Azure Logic Apps를 처음 사용하는 경우에는 Azure Portal, Visual StudioVisual Studio Code를 통해 첫 번째 사용량 논리 앱 워크플로를 만드는 방법을 알아봅니다.

필수 조건

필수 구성 요소 확인

시작하기 전에 현재 환경의 유효성을 검사합니다.

예제 - 리소스 그룹 만들기

논리 앱에 대한 리소스 그룹이 아직 없는 경우 az group create 명령을 사용하여 그룹을 만듭니다. 예를 들어 다음 명령은 westus 위치에 testResourceGroup이라는 리소스 그룹을 만듭니다.

az group create --name testResourceGroup --location westus

리소스 그룹이 성공적으로 만들어지면 출력에서 provisioningStateSucceeded로 표시됩니다.

<...>
  "name": "testResourceGroup",
  "properties": {
    "provisioningState": "Succeeded"
  },
<...>

워크플로 정의

Azure CLI를 사용하여 새 논리 앱을 만들거나기존 논리 앱을 업데이트하려면 논리 앱에 대한 워크플로 정의가 필요합니다. Azure Portal에서 디자이너 보기를 코드 보기로 전환하면 논리 앱의 기본 워크플로 정의를 JSON 형식으로 볼 수 있습니다.

논리 앱을 만들거나 업데이트하는 명령을 실행하면 워크플로 정의가 필수 매개 변수(--definition)로 업로드됩니다. 워크플로 정의 언어 스키마를 따르는 JSON 파일로 워크플로 정의를 만들어야 합니다.

CLI에서 논리 앱 만들기

Azure CLI에서 논리 앱 워크플로를 만들려면 az logic workflow create 명령과 정의에 대한 JSON 파일을 사용합니다.

az logic workflow create --definition
                         --location
                         --name
                         --resource-group
                         [--access-control]
                         [--endpoints-configuration]
                         [--integration-account]
                         [--integration-service-environment]
                         [--state {Completed, Deleted, Disabled, Enabled, NotSpecified, Suspended}]
                         [--tags]

명령에 다음과 같은 필수 매개 변수가 포함되어야 합니다.

매개 변수 설명
워크플로 정의 --definition 논리 앱의 워크플로 정의가 포함된 JSON 파일입니다.
위치 --location -l 논리 앱이 배치되는 Azure 지역입니다.
이름 --name -n 논리 앱의 이름입니다. 이름에는 문자, 숫자, 하이픈(-), 밑줄(_), 괄호(()) 및 마침표(.)만 사용할 수 있습니다. 또한 이름은 모든 Azure 지역에서 고유해야 합니다.
리소스 그룹 이름 --resource-group -g 논리 앱을 만들 Azure 리소스 그룹입니다. 논리 앱에 대한 리소스 그룹이 아직 없는 경우 시작하기 전에 리소스 그룹을 만듭니다.

선택적 매개 변수를 추가로 포함시켜 논리 앱의 액세스 제어, 엔드포인트, 통합 계정, 통합 서비스 환경, 상태 및 리소스 태그를 구성할 수도 있습니다.

예제 - 논리 앱 만들기

이 예제에서는 westus 지역에 있는 testResourceGroup이라는 리소스 그룹에 testLogicApp이라는 워크플로가 만들어집니다. JSON 파일 testDefinition.json에는 워크플로 정의가 포함됩니다

az logic workflow create --resource-group "testResourceGroup" --location "westus" --name "testLogicApp" --definition "testDefinition.json"

워크플로가 성공적으로 만들어지면 새 워크플로 정의의 JSON 코드가 CLI에 표시됩니다. 워크플로 만들기가 실패하는 경우 가능한 오류 목록을 참조하세요.

CLI에서 논리 앱 업데이트

Azure CLI에서 논리 앱의 워크플로를 업데이트하려면 az logic workflow create 명령을 사용합니다.

명령에는 논리 앱을 만들 때와 동일한 필수 매개 변수가 포함되어야 합니다. 논리 앱을 만들 때와 동일한 선택적 매개 변수를 추가할 수도 있습니다.

az logic workflow create --definition
                         --location
                         --name
                         --resource-group
                         [--access-control]
                         [--endpoints-configuration]
                         [--integration-account]
                         [--integration-service-environment]
                         [--state {Completed, Deleted, Disabled, Enabled, NotSpecified, Suspended}]
                         [--tags]

예제 - 논리 앱 업데이트

이 예제에서는 이전 섹션에서 만든 샘플 워크플로가 다른 JSON 정의 파일 newTestDefinition.json을 사용하고, 설명 값이 포함된 두 개의 리소스 태그 testTag1testTag2를 추가하도록 업데이트됩니다.

az logic workflow create --resource-group "testResourceGroup" --location "westus" --name "testLogicApp" --definition "newTestDefinition.json" --tags "testTag1=testTagValue1" "testTag2=testTagValue"

워크플로가 성공적으로 업데이트되면 논리 앱의 업데이트된 워크플로 정의가 CLI에 표시됩니다. 업데이트가 실패하는 경우 가능한 오류 목록을 참조하세요.

CLI에서 논리 앱 삭제

Azure CLI에서 논리 앱의 워크플로를 삭제하려면 az logic workflow delete 명령을 사용합니다.

명령에 다음과 같은 필수 매개 변수가 포함되어야 합니다.

매개 변수 설명
이름 --name -n 논리 앱의 이름입니다.
리소스 그룹 이름 -resource-group -g 논리 앱이 배치되는 리소스 그룹입니다.

확인 프롬프트를 건너뛰는 선택적 매개 변수--yes -y를 포함할 수도 있습니다.

az logic workflow delete --name
                         --resource-group
                         [--yes]

이렇게 하면 CLI에서 논리 앱의 삭제를 확인하는 메시지를 표시합니다. 명령에 선택적 매개 변수 --yes -y를 사용하여 확인 프롬프트를 건너뛸 수 있습니다.

Are you sure you want to perform this operation? (y/n):

논리 앱이 삭제되었는지 확인하려면 CLI에서 논리 앱을 나열하거나 Azure Portal에서 논리 앱을 검토합니다.

예제 - 논리 앱 삭제

이 예제에서는 이전 섹션에서 만든 샘플 워크플로를 삭제합니다.

az logic workflow delete --resource-group "testResourceGroup" --name "testLogicApp"

확인 프롬프트에 y로 대답하면 논리 앱이 삭제됩니다.

고려 사항 - 논리 앱 삭제

논리 앱을 삭제하면 다음과 같은 방식으로 워크플로 인스턴스에 영향을 줍니다.

  • Azure Logic Apps는 진행 중인 실행과 보류 중인 실행을 모두 취소하기 위해 최선을 다합니다.

    볼륨이나 백로그가 큰 경우에도 대부분의 실행은 완료 또는 시작 전에 취소됩니다. 그러나 취소 프로세스를 완료하는 데 시간이 걸릴 수 있습니다. 한편, 런타임이 취소 프로세스를 진행하는 동안 일부 실행을 선택하여 진행할 수 있습니다.

  • Azure Logic Apps가 새 워크플로 인스턴스를 만들거나 실행하지 않습니다.

  • 워크플로를 삭제한 다음, 동일한 워크플로를 다시 만들면 다시 생성된 워크플로에는 삭제된 워크플로와 동일한 메타데이터가 포함되지 않습니다. 삭제된 워크플로를 호출한 모든 워크플로를 다시 저장해야 합니다. 이렇게 하면 호출자가 다시 생성된 워크플로에 대한 올바른 정보를 가져옵니다. 그렇지 않으면 다시 생성된 워크플로에 대한 호출이 Unauthorized 오류와 함께 실패합니다. 이 동작은 Azure 함수를 호출하는 워크플로 및 통합 계정에서 아티팩트를 사용하는 워크플로에도 적용됩니다.

CLI에서 논리 앱 표시

특정 논리 앱 워크플로를 가져오려면 az logic workflow show 명령을 사용합니다.

az logic workflow show --name
                       --resource-group

명령에 다음과 같은 필수 매개 변수가 포함되어야 합니다.

매개 변수 설명
이름 --name -n 논리 앱의 이름입니다.
리소스 그룹 이름 --resource-group -g 논리 앱이 배치되는 리소스 그룹의 이름입니다.

예제 - 논리 앱 가져오기

이 예제에서는 디버깅을 위해 리소스 그룹 testResourceGroup의 논리 앱 testLogicApp이 전체 로그와 함께 반환됩니다.

az logic workflow show --resource-group "testResourceGroup" --name "testLogicApp" --debug

CLI에서 논리 앱 나열

논리 앱을 구독별로 나열하려면 az logic workflow list 명령을 사용합니다. 이 명령은 논리 앱 워크플로에 대한 JSON 코드를 반환합니다.

다음과 같은 선택적 매개 변수로 결과를 필터링할 수 있습니다.

매개 변수 설명
리소스 그룹 이름 --resource-group -g 결과를 필터링할 리소스 그룹의 이름입니다.
항목 수 --top 결과에 포함되는 항목의 수입니다.
필터 --filter 목록에 사용 중인 필터의 유형입니다. 상태(State), 트리거(Trigger) 및 참조되는 리소스의 식별자(ReferencedResourceId)를 기준으로 필터링할 수 있습니다.
az logic workflow list [--filter]
                       [--resource-group]
                       [--top]

예제 - 논리 앱 나열

이 예제에서는 리소스 그룹 testResourceGroup에서 사용하도록 설정된 모든 워크플로가 ASCII 테이블 형식으로 반환됩니다.

az logic workflow list --resource-group "testResourceGroup" --filter "(State eq 'Enabled')" --output "table"

Errors

다음 오류는 Azure Logic Apps CLI 확장이 설치되지 않았음을 나타냅니다. 필수 구성 요소의 단계에 따라 컴퓨터에 Logic Apps 확장을 설치합니다.

az: 'logic' is not in the 'az' command group. See 'az --help'. If the command is from an extension, please make sure the corresponding extension is installed. To learn more about extensions, please visit https://learn.microsoft.com/cli/azure/azure-cli-extensions-overview

다음 오류는 워크플로 정의를 업로드하는 파일 경로가 올바르지 않다는 의미일 수 있습니다.

Expecting value: line 1 column 1 (char 0)

글로벌 매개 변수

az logic 명령에 다음과 같은 선택적 글로벌 Azure CLI 매개 변수를 사용할 수 있습니다.

매개 변수 설명
출력 형식 --output -o 기본 JSON의 출력 형식을 변경합니다.
오류만 표시 --only-show-errors 경고를 표시하지 않고 오류만 표시합니다.
자세한 정보 표시 --verbose 자세한 정보 로그를 표시합니다.
디버그 --debug 모든 디버그 로그를 표시합니다.
도움말 메시지 --help -h 도움말 대화 상자를 표시합니다.
쿼리 --query JSON 출력에 대한 JMESPath 쿼리 문자열을 설정합니다.

다음 단계

Azure CLI에 대한 자세한 내용은 Azure CLI 설명서를 참조하세요.

Microsoft 코드 샘플 브라우저에서 더 많은 Azure Logic Apps CLI 스크립트 샘플을 찾을 수 있습니다.

다음으로, 샘플 스크립트와 워크플로 정의를 사용하여 Azure CLI를 통해 예제 앱 논리를 만들 수 있습니다.