다음을 통해 공유


Azure Logic Apps에 대한 워크플로 템플릿 만들기 및 게시

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

Azure Logic Apps는 통합 애플리케이션 빌드 프로세스를 가속화하는 데 사용할 수 있는 미리 빌드된 통합 워크플로 템플릿을 제공합니다. 이러한 템플릿은 일반적으로 사용되는 패턴을 따르며 미리 정의된 비즈니스 논리 및 구성을 사용하여 시작 지점 또는 기준을 제공하여 개발을 간소화하는 데 도움이 됩니다.

워크플로 템플릿을 사용하여 개발을 시작할 수 있는 것뿐만 아니라 사용자 고유의 용도로 워크플로 템플릿을 만들거나 다른 사용자와 공유할 수 있습니다. 템플릿에는 스키마, 맵 및 사용자 지정 어셈블리와 같은 아티팩트가 포함될 수 있습니다. Azure Portal의 템플릿 갤러리에 템플릿을 추가하려면 이 방법 가이드를 사용하여 템플릿 패키지를 만듭니다. 완료되면 템플릿 패키지에 대한 끌어오기 요청을 만들고 Azure Logic Apps 팀이 템플릿을 검토하게 할 수 있는 Azure Logic Apps용 GitHub의 워크플로 템플릿 리포지토리를 방문합니다.

제한 사항

워크플로 템플릿은 현재 표준 논리 앱 및 단일 워크플로만 지원합니다.

템플릿 패키지에는 무엇이 포함됩니까?

다음 표에서는 템플릿 패키지의 필수 및 선택적 파일에 대해 설명합니다.

파일 이름 Required 설명
workflow.json 워크플로 정의가 있는 JSON 파일입니다.
manifest.json 워크플로 및 관련 구성 요소에 대한 정보가 포함된 JSON 파일입니다.
<image-name>-dark.png 워크플로를 읽기 전용 스크린샷 으로 사용하는 이미지 파일은 .png 형식이며 브라우저의 어두운 테마에서 작동합니다.
<image-name>-light.png 워크플로를 읽기 전용 스크린샷 으로 사용하는 이미지 파일은 .png 형식이며 브라우저의 밝은 테마에서 작동합니다.
<map-name>.json, .xml 또는 .xslt 아니요 워크플로 템플릿을 지원하는 맵 및 스키마와 같은 모든 아티팩트입니다.
<custom-assembly>.dll 아니요 워크플로 템플릿을 지원하는 모든 사용자 지정 어셈블리입니다.
readme.md 아니요 워크플로 템플릿에 대한 지침, 절차 또는 기타 정보가 포함된 Markdown 파일입니다.

템플릿을 유지 관리하고 지원하는 다른 파일(예: 테스트 또는 샘플 데이터가 있는 파일)을 포함할 수도 있습니다.

템플릿 패키지 폴더 만들기

  • 템플릿 패키지 폴더를 만들기 전에 이름 및 스타일 규칙을 숙지 하세요.

  • 템플릿 리포지토리를 더 쉽게 찾아보고 구성하고 유지 관리하려면 폴더 이름에 다음 구문과 가장 적은 수의 단어를 사용하여 파일 경로의 문자 제한을 초과하지 않도록 합니다.

    <workflow-task-product-pattern-or-protocol><><(있는 경우)>

    예제는 GitHub의 Azure Logic Apps에 대한 워크플로 템플릿 리포지토리를 참조하세요.

  • 템플릿 패키지 폴더를 올바르게 등록하려면 리포지토리의 루트 수준 manifest.json 파일에 폴더 이름을 추가해야 합니다.

workflow.json 파일 만들기

workflow.json 파일에는 JSON 형식의 워크플로에 대한 기본 정의가 포함되어 있습니다. workflow.json 파일을 만들려면 워크플로 정의를 복사하여 workflow.json 파일로 저장해야 합니다.

워크플로 정의를 가져오는 가장 쉽고 가장 좋은 방법은 디자이너를 사용하여 워크플로를 만듭니다. 이름 및 스타일 규칙과 함께 워크플로 모범 사례를 검토해야 합니다. 또는 시작 지점으로 Azure Portal의 템플릿 갤러리에서 미리 빌드된 워크플로 템플릿을 사용할 수 있습니다.

워크플로를 빌드할 때 디자이너는 기본 워크플로 정의에 추가된 기본 제공, 서비스 공급자 연결, 관리되는 API 연결 또는 라이브러리에 대한 참조를 자동으로 포함합니다.

완료되면 기본 워크플로 정의를workflow.json 파일에 복사합니다.

워크플로 모범 사례

  • 가능한 한 기본 제공 작업을 사용합니다. 예를 들어 Azure Blob Storage 커넥터에는 표준 워크플로에 사용할 수 있는 다음 버전이 있습니다.

    • In App 레이블이 있는 커넥터 갤러리에 표시되는 기본 제공 서비스 공급자 버전입니다. 이 버전은 단일 테넌트 Azure Logic Apps 런타임을 통해 호스트되고 실행되어 더 나은 성능, 처리량 및 기타 이점을 제공합니다.

    • 공유 레이블이 있는 커넥터 갤러리에 표시되는 Microsoft 관리 API 버전입니다. 이 버전은 공유 전역 리소스를 사용하여 다중 테넌트 Azure에서 호스트되고 실행됩니다.

  • 트리거 및 작업 정의에는 하드 코딩된 속성과 해당 값을 사용하지 마세요.

  • 설명적이고 유용한 주석을 추가하여 트리거 및 작업 정의에 대한 더 많은 컨텍스트를 제공합니다.

기본 워크플로 정의 복사

  1. Azure Portal의 워크플로 메뉴에 있는 개발자에서 코드를 선택합니다.

  2. 코드 뷰 창에서 전체 워크플로 정의를 복사합니다. 예를 들면 다음과 같습니다.

    스크린샷은 Azure Portal, 코드 보기 창 및 Request-Response 워크플로 정의를 보여줍니다.

  3. workflow.json파일에 워크플로 정의를 저장합니다.

workflow.json 매개 변수 참조

workflow.json 파일에서 매개 변수를 참조하는 경우 다음과 같은 방법으로 접미사 _#workflowname#을 사용하는 매개 변수 이름을 반영해야 합니다.

"name": "@parameters('<parameter-name>_#workflowname#')"

예시:

"name": "@parameters('sharepoint-folder-path_#workflowname#')"

workflow.json 연결 참조

workflow.json 파일에서 연결을 참조하는 경우 다음과 같은 방법으로 접미사 _#workflowname#을 사용하는 연결 이름을 반영해야 합니다.

"referenceName": "<connector-ID>_#workflowname#",
"connectionName": "<connector-ID>_#workflowname#"

예시:

"referenceName": "azureaisearch_#workflowname#",
"connectionName": "azureaisearch_#workflowname#"

커넥터 ID에 대한 자세한 내용은 커넥터 ID 찾기를 참조 하세요.

워크플로 템플릿 이미지 만들기

Azure Portal의 각 워크플로 템플릿에는 워크플로 템플릿 갤러리의 개요 창이 있습니다. 이 창에는 템플릿이 만드는 워크플로에 대한 읽기 전용 미리 보기 이미지와 다른 템플릿 정보가 포함되어 있습니다.

이 미리 보기 이미지를 만들려면 다음 단계를 수행합니다.

  1. 디자이너에서 두 개의 스크린샷을 만들기 위한 워크플로를 설정합니다.

    브라우저 밝은 테마와 어두운 테마에 대한 버전을 각각 만들어야 합니다.

  2. 기본 설정 화면 캡처 도구를 사용하여 워크플로 스크린샷을 만듭니다. 워크플로 주위에 너무 많은 공백을 포함하지 마세요.

  3. 이름 및 스타일 규칙에 따라 .png 파일 이름 확장명과 원하는 이름을 사용하여 각 이미지를 저장합니다.

  4. 워크플로 템플릿 패키지의 manifest.json 파일에서 .png 파일 이름 images 확장명 없이 섹션에 동일한 이미지 이름을 추가합니다. 예를 들면 다음과 같습니다.

    "images": {
        "dark": "workflow-dark",
        "light": "workflow-light"
    }
    

manifest.json 파일 만들기

manifest.json 파일은 워크플로와 관련 구성 요소 간의 관계를 설명합니다. 현재 이 파일을 수동으로 만들어야 하거나 GitHub의 Azure Logic Apps 워크플로 템플릿 리포지토리에 있는 기존 미리 빌드된 템플릿에서 manifest.json 파일을 다시 구성할 수 있습니다. manifest.json 파일을 만들 때 이름 및 스타일 규칙을 검토해야 합니다.

다음 표에서는 manifest.json 파일의 특성을 설명합니다.

특성 이름 Required 설명
title <template-title> Azure Portal의 템플릿에서 워크플로를 추가할 때 열리는 템플릿 갤러리에 표시되는 제목입니다.
description <template-description> 템플릿 갤러리의 템플릿 개요 창에 표시되는 템플릿 설명입니다.
prerequisites 아니요 <template-prerequisites> 템플릿 사용을 위해 충족해야 하는 모든 필수 구성 요소입니다. 템플릿의 개요 창에 나타납니다. 이 섹션의 다른 문서에 연결할 수 있습니다.
tags 아니요 <template-tags-array> 템플릿을 검색하거나 필터링하는 데 사용할 템플릿 태그입니다.
skus standard, consumption 템플릿에서 지원하는 논리 앱 워크플로 유형입니다. 확실하지 않은 경우 다음을 사용합니다 standard.
kinds 아니요 stateful, stateless 실행 기록 및 작업 상태가 저장되는지 여부를 결정하는 워크플로 모드입니다.

기본적으로 모든 워크플로는 상태 저장 모드와 상태 비저장 모드 모두에서 사용할 수 있습니다. 워크플로가 상태 저장 모드에서만 실행되는 경우 이 특성을 사용하여 이 요구 사항을 명시적으로 만듭니다.
detailsDescription 아니요 설명을 참조하십시오. 템플릿에 대한 기타 자세한 설명 정보입니다.
details 아니요 설명을 참조하십시오. 템플릿 갤러리를 필터링하는 데 사용할 템플릿 정보입니다.

- By: 템플릿 게시자(예: Microsoft.

- Type: Workflow

- Trigger: 트리거 유형(예: Recurrence, Event또는 Request.
artifacts <artifacts-array> 템플릿 패키지의 모든 관련 파일에는 다음 특성이 포함됩니다.

- type: 파일을 복사할 위치에 대한 적절한 위치를 결정하는 파일 형식입니다. 예를 들면 workflow다음과 같습니다.

- file: 파일 이름 및 확장명(예: workflow.json)입니다.
images 설명을 참조하십시오. 브라우저 밝은 테마와 어두운 테마 모두에 대한 워크플로 이미지 파일 이름:

- light: 밝은 테마의 이미지 이름(예: 워크플로 라이트)

- dark: 어두운 테마의 이미지 이름(예: 워크플로 어둡게)입니다.
parameters 예,하지만 없는 경우 비어 있을 수 있습니다. <workflow-parameters-array> 워크플로 템플릿의 작업에 대한 매개 변수입니다. 각 매개 변수에 대해 다음 속성을 지정해야 합니다.

- name: 매개 변수 이름에 접미사가 _#workflowname#있어야 합니다. 영숫자, 하이픈 또는 밑줄만 사용하고 다음 형식을 따릅니다.

<parameter-name>_#workflowname#

- displayName: 매개 변수의 친숙한 표시 이름입니다. 이름 및 스타일 규칙을 참조 하세요.

- type: 매개 변수의 데이터 형식(예: String 또는 Int.

- default: 매개 변수의 기본값(있는 경우)입니다. 없는 경우 이 값을 빈 문자열로 둡니다.

- description 매개 변수의 세부 정보 및 기타 중요하거나 유용한 정보입니다.

- required: true 또는 false
connections 예, 하지만 없는 경우 비어 있을 수 있습니다. <connections-array> 워크플로 템플릿을 사용하여 만들 연결입니다. 각 연결에는 다음과 같은 속성이 있습니다.

-connectorId: 커넥터 ID에 접미사가 _#workflowname#있어야 합니다. 영숫자, 하이픈 또는 밑줄만 사용하고 다음 형식을 따릅니다.

<connector-ID>_#workflowname#

커넥터 ID를 찾으려면 커넥터 ID 찾기를 참조 하세요.

- kind: 기본 제공 작업 및 서비스 공급자 커넥터 또는 shared 관리되는 Azure 호스팅 커넥터용 커넥터의 런타임 호스트 유형입니다inapp. 커넥터 갤러리에서 기본 제공 작업 및 서비스 공급자 커넥터는 In App으로 레이블이 지정되고 관리되는 커넥터는 공유레이블이 지정됩니다.
featuredConnections 아니요 <featured-connections-array> 기본적으로 템플릿 갤러리는 각 템플릿에서 사용되는 Azure Logic Apps의 미리 빌드된 작업 및 커넥터에 대한 아이콘을 표시합니다. 다른 작업에 대한 아이콘을 포함하려면 특성을 사용할 featuredConnections 수 있습니다. 각 작업에는 다음 특성이 있어야 합니다.

- kind: 작업 종류

- type: 작업 유형

이러한 값을 찾으려면 featuredConnections 섹션에 대한 작업 종류 및 유형 찾기를 참조하세요.

커넥터 ID 찾기

manifest.json 파일의 연결 또는 workflow.json 파일의 연결 참조에 사용할 커넥터 ID를 찾으려면 다음 단계를 수행합니다.

  1. Azure Portal에서 논리 앱 리소스를 엽니다.

  2. 논리 앱 메뉴의 워크플로에서 연결을 선택합니다.

  3. JSON 보기 탭을 선택합니다.

  4. 연결 유형에 따라 다음 단계를 수행합니다.

    • Azure에서 호스트되고 실행되는 관리되는 "공유" API 연결의 경우:

      1. managedApiConnections 섹션을 찾습니다.

      2. 특성에서 connection 값을 복사하고 저장 id 하지만 구독 ID, 리소스 그룹 이름 등과 같은 개인 또는 중요한 데이터를 다음으로 #<item>#바꿉니다.

        /subscriptions/#subscription#/providers/Microsoft.Web/locations/#location#/managedApis/<connection-name>

        예를 들어 다음 텍스트는 SharePoint 커넥터의 커넥터 ID를 보여줍니다.

        /subscriptions/#subscription#/providers/Microsoft.Web/locations/#location#/managedApis/sharepointonline

    • 단일 테넌트 Azure Logic Apps 런타임에서 호스트되는 서비스 공급자 연결의 경우:

      1. serviceProviderConnections 섹션을 찾습니다.

      2. 각 연결에 대해 특성에서 id serviceProvider 특성을 찾습니다.

      3. 다음 값을 복사하고 저장합니다.

        /serviceProviders/<connection-name>

        예를 들어 다음 텍스트는 Azure AI Search 커넥터의 커넥터 ID를 보여줍니다.

        /serviceProviders/azureaisearch.

featuredConnections에 대한 작업 'kind' 및 'type' 속성 찾기

manifest.json 파일 featuredConnections 에서 섹션에는 Azure Portal의 템플릿 갤러리에 포함하려는 다른 작업에 대한 아이콘이 포함될 수 있습니다. 배열인 이 섹션의 경우 각 작업에 대한 특성과 type 특성을 제공해야 kind 합니다.

이러한 특성 값을 얻으려면 열려 있는 워크플로를 사용하여 Azure Portal에서 다음 단계를 수행합니다.

  1. 워크플로 메뉴의 개발자 아래에서 코드를 선택합니다.

  2. 코드 보기 창의 actions 섹션에서 원하는 작업을 찾은 다음 값과 type 값을 찾 kind 습니다.

GitHub 리포지토리에 템플릿 패키지 추가

Azure Portal의 템플릿 갤러리에 템플릿을 게시하려면 GitHub를 설정하고 유효성 검사 및 검토를 위해 템플릿 패키지를 사용하여 끌어오기 요청을 만듭니다.

  1. GitHub 계정이 없는 경우 만듭니다.

    자세한 내용은 GitHub 계정 시작을 참조하세요.

  2. GitHub에서 Azure Logic Apps용 LogicAppsTemplates라는 워크플로 템플릿 리포지토리로 이동합니다.

  3. GitHub에서 LogicAppsTemplates 리포지토리의 원격 복사본인 고유한 포크를 만듭니다.

    자세한 내용은 리포지토리 포크를 참조 하세요.

  4. 로컬로 작업하려면 포크를 컴퓨터에 복제합니다.

    1. 다음 단계에 따라 Git을 다운로드, 설치 및 설정합니다.

    2. 다음 URL이 있는 포크로 이동합니다.

      https://github.com/<your-username>/LogicAppsTemplates

    3. 로컬 컴퓨터에 아직 없는 경우 GitHub라는 폴더를 만듭니다. OneDrive 동기화 폴더에 복제하지 마세요.

    4. 다음 단계에 따라 프로덕션 리포지토리가 아닌 포크를 복제합니다.

    5. 로컬 리포지토리 에서 다음 단계에 따라 작업 분기를 만듭니다.

    6. 작업 분기를 체크 아웃한 후 로컬 리포지토리의 루트 수준으로 이동하여 템플릿 패키지 폴더를 만듭니다.

    7. 템플릿 패키지 폴더에 템플릿 파일을 추가하고 루트 수준 manifest.json 파일을 폴더 이름으로 업데이트합니다.

    8. 스냅샷 저장과 같은 로컬 리포지토리에 변경 내용을 커밋할 준비가 되면 Git 명령줄 도구 또는 기타 도구를 사용하여 다음 명령을 실행합니다.

      git add .

      git commit -m "<commit-short-description>"

    9. 원격 포크에 스냅샷을 업로드하려면 다음 명령을 실행합니다.

      git push origin <your-working-branch>

  5. GitHub에서 작업 분기를 LogicAppsTemplates 리포지토리의 분기>와 비교<하는 끌어오기 요청을 만듭니다.

    1. 리포지토리의 끌어오기 요청 페이지로 이동하여 새 끌어오기 요청을 선택합니다.

    2. 변경 내용 비교에서 포크 간 비교를 선택합니다.

    3. 끌어오기 요청에 다음 설정이 있는지 확인한 다음 끌어오기 요청 만들기를 선택합니다.

      기본 리포지토리 Base 헤드 리포지토리 비교
      Azure/LogicAppsTemplates main <user-name>/LogicAppsTemplates <작업 분기>

      스크린샷은 GitHub 및 끌어오기 요청 설정을 보여줍니다.

    4. 끌어오기 요청의 제목 및 설명을 입력합니다. 완료하려면 끌어오기 요청 만들기를 선택합니다.

    5. Azure Logic Apps 팀에서 끌어오기 요청을 검토할 때까지 기다립니다.

    자세한 내용은 포크에서 끌어오기 요청 만들기를 참조 하세요.

이름 및 스타일 규칙

영역 규칙
중요한 데이터 템플릿 파일, 스크린샷, 설명 또는 테스트 데이터에 개인 및 중요한 데이터를 포함하거나 업로드하지 마세요. 예를 들어 이 데이터에는 구독 ID, 사용자 이름, 암호 등이 포함됩니다.
폴더 이름 가독성을 높이기 위해 가능한 경우 소문자와 하이픈을 사용합니다. 대문자화 - Microsoft 스타일 가이드를 참조하세요.
이미지 파일 이름 .png 파일 이름 확장명, 소문자 및 하이픈(예: workflow-light.png)으로 사용합니다.
제품, 서비스, 기술 및 브랜드 이름 공식 맞춤법 및 대문자를 따릅니다. 예:

- 서비스 이름 또는 플랫폼을 참조하는 경우 "Logic Apps"가 아닌 "Azure Logic Apps"를 사용합니다.

- 리소스 또는 인스턴스를 참조하는 경우 "논리 앱" 또는 "Logic Apps"가 아닌 "논리 앱" 또는 "논리 앱"을 사용합니다.

- 트리거 및 작업 시퀀스를 참조하는 경우 "논리 앱 워크플로" 또는 "워크플로"를 사용합니다.
약어 및 약어 약어 또는 약어가 아닌 제품, 서비스, 기술, 브랜드 이름 및 일반적이지 않은 기술 용어에 확장된 이름을 사용합니다. "HTTP" 및 "URL"과 같은 일반적인 약어는 허용됩니다. 예를 들어 "VS Code"가 아닌 "Visual Studio Code"를 사용합니다. 머리글자어 - Microsoft 스타일 가이드를 참조하세요.
기타 텍스트 - 제목, 제목 및 본문 콘텐츠에 문장 대/소문자를 사용합니다. 즉, 제품, 서비스, 기술 또는 브랜드 이름이 없는 한 첫 글자만 대문자로 표시합니다.

- "a", "an", "and", "or", "the" 등과 같은 일반 명사 및 아티클을 대문자로 표시하지 마세요.
음성 - 특정 역할을 참조할 필요가 없는 한 3인칭(사용자, 개발자, 고객)이 아닌 2인칭 음성(사용자 및 사용자)을 사용합니다. 사람 - Microsoft 스타일 가이드를 참조하세요.

- 가능하면 활동적이고 직접적이지만 친숙한 톤을 사용합니다. 활성 음성은 텍스트의 제목과 동사에 초점을 맞추고 수동 음성은 텍스트의 개체에 중점을 둡니다.
단어의 - "활용" 또는 "레버리지" 대신 "use"와 같은 간단하고 일반적인 일상적인 단어를 사용합니다.

- 언어 간에 잘 번역되지 않는 단어, 구문, 전문 용어, 구어체, 관용구 또는 속어를 사용하지 마세요.

- 특정 시나리오에 대해서만 "please"를 사용합니다. Microsoft 스타일 가이드를 참조하세요.

- "예" 또는 "예"가 아닌 "예" 또는 "예"를 사용합니다.

- 접근성이 낮은 "here", "above", "below", "right" 및 "left"와 같은 방향 용어를 사용하지 마세요.
문장 부호 - 일련의 항목에 대해 "and"와 같이 연결 앞에 마지막 쉼표가 포함됩니다. 예를 들어 "사과, 오렌지 및 바나나"입니다. 쉼표 - Microsoft 스타일 가이드를 참조하세요.

- 적절한 문장 부호로 전체 문장을 종료합니다. 느낌표를 사용하지 마세요. 문장 부호 - Microsoft 스타일 가이드를 참조하세요.
서식 - 코드의 경우 해당 코드의 언어에 대한 스타일 규칙을 따릅니다.

- URL이 변경되면 중단되는 하드 코딩된 링크를 사용하지 마세요. PR 요청에서 대신 사용할 리디렉션 링크를 요청합니다.

- 링크의 경우 다음 형식을 사용합니다.

"For more information, see [descriptive-link-text](URL)].".

- "See [here](URL)"와 같이 일반 또는 모호한 링크 텍스트가 아닌 설명이 포함된 링크 텍스트를 사용합니다.

- 특정 순서가 없는 목록은 아니라 프로시저의 단계에만 숫자를 사용합니다. 목록 - Microsoft 스타일 가이드를 참조하세요.

- 코드를 인덴팅하지 않는 한 문장 부호 후 공백을 하나만 사용합니다.

자세한 지침은 Microsoft 스타일 가이드전역 쓰기 팁을 참조하세요.

미리 빌드된 템플릿에서 표준 논리 앱 워크플로 만들기