다음을 통해 공유


Azure CLI 스크립트 샘플 - 논리 앱 만들기

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

이 스크립트는 Azure CLI Logic Apps 확장을 통해 샘플 논리 앱을 만듭니다(az logic). Azure CLI를 통해 논리 앱을 만들고 관리하는 방법에 대한 자세한 가이드는 Azure CLI에 대한 Logic Apps 빠른 시작을 참조하세요.

경고

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

필수 조건

사전 요구 사항 확인

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

샘플 워크플로 설명

이 예제 워크플로 정의 파일은 Azure Portal에 대한 빠른 시작과 동일한 기본 예제 소비 논리 앱 워크플로를 만듭니다.

이 샘플 워크플로:

  1. 논리 앱에 대한 스키마 $schema를 지정합니다.

  2. 트리거 목록에서 논리 앱에 대한 트리거를 정의합니다 triggers. 트리거는 3시간마다 (recurrence) 되풀이됩니다. 지정된 RSSWhen_a_feed_item_is_published 피드()에 대한 새 피드 항목(feedUrl)이 게시될 때 작업이 트리거됩니다.

  3. 작업 목록에서 논리 앱에 대한 작업을 actions정의합니다. 이 작업은 작업 입력()의 본문 섹션(Send_an_email_(V2))에 지정된 대로 RSS 피드 항목의 세부 정보가 포함된 전자 메일(body)을 Microsoft 365를 통해 보냅니다inputs.

샘플 워크플로 정의

샘플 스크립트를 실행하기 전에 먼저 샘플 워크플로 정의를 만들어야 합니다.

  1. 컴퓨터에 JSON 파일을 testDefinition.json 만듭니다.

  2. JSON 파일에 다음 콘텐츠를 복사합니다.

    
    {
        "definition": {
            "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
            "actions": {
                "Send_an_email_(V2)": {
                    "inputs": {
                        "body": {
                            "Body": "<p>@{triggerBody()?['publishDate']}<br>\n@{triggerBody()?['title']}<br>\n@{triggerBody()?['primaryLink']}</p>",
                            "Subject": "@triggerBody()?['title']",
                            "To": "test@example.com"
                        },
                        "host": {
                            "connection": {
                                "name": "@parameters('$connections')['office365']['connectionId']"
                            }
                        },
                        "method": "post",
                        "path": "/v2/Mail"
                    },
                    "runAfter": {},
                    "type": "ApiConnection"
                }
            },
            "contentVersion": "1.0.0.0",
            "outputs": {},
            "parameters": {
                "$connections": {
                    "defaultValue": {},
                    "type": "Object"
                }
            },
            "triggers": {
                "When_a_feed_item_is_published": {
                    "inputs": {
                        "host": {
                            "connection": {
                                "name": "@parameters('$connections')['rss']['connectionId']"
                            }
                        },
                        "method": "get",
                        "path": "/OnNewFeed",
                        "queries": {
                            "feedUrl": "https://www.pbs.org/now/rss.xml"
                        }
                    },
                    "recurrence": {
                        "frequency": "Hour",
                        "interval": 3
                    },
                    "splitOn": "@triggerBody()?['value']",
                    "type": "ApiConnection"
                }
            }
        },
        "parameters": {
            "$connections": {
                "value": {
                    "office365": {
                        "connectionId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/office365",
                        "connectionName": "office365",
                        "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/office365"
                    },
                    "rss": {
                        "connectionId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/testResourceGroup/providers/Microsoft.Web/connections/rss",
                        "connectionName": "rss",
                        "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Web/locations/westus/managedApis/rss"
                    }
                }
            }
        }
    }
    
    
  3. 자리 표시자 값을 사용자 고유의 정보로 업데이트합니다.

    1. 자리 표시자 이메일 주소("To": "test@example.com")를 교체합니다. Logic Apps 커넥터와 호환되는 이메일 주소를 사용해야 합니다. 자세한 내용은 필수 구성 요소참조하세요.

    2. Office 365 Outlook 커넥터 외에 다른 전자 메일 커넥터를 사용하는 경우 추가 커넥터 세부 정보를 바꿉니다.

    3. 연결 매개 변수(00000000-0000-0000-0000-000000000000) 아래에서 연결 식별자(connectionIdid)에 대한 자리 표시자 구독 값($connections)을 고유의 구독 값으로 바꿉니다.

  4. 변경 내용을 저장합니다.

샘플 스크립트

비고

이 샘플은 셸용으로 작성되었습니다 bash . Windows PowerShell 또는 명령 프롬프트와 같은 다른 셸에서 이 샘플을 실행하려면 스크립트를 수정해야 할 수 있습니다.

이 샘플 스크립트를 실행하기 전에 다음 명령을 실행하여 Azure에 연결합니다.


az login

다음으로 워크플로 정의를 만든 디렉터리로 이동합니다. 예를 들어 데스크톱에서 워크플로 정의 JSON 파일을 만든 경우:


cd ~/Desktop

그런 다음, 이 스크립트를 실행하여 논리 앱을 만듭니다.


#!/bin/bash

# Create a resource group

az group create --name testResourceGroup --location westus

# Create your logic app

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

배포 정리

샘플 스크립트 사용을 완료한 후 다음 명령을 실행하여 리소스 그룹 및 논리 앱을 포함한 모든 중첩된 리소스를 제거합니다.


az group delete --name testResourceGroup --yes

스크립트 설명

이 샘플 스크립트는 다음 명령을 사용하여 새 리소스 그룹 및 논리 앱을 만듭니다.

명령어 비고
az group create 논리 앱의 리소스가 저장되는 리소스 그룹을 만듭니다.
az logic workflow create 매개 변수 --definition에 정의된 워크플로를 기반으로 논리 앱을 만듭니다.
az group delete 리소스 그룹 및 해당 중첩된 모든 리소스를 삭제합니다.

다음 단계

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

Microsoft의 코드 샘플 브라우저에서 추가 Logic Apps CLI 스크립트 샘플을 찾을 수 있습니다.