다음을 통해 공유


Azure Logic Apps에서 워크플로 입력에 대한 교차 환경 매개 변수 만들기

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

개발, 테스트 및 프로덕션 환경에서 워크플로에서 변경될 수 있는 값을 추상화해야 하는 경우 워크플로 매개 변수를 정의할 수 있습니다. 환경별 변수 대신 이러한 매개 변수를 사용하는 경우 워크플로 비즈니스 논리를 디자인하는 데 더 집중한 다음 나중에 환경별 변수를 삽입할 수 있습니다.

이 문서에서는 다중 테넌트 소비 논리 앱 워크플로 및 단일 테넌트 표준 논리 앱 워크플로에 대한 매개 변수를 만들고, 사용하고, 편집하는 방법을 보여 줍니다. 환경 변수를 관리하는 방법도 알아봅니다.

다중 테넌트 및 단일 테넌트 Azure Logic Apps에 대한 자세한 내용은 Azure Logic Apps의 단일 테넌트 및 다중 테넌트를 참조하세요.

필수 조건

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

  • 사용량 또는 표준 논리 앱 워크플로

    논리 앱 워크플로가 아직 없는 경우 소비 논리 앱 워크플로 만들기 또는 표준 논리 앱 워크플로 만들기를 참조하세요.

    참고 항목

    현재로서는 Azure Portal을 사용해야만 사용량 논리 앱 워크플로에 대한 매개 변수를 만들 수 있습니다. Azure Portal 또는 Visual Studio Code를 사용하여 표준 논리 앱 워크플로에 대한 매개 변수를 만들 수 있습니다.

사용량 대 표준 논리 앱 워크플로에 대한 매개 변수

소비 및 표준 논리 앱 워크플로의 경우 워크플로 디자이너를 사용하여 매개 변수를 정의할 수 있습니다. 매개 변수를 정의한 후, 동일한 논리 앱 리소스의 워크플로 또는 연결에서 그 매개 변수를 참조할 수 있습니다.

다중 테넌트 소비 논리 앱 워크플로에서는 디자이너에서 매개 변수를 만들고 사용합니다. 그런 다음 ARM 템플릿(Azure Resource Manager 템플릿) 및 템플릿 매개 변수 파일에서 환경 변수를 정의하고 설정합니다. 이 시나리오에서는 배포 시 매개 변수를 정의하고 설정해야 합니다. 이 요구 사항은 변수를 하나만 변경해야 하는 경우에도 논리 앱의 ARM 템플릿을 다시 배포해야 한다는 것을 의미합니다.

단일 테넌트 표준 논리 앱 워크플로에서 매개 변수 앱 설정을 사용하여 런타임 및 배포 시 환경 변수로 작업할 수 있습니다. 앱 설정에는 동일한 논리 앱 리소스의 모든 워크플로에 대한 전역 구성 옵션이 포함되어 있습니다. 자세한 내용은 단일 테넌트 기반 논리 앱에 대한 호스트 및 앱 설정 편집을 참조하세요.

중요합니다

사용자 이름 및 암호를 포함하는 연결 문자열과 같은 중요한 정보를 사용하는 경우 사용 가능한 가장 안전한 인증 흐름을 사용해야 합니다. 예를 들어, 표준 논리 앱 워크플로에서는 securestringsecureobject와 같은 보안 데이터 형식이 지원되지 않습니다. 가능한 경우 관리 ID를 사용하여 Azure 리소스에 대한 액세스를 인증하고 필요한 최소한의 권한이 있는 역할을 할당하는 것이 좋습니다.

이 기능을 사용할 수 없는 경우 앱 설정에 사용할 수 있는 Azure Key Vault와 같은 다른 방법을 통해 연결 문자열을 보호해야 합니다. 그런 다음 연결 문자열 및 키와 같은 보안 문자열을 직접 참조할 수 있습니다. 배포 시 환경 변수를 정의할 수 있는 ARM 템플릿과 마찬가지로 논리 앱 워크플로 정의 내에서 앱 설정을 정의할 수 있습니다. 그런 다음 연결 엔드포인트 및 스토리지 문자열과 같이 동적으로 생성된 인프라 값을 캡처할 수 있습니다. 자세한 내용은 Microsoft ID 플랫폼을 사용하여 애플리케이션 등록을 참조하세요.

앱 설정에는 크기 제한이 있습니다. 또한 Azure Logic Apps의 특정 영역에서는 참조할 수 없습니다. 매개 변수는 큰 값 크기 및 복잡한 개체에 대한 지원과 같은 앱 설정보다 광범위한 사용 사례를 제공합니다.

예를 들어 Visual Studio Code를 개발 도구로 사용하여 워크플로를 로컬로 실행하는 경우 parameters.json 파일을 사용하여 매개 변수를 정의할 수 있습니다. 그런 다음, 프로젝트의 workflow.json 파일에 있는 워크플로 또는 프로젝트의 connections.json 파일에 있는 연결 개체에서 이 매개 변수 파일의 매개 변수를 참조할 수 있습니다. 다음 목록에서는 일반적인 사용 사례를 설명합니다.

  • 테스트 중에 사용하는 모든 값을 포함하는 테스트 매개 변수 파일이 있습니다. 배포 시 테스트 매개 변수 파일을 프로덕션 매개 변수 파일로 대체합니다.

  • connections.json 파일의 여러 부분을 매개 변수화합니다. 그런 다음 connections.json 파일을 소스 제어로 확인하고 parameters.json 파일을 통해 모든 연결을 관리할 수 있습니다.

  • authentication JSON 개체와 같은 복합 개체를 매개 변수화합니다. 예를 들어 authentication 개체 값을 @parameters('api-auth')와 같은 단일 매개 변수 식을 보유하는 문자열로 바꿀 수 있습니다.

  • 프로젝트의 local.settings.json 파일에서 앱 설정을 검토하고 편집합니다. 그런 다음 매개 변수에서 이러한 앱 설정을 참조합니다.

참고 항목

앱 설정 대신 값을 매개 변수화하는 기본 방법으로 매개 변수를 사용하는 것이 좋습니다. 그러면 보안 키 또는 문자열을 저장해야 할 때 권장 사항에 따라 매개 변수의 앱 설정을 참조할 수 있습니다. 매개 변수를 사용하여 앱 설정을 참조하여 솔루션에서 두 옵션을 모두 사용할 수 있습니다.

매개 변수 정의, 사용 및 편집

이 절차에서는 Azure Portal에서 소비 또는 표준 논리 앱 워크플로에 대한 매개 변수를 사용하는 방법을 설명합니다.

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

    • 표준 논리 앱의 경우 리소스 사이드바 메뉴의 워크플로에서 워크플로를 선택합니다.

      워크플로 페이지에서 빈 워크플로를 선택하여 디자이너를 엽니다.

    • 소비 논리 앱의 경우 리소스 사이드바 메뉴의 개발 도구에서 디자이너를 선택하여 워크플로를 엽니다.

  2. 디자이너 도구 모음에서 매개 변수를 선택합니다.

    스크린샷은 워크플로 디자이너가 열려 있고 디자이너 도구 모음의 매개 변수가 강조 표시된 Azure Portal을 보여줍니다.

  3. 매개 변수 창에서 매개 변수 만들기를 선택합니다.

  4. 만들 매개 변수에 대한 다음 정보를 제공합니다.

    속성 필수 설명
    이름 만들 매개 변수의 이름입니다.
    유형 Array, Bool, Float, Int, ObjectString과 같은 매개 변수의 데이터 형식입니다.

    참고: 표준 논리 앱 워크플로에서는 securestringsecureobject와 같은 보안 데이터 형식이 지원되지 않습니다.
    (표준) 매개 변수의 값입니다.

    표준 논리 앱 워크플로에서 매개 변수 값을 지정합니다. 워크플로 논리, 연결 정보 및 매개 변수 값은 단일 위치에 존재하지 않습니다. 디자이너는 워크플로를 로드하기 전에 매개 변수 값을 확인할 수 있어야 합니다.
    기본값 (소비) 매개 변수의 기본값입니다. 기본 매개 변수 값을 지정해야 합니다. 워크플로 논리, 연결 정보 및 매개 변수 값은 단일 위치에 존재하지 않습니다. 디자이너는 워크플로를 로드하기 전에 매개 변수 값을 확인할 수 있어야 합니다.

    중요: Secure ObjectSecure String 데이터 형식의 경우 값이 일반 텍스트로 저장되므로 기본값을 설정하지 마세요.
    실제 값 (소비) 아니요 매개 변수의 실제 값입니다.

    다음 예제에서는 문자열 매개 변수에 대한 정의를 보여 줍니다.

    스크린샷은 워크플로 디자이너가 있는 Azure Portal과 예제 매개 변수 정의가 있는 매개 변수 창을 보여줍니다.

  5. 완료되면 매개 변수 창을 닫습니다. 새 매개 변수 정의를 저장할 수 있도록 워크플로를 저장해야 합니다.

동일한 논리 앱에 대한 워크플로의 트리거 또는 작업에서 매개 변수를 참조하려면 다음 단계를 수행합니다.

  1. 디자이너에서 원하는 워크플로를 열고 트리거 또는 작업을 선택합니다.

  2. 정보 창의 매개 변수 탭에 있는 매개 변수를 사용하려는 속성에서 해당 속성의 편집 상자 내에서 선택합니다. 번개 아이콘을 선택하여 동적 콘텐츠 목록을 엽니다.

  3. 해당 목록의 매개 변수 아래에서 이전에 만든 매개 변수를 선택합니다.

    스크린샷은 동적 콘텐츠 목록에서 만든 매개 변수를 보여줍니다.

동일한 논리 앱에서 매개 변수를 보거나 편집하려면 다음을 수행합니다.

  1. 워크플로 디자이너에서 워크플로를 엽니다. Fon 소비 논리 앱에서 개발 도구>논리 앱 디자이너를 선택합니다. 표준 논리 앱의 경우 워크플로 워크플로를> 선택한 다음, 워크플로를 선택하여 디자이너를 엽니다.

  2. 디자이너 도구 모음에서 매개 변수를 선택합니다.

    매개 변수 창이 열리고 해당 논리 앱에서 정의한 모든 매개 변수가 표시됩니다.

  • 표준 워크플로만: 대량 JSON에서 보거나 편집하려면 리소스 사이드바 메뉴에서 매개 변수를 선택합니다. 매개 변수 창에서 JSON에서 편집을 선택합니다.

    매개 변수 JSON 보기가 열리고 해당 논리 앱의 워크플로에서 정의한 모든 매개 변수가 표시됩니다.

비주얼 스튜디오 코드

이 절차에서는 Visual Studio Code를 사용하여 표준 논리 앱 워크플로에 대한 매개 변수를 사용하는 방법을 설명합니다.

  1. parameters.json이라는 프로젝트 루트 수준 JSON 파일에서 모든 매개 변수와 해당 값을 정의합니다. 이 파일에는 키-값 쌍을 포함하는 개체가 있습니다. 각 는 각 매개 변수의 이름입니다. 각 은 매개 변수의 구조입니다. 각 구조에는 typevalue 선언이 모두 포함되어야 합니다.

    중요합니다

    parameters.json 파일은 프로젝트의 다른 위치에서 참조하거나 사용하는 모든 매개 변수와 해당 값을 정의하고 포함해야 합니다. 이 요구 사항에는 워크플로 정의 및 연결이 포함됩니다.

    다음 예제에서는 샘플 매개 변수 파일을 보여줍니다.

    {
        "responseString": { 
            "type": "string", 
            "value": "hello" 
        },
        "functionAuth": { 
            "type": "object", 
            "value": { 
                "type": "QueryString", 
                "name": "Code", 
                "value": "@appsetting('<AzureFunctionsOperation-FunctionAppKey>')" 
            }
        }
     }
    

    참고 항목

    parameters.json 파일 @appsetting 에서 유일하게 유효한 식 형식입니다.

  2. 트리거 또는 작업 입력에서 매개 변수를 참조하려면 @parameters('<parameter-name>') 식을 사용합니다.

연결 파일 매개 변수화

connections.json 파일을 매개 변수화하려면 ConnectionRuntimeUrl 같은 리터럴 값을 단일 parameters() 식(예: @parameters('api-runtimeUrl'))으로 바꿉니다. connections.json 파일에서 유일하게 유효한 식 형식은 @parameters@appsetting입니다.

중요합니다

개발 동안 connections.json 파일을 매개 변수화하면 디자이너 환경이 로컬과 Azure Portal 모두에서 제한됩니다. 디자이너를 개발에 사용해야 하는 경우 매개 변수가 없는 connections.json 파일을 대신 사용합니다. 그런 다음, 배포 파이프라인에서 매개 변수화된 파일로 바꿉니다. 런타임은 여전히 매개 변수화와 함께 작동합니다. 디자이너 개선 사항은 개발 중입니다.

다음 예제에서는 앱 설정과 매개 변수를 모두 사용하는 매개 변수화된 connections.json 파일을 보여 줍니다. 이 샘플 파일은 복잡한 blob_auth 인증 개체에 대해 매개 변수를 사용하고 다른 값에 대해 앱 설정을 사용합니다.

가능한 경우 매개 변수를 사용하려고 합니다. 앱 설정은 배포 중에 생성되고 개발 파이프라인에서 동적으로 채우기 쉽기 때문에 이 시나리오에서는 매개 변수보다 앱 설정을 사용해야 합니다. 이 경우 워크플로에서 매개 변수를 참조할 가능성이 낮기 때문에 인증 개체에 매개 변수를 사용할 수 있습니다.

{
   "serviceProviderConnections": {
      "serviceBus": {
         "parameterValues": {
            "connectionString": "@appsetting('serviceBus_connectionString')"
        },
        "serviceProvider": {
           "id": "/serviceProviders/serviceBus"
        },
        "displayName": "servicebus"
     }
   },
   "managedApiConnections": {
      "azureblob": {
         "api": {
            "id": "/subscriptions/@{appsetting('WORKFLOWS_SUBSCRIPTION_ID')}/providers/Microsoft.Web/locations/@{appsetting('WORKFLOWS_LOCATION_NAME')}/managedApis/azureblob"
         },
         "connection": {
            "id": "/subscriptions/@{appsetting('WORKFLOWS_SUBSCRIPTION_ID')}/resourceGroups/@{appsetting('WORKFLOWS_RESOURCE_GROUP_NAME')}/providers/Microsoft.Web/connections/azureblob"
         },
         "connectionRuntimeUrl": "@appsetting('BLOB_CONNECTION_RUNTIMEURL')",
         "authentication": "@parameters('blob_auth')"
      }
   }
}

참고 항목

일반 텍스트와 인라인된 식을 사용할 때, 보간형식을 적용하기 위해 해당 식을 반드시 중괄호({})로 묶어야 합니다. 이 형식은 구문 분석 문제를 방지하는 데 도움이 됩니다.

예를 들어, "<text>/@<function-name>('<parameter-name>')/<text>"이 있는 경우 대신 "<text>/@{<function-name>('<parameter-name>')}/<text>" 버전을 사용합니다.

자세한 내용은 함수 사용에 대한 고려 사항을 참조하세요.

매개 변수 파일 관리

일반적으로 매개 변수 파일의 여러 버전을 관리해야 합니다. 개발, 테스트 및 프로덕션과 같은 다양한 배포 환경에 대상 값을 사용할 수 있습니다. 이러한 매개 변수 파일을 관리하는 방법은 종종 ARM 템플릿 매개 변수 파일을 관리하는 방법과 비슷합니다. 특정 환경에 배포하는 경우 일반적으로 DevOps에 대한 파이프라인을 통해 해당 매개 변수 파일을 승격합니다.

Azure CLI를 사용하여 매개 변수 파일을 동적으로 바꾸려면 다음 명령을 실행합니다.

az functionapp deploy --resource-group MyResourceGroup --name MyLogicApp --src-path C:\parameters.json --type static --target-path parameters.json

NuGet 기반 논리 앱 프로젝트가 있는 경우 빌드 출력에 매개 변수 파일을 포함하도록 프로젝트 파일(<logic-app-name.csproj>)을 업데이트해야 합니다. 예를 들면 다음과 같습니다.

<ItemGroup>
  <None Update="parameters.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>

참고 항목

현재 매개 변수 파일을 동적으로 바꾸는 기능은 Azure Portal 또는 워크플로 디자이너에서 사용할 수 없습니다.

DevOps 배포에 대한 논리 앱을 설정하는 방법에 대한 자세한 내용은 다음 문서를 참조하세요.

모바일 앱 설정

표준 논리 앱에서 앱 설정에는 동일한 논리 앱 의 모든 워크플로 에 대한 전역 구성 옵션이 포함됩니다. Visual Studio Code에서 로컬로 워크플로를 실행하는 경우 이러한 앱 설정은 파일의 local.settings.json 파일에서 로컬 환경 변수로 액세스할 수 있습니다. 그런 다음, 매개 변수에서 이러한 앱 설정을 참조할 수 있습니다.

다음 섹션에서는 Visual Studio Code, Azure Portal, Azure CLI 및 ARM(Bicep) 템플릿에 대한 앱 설정을 추가, 업데이트 또는 삭제하는 방법을 설명합니다.

Azure Portal을 사용하여 앱 설정 검토

Azure Portal에서 논리 앱 리소스에 대한 앱 설정을 검토하려면 다음 단계를 따릅니다.

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

  2. 리소스 사이드바 메뉴의 설정에서 환경 변수를 선택합니다.

  3. 환경 변수 페이지의 앱 설정 탭에서 논리 앱에 대한 앱 설정을 검토합니다.

  4. 모든 값을 보려면 값 표시를 선택합니다. 또는 단일 값을 보려면 해당 값을 선택합니다.

새 설정을 추가하려면 다음 단계를 수행합니다.

  1. 애플리케이션 설정에서 + 추가를 선택합니다.

  2. 이름에 새 설정의 또는 이름을 입력합니다.

  3. 에 새 설정의 값을 입력합니다.

  4. 필요한 경우 배포 슬롯 설정을 선택합니다.

  5. 키-값 쌍을 만들 준비가 되면 적용을 선택합니다.

Azure CLI를 사용하여 앱 설정 검토

Azure CLI를 사용하여 현재 앱 설정을 검토하려면 az logicapp config appsettings list 명령을 실행합니다. 명령에 --name -n--resource-group -g 매개 변수가 포함되어 있는지 확인합니다. 예를 들면 다음과 같습니다.

az logicapp config appsettings list --name MyLogicApp --resource-group MyResourceGroup

Azure CLI를 사용하여 앱 설정을 추가하거나 업데이트하려면 az logicapp config appsettings set 명령을 실행합니다. 명령에 --name n--resource-group -g 매개 변수가 포함되어 있는지 확인합니다. 예를 들어 다음 명령은 값이 CUSTOM_LOGIC_APP_SETTING12345이라는 키로 설정을 만듭니다.

az logicapp config appsettings set --name MyLogicApp --resource-group MyResourceGroup --settings CUSTOM_LOGIC_APP_SETTING=12345 

Resource Manager 또는 Bicep 파일에서 앱 설정 검토 및 정의

ARM 템플릿 또는 Bicep 파일에서 앱 설정을 검토하고 정의하려면 논리 앱의 리소스 정의를 찾아 JSON 개체를 appSettings 업데이트합니다. 전체 리소스 정의는 ARM 템플릿 참조를 확인하세요.

이 예제에서는 ARM 템플릿 또는 Bicep 파일에 대한 파일 설정을 보여 줍니다.

"appSettings": [
    {
        "name": "string",
        "value": "string"
    },
    {
        "name": "string",
        "value": "string"
    },
    <...>
],