다음을 통해 공유


Power Platform의 환경 변수 개요

환경 변수는 Power Platform 환경 간에 애플리케이션을 이동하는 기본 ALM(애플리케이션 수명 주기 관리) 시나리오를 활성화합니다. 이 시나리오에서 애플리케이션은 원본 환경과 대상 환경 간에 서로 다른 몇 가지 주요 외부 애플리케이션 참조(예: 테이블, 연결 및 키)를 제외하고 정확히 동일하게 유지됩니다. 애플리케이션은 테이블 또는 연결의 구조가 약간의 차이를 제외하고 소스 환경과 대상 환경 간에 정확히 동일해야 합니다. 환경 변수를 사용하면 애플리케이션이 환경 간에 이동할 때 업데이트해야 하는 이러한 다양한 외부 참조를 지정할 수 있습니다.

환경 변수는 매개 변수 키와 값을 저장한 다음 다양한 다른 애플리케이션 객체에 대한 입력 역할을 합니다. 사용 개체에서 매개 변수를 분리하면 동일한 환경 내에서 또는 솔루션을 다른 환경으로 마이그레이션할 때 값을 변경할 수 있습니다. 대안은 이를 사용하는 구성 요소 내에 하드 코딩된 매개 변수 값을 남겨 두는 것입니다. 이 접근 방식은 종종 문제가 됩니다. 특히 ALM 작업 중에 값을 변경해야 하는 경우 문제가 됩니다. 환경 변수는 솔루션 구성 요소이므로 참조(키)를 전송하고 솔루션을 다른 환경으로 마이그레이션할 때 값을 변경할 수 있습니다.

환경 변수 사용의 이점:

  • 다른 환경에 솔루션을 가져오는 동안 새 매개 변수 값을 제공합니다.
  • 캔버스 앱 및 흐름에 사용되는 데이터 원본에 대한 구성을 저장합니다. 예를 들어 SharePoint 온라인 사이트 및 목록 매개 변수를 환경 변수로 저장할 수 있습니다. 이 방법을 사용하면 앱과 흐름을 수정할 필요 없이 다른 환경의 다른 사이트 및 목록에 연결할 수 있습니다.
  • 사용자 지정 및 구성을 함께 패키징 및 전송하고 단일 위치에서 관리합니다.
  • 다른 구성 요소에서 사용하는 자격 증명과 같은 암호 패키지 및 전송 암호는 이를 사용하는 구성 요소와 별도로 분리됩니다.
  • 하나의 환경 변수는 동일한 유형의 구성 요소이든 다른 여러 솔루션 구성 요소에서 사용할 수 있습니다. 예를 들어 캔버스 앱과 흐름은 동일한 환경 변수를 사용할 수 있습니다. 환경 변수의 값을 변경해야 하는 경우 하나의 값만 변경하면 됩니다.
  • 또한 프로덕션 환경에서 데이터 원본을 폐기해야 하는 경우 새 데이터 원본에 대한 정보로 환경 변수 값을 업데이트하면 됩니다. 앱과 흐름은 수정이 필요하지 않으며 새로운 데이터 원본를 사용하기 시작합니다.
  • SolutionPackagerDevOps 도구에서 지원하여 지속적인 통합 및 지속적인 제공(CI/CD)을 가능하게 합니다.
  • 환경 변수는 압축을 풀고 소스 컨트롤에 저장할 수 있습니다. 다른 환경에서 필요한 별도의 구성을 위해 다른 환경 변수 값 파일을 저장할 수도 있습니다. 그러면 솔루션 패키저가 솔루션을 가져올 환경에 해당하는 파일을 승인할 수 있습니다.

환경 변수는 어떻게 작동합니까?

환경 변수는 최신 솔루션 인터페이스 내에서 만들고 수정할 수 있습니다. 캔버스 앱이나 코드에서 특정 데이터 원본에 연결할 때 자동으로 생성될 수도 있습니다. 솔루션을 통해 환경으로 가져올 수도 있습니다. 환경 변수는 캔버스 앱, Power Automate 흐름, 플러그 인을 작성하고 모델 기반 앱에 Power BI 대시보드를 추가할 때 입력으로 사용할 수 있습니다. 환경 변수를 사용하는 경우 값은 환경 변수에서 파생되며 솔루션을 다른 환경으로 가져올 때 변경할 수 있습니다.

솔루션에서 수동으로 환경 변수 만들기

  1. Power Apps(make.powerapps.com)에 로그인하고 왼쪽 창에서 솔루션을 선택합니다. 항목이 측면 패널 창을 경우 ...자세히를 선택한 다음 원하는 항목을 선택하세요.
  2. 원하는 솔루션을 열거나 새 솔루션을 만듭니다.
  3. 명령 모음에서 새로 만들기>더 보기를 선택한 다음 환경 변수를 선택합니다.
  4. 오른쪽 창에서 다음 열을 완료한 다음 저장을 선택합니다.
    • 표시 이름: 환경 변수의 이름을 입력합니다.

    • 이름: 표시 이름에서 고유 이름이 자동으로 생성되지만 변경할 수 있습니다.

    • 데이터 형식. 10진수, 텍스트, JSON, 두 가지 옵션, 데이터 원본 또는 암호에서 선택합니다.

      참고

      • 선택된 유형이 데이터 원본이면 커넥터, 선택된 커넥터에 대해 유효한 연결, 매개 변수 유형을 선택해야 합니다. 연결은 환경 변수의 일부로 저장되지 않습니다. 환경 변수는 Power Apps를 올바른 서버 및 테이블에 연결하는 데 필요한 연결에 없는 정보를 저장합니다. 연결은 액세스 권한이 있는 SharePoint 사이트 또는 사이트와 연결된 목록과 같은 사용 가능한 매개 변수 값을 검색하는 데만 사용됩니다.
      • 암호 유형을 선택한 경우 Power Platform에서 암호에 액세스하려면 Azure Key Vault를 설정 및 구성하기 위한 추가 정보가 필요합니다.
    • Current Value. 값이라고도 합니다. 선택 사항으로 환경 변수 값 테이블의 일부인 속성입니다. 정의된 값은 기본값도 있는 경우에도 사용됩니다. 다음 환경에서 사용하지 않으려면 솔루션에서 값을 제거하십시오. 값은 내보낸 solution.zip 파일 내에서 별도의 JSON 파일로 분리되며 오프라인으로 편집할 수도 있습니다. 추가 정보: 환경 변수에서 값을 어떻게 제거합니까?

    • 기본값. 이 열은 환경 변수 정의 테이블의 일부이며 필수가 아닙니다. 현재 값이 없는 경우 기본값이 사용됩니다.

      기본값과 현재 값을 분리하면 정의와 기본값을 값과 별도로 서비스할 수 있습니다. 예를 들어 애플리케이션 게시자는 기본값으로 AppSource에 제안을 등록할 수 있습니다. 그런 다음 고객은 선택적으로 새로운 값을 제공할 수 있습니다. 애플리케이션 게시자가 애플리케이션에 업데이트를 게시할 때 고객이 설정한 값을 덮어쓰지 않습니다.

      새 환경 변수.

      참고

      정의 없이는 값이 존재할 수 없습니다. 인터페이스는 정의당 하나의 값만 생성할 수 있습니다.

Power Apps는 환경 변수를 자동으로 생성할 수 있습니다

Power Apps 설정의 일반 탭에서:

  • 데이터 원본을 추가할 때 자동으로 환경 변수 생성 옵션을 활성화합니다. 이제 앱에 새 데이터 원본을 추가하면 환경 변수가 추가됩니다.

    환경 변수를 자동으로 생성합니다.

다양한 데이터 원본

서로 다른 데이터 원본은 서로 다른 유형의 환경 변수를 사용할 수 있습니다.

Microsoft Dataverse

Power Apps는 기본적으로 Dataverse에 연결됩니다. 현재 환경의 테이블에는 환경 변수가 필요하지 않습니다. Dataverse에 연결하면 애플리케이션은 이식하는 모든 환경에서 정확히 동일한 테이블 이름을 자동으로 찾습니다. 테이블 이름 구조가 대상 환경에서와 원래 환경에서와 동일하다면 작동합니다.

다른 환경의 외부 테이블을 사용하는 경우(환경 변경을 통해) Power Apps는 항상 정확히 동일한 테이블을 참조하려고 한다고 가정합니다. dev에서 test 또는 prod로 이동할 때 외부 테이블이 다른 외부 테이블이 필요한 경우 환경 변수가 필요합니다. Power Apps가 환경 변수를 자동으로 생성하도록 허용하는 것이 가장 쉽습니다. (이전에 앱에 테이블을 추가한 경우 설정 스위치를 켜고 외부 테이블을 삭제한 다음 다시 추가합니다.)

앱에 외부 테이블을 추가할 때 고급 탭을 선택하여 환경 변수를 선택합니다.

외부 환경 Dataverse 환경 변수.

SharePoint

SharePoint는 Microsoft Entra 연결만 지원합니다. 따라서 SharePoint의 경우 유효한 연결 외에도 사이트 및 목록에 별도의 환경 변수가 필요합니다.

SharePoint 목록에서 환경 변수를 성공적으로 사용하려면 다음을 수행합니다.

  • 원본 및 대상 환경의 각 해당 열에 대한 표시 이름과 논리적 이름이 일치해야 합니다.
  • 의 SharePoint 환경 변수에는 일치하는 메타데이터가 있어야 합니다. SharePoint에는 대상 환경 간에 일치하지 않을 수 있는 내부 식별자가 있습니다. 예를 들어 대상 환경에서 동일한 이름과 열로 목록을 만드는 경우 내부 이름이 일치하지 않습니다. 메타데이터는 SharePoint 사이트를 복제하여 대상 환경에 복사하는 경우 항상 일치합니다.

SQL Server

SQL Server는 다양한 인증 및 연결을 지원합니다. Microsoft Entra 연결에 환경 변수를 사용합니다. 서버와 데이터베이스에 대해 별도의 환경 변수가 필요합니다. 애플리케이션은 특정 테이블 이름에 바인딩되므로 환경 간에 동일한 것으로 간주됩니다.

SQL Server를 사용한 기본 SQL 인증과 같은 공유 연결에 환경 변수를 사용하지 마세요. 일반적으로 연결 문자열의 일부로 전달되는 정보에 대한 연결 참조를 사용합니다. 기본 SQL 인증 매개 변수는 모두 연결 문자열의 일부입니다. 예를 들어 서버 및 데이터베이스 이름은 연결을 만들 때 제공되므로 항상 연결에서 파생됩니다.

데이터 원본 환경 변수는 Microsoft Entra와 같은 인증을 사용하는 커넥터에 사용됩니다. 이러한 유형의 연결에서 Power Apps에는 식별된 사용자만 있습니다. Power Apps는 연결에서 작업하려는 서비스 또는 테이블을 파생할 수 없습니다.

솔루션을 가져오는 동안 새 값 입력

최신 솔루션 가져오기 인터페이스에는 환경 변수 값을 입력하는 기능이 포함되어 있습니다. environmentvariablevalue 테이블의 값 속성을 설정합니다.

솔루션을 가져오거나 파이프라인을 사용하여 배포할 때 환경 변수 값이 표시됩니다. 기본값 또는 값이 없는 환경 변수는 값을 입력하라는 메시지를 표시하지만, 그렇지 않으면 값의 원본(솔루션 값, 대상 환경 값 또는 기본값)을 나타내는 텍스트 영역 아래에 레이블로 미리 채워집니다.

솔루션을 가져오는 동안 환경 변수 가시성.

참고

  • 어떤 경우에는 특정 데이터 원본 환경 변수 값의 경우, 가져오기 제작자가 환경 변수에 사용된 연결이나 원본에 액세스할 수 없으면 액세스 거부 경고가 나타날 수 있습니다. 이는 비차단 경고이지만 대상 환경에서 환경 변수를 사용하려는 방법에 따라 주의해야 할 사항입니다.
  • 솔루션을 내보내기 전에 솔루션에서 값을 제거할 수 있습니다. 이렇게 하면 기존 값이 개발 환경에 유지되지만 솔루션에서는 내보내지지 않습니다. 이 방법을 통해 솔루션을 다른 환경으로 가져오는 동안 새로운 값을 제공할 수 있습니다. 추가 정보: 환경 변수에서 값을 어떻게 제거합니까?

알림

환경 변수에 값이 없으면 알림이 표시됩니다. 환경 변수에 종속된 구성 요소가 실패하지 않도록 값을 설정합니다.

보안

environmentvariabledefinition 테이블은 사용자 또는 팀이 담당합니다. 환경 변수를 사용하는 응용 프로그램을 만들 때 사용자에게 이 테이블에 대한 적절한 권한 수준을 할당해야 합니다. environmentvariablevalue 테이블에 대한 권한은 상위 environmentvariabledefinition 테이블에서 상속되므로 별도의 권한이 필요하지 않습니다. environmentvariabledefinition 테이블에 대한 권한은 기본적으로 환경 제작자 및 기본 사용자 보안 역할에 포함됩니다. 추가 정보: Dataverse의 보안.

이름 지정

환경 변수 이름이 고유해야 정확하게 참조할 수 있습니다. 중복된 환경 변수 표시 이름은 환경 변수를 구별하고 사용하기 어렵게 만듭니다. 환경 변수 이름이 고유해야 정확하게 참조할 수 있습니다. $authentication$connection은 흐름을 위해 특별히 예약된 매개 변수이므로 피해야 합니다. 해당 이름의 환경 변수를 사용하는 경우 흐름 저장이 차단됩니다. 환경 변수가 흐름에서 사용되고 환경 변수의 표시 이름가 변경된 경우 디자이너는 식별을 돕기 위해 이전 및 새 표시 이름 토큰을 모두 표시합니다. 흐름을 업데이트할 때 환경 변수 참조를 제거하고 다시 추가하는 것이 좋습니다.

현재 제한 사항

  • 환경 변수 값의 유효성 검사는 Dataverse 내에서가 아닌 사용자 인터페이스 및 이를 사용하는 구성 요소 내에서 진행됩니다. 따라서 코드를 통해 수정되는 경우 적절한 값이 설정되었는지 확인합니다.
  • Power Platform 빌드 도구 작업은 데이터 원본 환경 변수 관리에 아직 사용할 수 없습니다. 그러나 Microsoft에서 제공하는 도구 및 원본 제어 시스템 내에서는 사용할 수 있습니다.
  • 사용자 지정 코드를 통해 환경 변수와 상호 작용하려면 값을 가져오기위한 API 호출이 필요합니다. 비Microsoft 코드를 사용하기 위해 노출된 캐시가 없습니다.
  • 환경 변수는 최대 2,000자로 제한됩니다.

자주 묻는 질문

내 환경 변수의 값을 볼 수 없는 이유는 무엇입니까?

환경 변수가 관리형 솔루션에 있는 경우 기본 솔루션 내부를 살펴보지 않으면 값을 볼 수 없습니다. 환경 변수 값은 관리되지 않는 사용자 지정이므로 이 동작은 의도적으로 설계된 것입니다.

환경 변수가 사용되는 위치를 어떻게 볼 수 있습니까?

구성 요소를 작성하는 동안 솔루션 인터페이스에서 종속성 표시를 선택하거나 앱 또는 흐름 메타데이터를 확인하여 소스 제어 및 솔루션 파일에서 볼 수 있습니다.

데이터 원본 환경 변수는 연결과 동일합니까?

아니요 서로 관련되어 있지만 연결은 커넥터와 상호 작용하는 데 필요한 자격 증명 또는 인증을 나타냅니다. 데이터 원본 환경 변수는 커넥터에서 하나 이상의 조치에 필요한 매개 변수를 저장하며 이러한 매개 변수는 종종 작업에 따라 다릅니다. 예를 들어 SharePoint Online 연결은 사이트, 목록 또는 문서 라이브러리에 대한 정보를 저장하지 않습니다. 따라서 커넥터를 호출하려면 유효한 연결과 몇 가지 추가 매개 변수가 모두 필요합니다.

자동화된 ALM 파이프라인이 환경마다 다른 값 파일을 사용할 수 있습니까?

예. 솔루션 패키저는 파일 이름을 입력 매개 변수로 허용하므로 파이프라인은 실행 중인 환경 유형에 따라 솔루션에 다른 값 파일을 압축할 수 있습니다.

솔루션에 값을 포함해야 합니까?

아니요 환경 변수는 솔루션이 배포되는 여러 환경에서 서로 다른 값을 가져야 하는 애플리케이션에서 사용하기 위한 것입니다. 환경 변수 정의는 솔루션에 포함되어야 하지만 배포 중에 대상 환경에 대한 값을 제공해야 합니다. 이 동작으로 인해 환경 변수 정의는 대상 환경에서 관리형 솔루션 개체가 되고 환경 변수는 비관리형 레코드가 됩니다.

내 환경에서 값을 삭제할 수 없는 이유는 무엇입니까?

값이 관리형 솔루션에 포함된 경우 값을 삭제하는 유일한 방법은 원본 환경에서 솔루션을 업데이트하여 값을 제외한 다음 새 버전의 솔루션을 내보내는 것입니다. 그런 다음 업그레이드 작업(업데이트 아님)을 사용하여 이 새 버전을 환경으로 가져올 수 있으며, 그 결과 값 레코드가 삭제됩니다.

누군가 실수로 값을 삭제하면 어떻게 됩니까?

종속성 시스템에 의해 차단되지 않은 경우 런타임은 마지막으로 알려진 값을 대체로 사용합니다.

값이 변경되면 새 값이 캔버스 앱 및 클라우드 흐름에서 언제 사용됩니까?

값이 앱에 푸시되고 비동기적으로 흐르기 때문에 업데이트된 환경 변수를 완전히 게시하는 데 최대 1시간이 걸릴 수 있습니다.

프리미엄 라이선스가 필요합니까?

아니요 ALM에는 Dataverse(또는 Dynamics 365 앱)이 필요하지만 프리미엄 커넥터를 사용할 필요는 없습니다. 한 가지 주의할 점은 거래처 또는 연락처와 같은 다른 데이터 레코드와 마찬가지로 환경 변수와 상호 작용하기 위해 Dataverse 커넥터를 사용하는 경우입니다. 이전에는 이것이 캔버스 앱 및 흐름에서 환경 변수를 사용하는 유일한 방법이었습니다.

보유할 수 있는 환경 변수의 수에 제한이 있습니까?

아니요 그러나 솔루션의 최대 크기는 95MB입니다. 추가 정보: 솔루션 만들기

환경 변수 표시 이름과 설명을 현지화할 수 있습니까?

예.

사용자 지정 테이블에 구성 데이터를 저장하는 대신 환경 변수를 사용해야 합니까?

구성 데이터가 관계형이 아닌 경우 그렇습니다. 환경 변수는 키: 값 쌍과 값이 다른 환경에서 달라야 할 가능성이 있는 경우에 사용해야 합니다. 구성 마이그레이션 유틸리티와 같은 다른 도구는 사용자 지정 테이블에 저장된 관계형 구성 데이터의 마이그레이션에 더 적합합니다. 다른 구성 데이터와 달리 환경 변수는 솔루션 내에서 마이그레이션되므로 관리가 훨씬 간단하고 가져오기 성능이 향상됩니다.

데이터 원본 환경 변수에 대한 연결이 저장되지 않는 이유는 무엇입니까?

연결은 사용자 인터페이스를 생성하는 데만 사용됩니다. 예를 들어 사이트와 연결된 SharePoint 목록의 이름을 검색할 수 있습니다. 데이터 원본 환경 변수를 편집할 때는 데이터 원본에 액세스할 수 있는 연결을 선택해야 합니다. 연결에 더 이상 액세스할 수 없는 경우 값을 수동으로 입력할 수 있습니다. 예를 들어 목록의 SharePoint 사이트 URL 또는 GUID(고유 식별자)를 입력합니다.

단일(데이터 원본 유형) 환경 변수에 사용할 수 있는 연결이 여러 개 있는 경우 연결 목록에서 첫 번째 연결을 선택하는 설계상 구현이 있습니다. 일반적으로 환경 변수와 관련된 연결은 하나만 있기 때문에 일반적으로 유효성을 검사할 필요가 없습니다. 또한 환경 변수 값 가시성에 대한 최근 변경으로 인해 가져올 때 유효성을 검사하기가 더 쉬워졌습니다.

환경 변수에서 값을 어떻게 제거합니까?

솔루션을 내보내기 전에 솔루션에서 환경 변수 값을 제거할 수 있습니다. 그러면 기존 값이 개발 환경에 유지되지만 솔루션에서는 내보내지지 않습니다. 이 접근 방식을 사용하면 솔루션을 다른 환경으로 가져오는 동안 새로운 가치를 제공할 수 있습니다.

값을 제거하려면 다음 단계를 따르세요.

  1. 환경 변수가 있는 솔루션에서 환경 변수를 선택하여 속성을 표시합니다.

  2. 현재 값에서 ...>이 솔루션에서 제거를 선택합니다.

    환경 변수에서 값 제거

사용자 지정 커넥터에서 환경 변수를 사용할 수 있습니까?

예. 사용자 지정 커넥터에서 환경 변수 지원

참조 항목

캔버스 앱에서 데이터 원본 환경 변수 사용
Power Automate 솔루션 클라우드 흐름에 환경 변수 사용
EnvironmentVariableDefinition 테이블/엔터티 참조
웹 API 샘플
캔버스 앱에서 데이터 원본 환경 변수 사용
Power Automate 솔루션 클라우드 흐름에서 환경 변수 사용
Azure Key Vault 비밀 사용
사용자 지정 커넥터의 환경 변수 지원
Power Apps 블로그: 프리뷰에서 사용할 수 있는 환경 변수!