Power Platform의 환경 변수 개요
환경 변수는 Power Platform 환경 간에 애플리케이션을 이동하는 기본 ALM(애플리케이션 수명 주기 관리) 시나리오를 활성화합니다. 이 시나리오에서 애플리케이션은 원본 환경과 대상 환경 간에 서로 다른 몇 가지 주요 외부 애플리케이션 참조(예: 테이블, 연결 및 키)를 제외하고 정확히 동일하게 유지됩니다. 애플리케이션은 테이블 또는 연결의 구조가 약간의 차이를 제외하고 소스 환경과 대상 환경 간에 정확히 동일해야 합니다. 환경 변수를 사용하면 애플리케이션이 환경 간에 이동할 때 업데이트해야 하는 이러한 다양한 외부 참조를 지정할 수 있습니다.
환경 변수는 매개 변수 키와 값을 저장한 다음 다양한 다른 애플리케이션 객체에 대한 입력 역할을 합니다. 사용 개체에서 매개 변수를 분리하면 동일한 환경 내에서 또는 솔루션을 다른 환경으로 마이그레이션할 때 값을 변경할 수 있습니다. 대안은 이를 사용하는 구성 요소 내에 하드 코딩된 매개 변수 값을 남겨 두는 것입니다. 이것은 특히 ALM 작업 중에 값을 변경해야 하는 경우 종종 문제가 됩니다. 환경 변수는 솔루션 구성 요소이므로 참조(키)를 전송하고 솔루션을 다른 환경으로 마이그레이션할 때 값을 변경할 수 있습니다.
참고
데이터 원본에 대한 새로운 기능이 배포 중이며 해당 지역에서 아직 사용하지 못할 수 있습니다.
환경 변수 사용의 이점:
- 다른 환경에 솔루션을 가져오는 동안 새 매개 변수 값을 제공합니다.
- 캔버스 앱 및 흐름에 사용되는 데이터 원본에 대한 구성을 저장합니다. 예를 들어 SharePoint Online 사이트 및 목록 매개 변수는 환경 변수로 저장할 수 있습니다. 따라서 앱과 흐름을 수정할 필요 없이 서로 다른 환경의 서로 다른 사이트 및 목록에 연결할 수 있습니다.
- 사용자 지정 및 구성을 함께 패키징 및 전송하고 단일 위치에서 관리합니다.
- 다른 구성 요소에서 사용하는 자격 증명과 같은 암호 패키지 및 전송 암호는 이를 사용하는 구성 요소와 별도로 분리됩니다.
- 하나의 환경 변수는 동일한 유형의 구성 요소이든 다른 여러 솔루션 구성 요소에서 사용할 수 있습니다. 예를 들어 캔버스 앱과 흐름은 동일한 환경 변수를 사용할 수 있습니다. 환경 변수의 값을 변경해야 하는 경우 하나의 값만 변경하면 됩니다.
- 또한 프로덕션 환경에서 데이터 원본을 폐기해야 하는 경우 새 데이터 원본에 대한 정보로 환경 변수 값을 업데이트하면 됩니다. 앱과 흐름은 수정이 필요하지 않으며 새로운 데이터 원본를 사용하기 시작합니다.
- SolutionPackager와 DevOps 도구에서 지원하여 지속적인 통합 및 지속적인 제공(CI/CD)을 가능하게 합니다.
- 환경 변수는 압축을 풀고 소스 컨트롤에 저장할 수 있습니다. 다른 환경에서 필요한 별도의 구성을 위해 다른 환경 변수 값 파일을 저장할 수도 있습니다. 그러면 솔루션 패키저가 솔루션을 가져올 환경에 해당하는 파일을 승인할 수 있습니다.
환경 변수는 어떻게 작동합니까?
환경 변수는 최신 솔루션 인터페이스 내에서 생성 및 수정할 수 있으며 캔버스 앱의 특정 데이터 원본에 연결하거나 코드를 사용하여 자동으로 생성됩니다. 솔루션을 통해 환경으로 가져올 수도 있습니다. 환경 변수가 환경에 있으면 캔버스 앱을 작성할 때, Power Automate 흐름을 작성할 때, 플러그인을 개발할 때, 모델 기반 앱에 Power BI 대시보드를 추가하는 등의 기타 여러 위치에서 입력으로 사용할 수 있습니다. 이러한 유형의 개체가 환경 변수를 사용하는 경우 값은 환경 변수에서 파생되며 솔루션을 다른 환경으로 가져올 때 변경할 수 있습니다.
솔루션에 환경 변수 만들기
- Power Apps(make.powerapps.com)에 로그인하고 왼쪽 창에서 솔루션을 선택합니다. 항목이 측면 패널 창을 경우 ...자세히를 선택한 다음 원하는 항목을 선택하세요.
- 원하는 솔루션을 열거나 새 솔루션을 만듭니다.
- 명령 모음에서 새로 만들기>더 보기를 선택한 다음 환경 변수를 선택합니다.
- 오른쪽 창에서 다음 열을 완료한 다음 저장을 선택합니다.
표시 이름: 환경 변수의 이름을 입력합니다.
이름: 표시 이름에서 고유 이름이 자동으로 생성되지만 변경할 수 있습니다.
데이터 형식. 10진수, 텍스트, JSON, 두 가지 옵션, 데이터 원본 또는 암호에서 선택합니다.
참고
- 선택된 유형이 데이터 원본이면 커넥터, 선택된 커넥터에 대해 유효한 연결, 매개 변수 유형도 선택해야 합니다. 그러나 연결은 환경 변수의 일부로 저장되지 않습니다. 연결은 액세스 권한이 있는 SharePoint 사이트 또는 사이트와 연결된 목록과 같은 사용 가능한 매개 변수 값을 검색하는 데만 사용됩니다. SharePoint 목록과 같은 특정 매개 변수의 경우 SharePoint 사이트와 같은 상위 데이터 원본 환경 변수도 선택해야 합니다. 저장되면 데이터베이스에서 연결됩니다.
- 암호 유형을 선택한 경우 Power Platform에서 암호에 액세스하려면 Azure Key Vault를 설정 및 구성하기 위한 추가 정보가 필요합니다.
Current Value. 값이라고도 합니다. 선택 사항으로 환경 변수 값 테이블의 일부인 속성입니다. 값이 있으면 기본값이 있어도 사용됩니다. 다음 환경에서 사용하지 않으려면 솔루션에서 값을 제거하십시오. 값은 내보낸 solution.zip 파일 내에서 별도의 JSON 파일로 분리되며 오프라인으로 편집할 수도 있습니다. 추가 정보: 환경 변수에서 값을 어떻게 제거합니까?
기본값. 이 열은 환경 변수 정의 테이블의 일부이며 필수가 아닙니다. 현재 값이 없는 경우 기본값이 사용됩니다.
기본값과 현재 값을 분리하면 정의와 기본값을 값과 별도로 서비스할 수 있습니다. 예를 들어 애플리케이션 게시자는 기본값으로 AppSource에 제안을 등록할 수 있습니다. 그런 다음 고객은 선택적으로 새로운 값을 제공할 수 있습니다. 애플리케이션 게시자가 애플리케이션에 업데이트를 게시할 때 고객이 설정한 값을 덮어쓰지 않습니다.
참고
정의 없이는 값이 존재할 수 없습니다. 인터페이스는 정의당 하나의 값만 생성할 수 있습니다.
솔루션을 가져오는 동안 새 값 입력
최신 솔루션 가져오기 인터페이스에는 환경 변수 값을 입력하는 기능이 포함되어 있습니다. environmentvariablevalue
테이블의 값 속성을 설정합니다.
2023년 12월 7일 업데이트부터 솔루션을 가져올 때(또는 파이프라인을 사용하여 배포할 때) 모든 환경 변수 값이 표시됩니다. 기본값이나 값이 없는 환경 변수에는 값을 입력하라는 메시지가 표시되지만 그렇지 않은 경우에는 값의 소스(솔루션 값, 대상 환경 값 또는 기본값)를 나타내는 텍스트 영역 아래에 레이블이 미리 채워져 있습니다.
참고
- 경우에 따라 특정 데이터 원본 환경 변수 값의 경우 가져오기 작성자가 해당 환경 변수에 사용된 연결이나 소스에 액세스할 수 없으면 액세스 거부 경고가 나타날 수 있습니다. 이는 비차단 경고이지만 대상 환경에서 환경 변수를 어떻게 사용할 계획인지에 따라 주의해야 할 사항입니다.
- 솔루션을 내보내기 전에 솔루션에서 값을 제거할 수 있습니다. 이렇게 하면 기존 값이 개발 환경에 남아 있지만 솔루션으로 내보내지지는 않습니다. 이 방법을 통해 솔루션을 다른 환경으로 가져오는 동안 새로운 값을 제공할 수 있습니다. 추가 정보: 환경 변수에서 값을 어떻게 제거합니까?
알림
환경 변수에 값이 없으면 알림이 표시됩니다. 환경 변수에 종속된 구성 요소가 실패하지 않도록 값을 설정하라는 알림입니다.
보안
environmentvariabledefinition
테이블은 사용자 또는 팀이 담당합니다. 환경 변수를 사용하는 응용 프로그램을 만들 때 사용자에게 이 테이블에 대한 적절한 권한 수준을 할당해야 합니다. environmentvariablevalue
테이블에 대한 권한은 상위 environmentvariabledefinition
테이블에서 상속되므로 별도의 권한이 필요하지 않습니다. environmentvariabledefinition
테이블에 대한 권한은 기본적으로 환경 제작자 및 기본 사용자 보안 역할에 포함됩니다. 추가 정보: Dataverse의 보안.
이름 지정
환경 변수 이름이 고유해야 정확하게 참조할 수 있습니다. 중복된 환경 변수 표시 이름은 환경 변수를 구별하고 사용하기 어렵게 만듭니다. 환경 변수 이름이 고유해야 정확하게 참조할 수 있습니다. $authentication과 $connection은 흐름을 위해 특별히 예약된 매개 변수이므로 피해야 합니다. 해당 이름의 환경 변수를 사용하는 경우 흐름 저장이 차단됩니다. 환경 변수가 흐름에서 사용되고 환경 변수의 표시 이름가 변경된 경우 디자이너는 식별을 돕기 위해 이전 및 새 표시 이름 토큰을 모두 표시합니다. 흐름을 업데이트할 때 환경 변수 참조를 제거하고 다시 추가하는 것이 좋습니다.
현재 제한 사항
- 환경 변수 값의 유효성 검사는 Dataverse 내에서가 아닌 사용자 인터페이스 및 이를 사용하는 구성 요소 내에서 진행됩니다. 따라서 코드를 통해 수정되는 경우 적절한 값이 설정되었는지 확인합니다.
- Power Platform 빌드 도구 작업은 데이터 원본 환경 변수 관리에 아직 사용할 수 없습니다. 그러나 Microsoft에서 제공하는 도구 및 원본 제어 시스템 내에서는 사용할 수 있습니다.
- 사용자 지정 코드를 통해 환경 변수와 상호 작용하려면 값을 가져오기위한 API 호출이 필요합니다. 비Microsoft 코드를 사용하기 위해 노출된 캐시가 없습니다.
- SharePoint 목록에서 환경 변수를 성공적으로 사용하려면 원본 및 대상 환경의 각 해당 열에 대한 표시 이름과 논리적 이름이 있어야 합니다.
- 환경 변수는 최대 2,000자로 제한됩니다.
자주 묻는 질문
내 환경 변수의 값을 볼 수 없는 이유는 무엇입니까?
환경 변수가 관리형 솔루션에 있는 경우 기본 솔루션 내부를 살펴보지 않으면 값을 볼 수 없습니다. 환경 변수 값은 관리되지 않는 사용자 지정이므로 이 동작은 의도적으로 설계된 것입니다.
환경 변수가 사용되는 위치를 어떻게 볼 수 있습니까?
구성 요소를 작성하는 동안 솔루션 인터페이스에서 종속성 표시를 선택하거나 앱 또는 흐름 메타데이터를 확인하여 소스 제어 및 솔루션 파일에서 볼 수 있습니다.
데이터 원본 환경 변수는 연결과 동일합니까?
아니요 서로 관련되어 있지만 연결은 커넥터와 상호 작용하는 데 필요한 자격 증명 또는 인증을 나타냅니다. 데이터 원본 환경 변수는 커넥터에서 하나 이상의 조치에 필요한 매개 변수를 저장하며 이러한 매개 변수는 종종 작업에 따라 다릅니다. 예를 들어 SharePoint Online 연결은 사이트, 목록 또는 문서 라이브러리에 대한 정보를 저장하지 않습니다. 따라서 커넥터를 호출하려면 유효한 연결과 일부 추가 매개 변수가 모두 필요합니다.
데이터 원본 환경 변수를 SQL 인증을 사용하는 SQL Server와 같은 공유 연결에 사용할 수 있습니까?
일반적으로 아닙니다. SQL Server와의 공유 연결은 연결 내의 데이터에 연결하는 데 필요한 매개 변수를 저장합니다. 예를 들어 서버 및 데이터베이스 이름은 연결을 만들 때 제공되므로 항상 연결에서 파생됩니다.
데이터 원본 환경 변수는 Microsoft Entra ID와 같은 사용자 기반 인증에 의존하는 커넥터에 사용됩니다. 매개 변수가 연결에서 파생될 수 없기 때문입니다. 이러한 이유로 공유 연결인 SQL Server를 사용한 인증은 데이터 원본 환경 변수를 사용하지 않습니다.
자동화된 ALM 파이프라인이 환경마다 다른 값 파일을 사용할 수 있습니까?
예. 솔루션 패키저는 파일 이름을 입력 매개 변수로 허용하므로 파이프라인은 실행 중인 환경 유형에 따라 솔루션에 다른 값 파일을 압축할 수 있습니다.
솔루션에 값을 포함해야 합니까?
아니요 환경 변수는 솔루션이 배포되는 여러 환경에서 서로 다른 값을 가져야 하는 애플리케이션에서 사용하기 위한 것입니다. 환경 변수 정의는 솔루션에 포함되어야 하지만 배포 중에 대상 환경에 대한 값을 제공해야 합니다. 이 동작으로 인해 환경 변수 정의는 대상 환경에서 관리형 솔루션 개체가 되고 환경 변수는 비관리형 레코드가 됩니다.
내 환경에서 값을 삭제할 수 없는 이유는 무엇입니까?
값이 관리형 솔루션에 포함된 경우 값을 삭제하는 유일한 방법은 원본 환경에서 솔루션을 업데이트하여 값을 제외한 다음 새 버전의 솔루션을 내보내는 것입니다. 그런 다음 업그레이드 작업(업데이트 아님)을 사용하여 이 새 버전을 환경으로 가져올 수 있으며, 그 결과 값 레코드가 삭제됩니다.
누군가 실수로 값을 삭제하면 어떻게 됩니까?
종속성 시스템에 의해 차단되지 않은 경우 런타임은 마지막으로 알려진 값을 대체로 사용합니다.
값이 변경되면 새 값이 캔버스 앱 및 클라우드 흐름에서 언제 사용됩니까?
값이 앱에 푸시되고 비동기적으로 흐르기 때문에 업데이트된 환경 변수를 완전히 게시하는 데 최대 1시간이 걸릴 수 있습니다.
프리미엄 라이선스가 필요합니까?
아니요 ALM에는 Dataverse(또는 Dynamics 365 앱)이 필요하지만 프리미엄 커넥터를 사용할 필요는 없습니다. 한 가지 주의할 점은 거래처 또는 연락처와 같은 다른 데이터 레코드와 마찬가지로 환경 변수와 상호 작용하기 위해 Dataverse 커넥터를 사용하는 경우입니다. 이전에는 이것이 캔버스 앱 및 흐름에서 환경 변수를 사용하는 유일한 방법이었습니다.
보유할 수 있는 환경 변수의 수에 제한이 있습니까?
아니요 그러나 솔루션의 최대 크기는 95MB입니다. 추가 정보: 솔루션 만들기
환경 변수 표시 이름과 설명을 현지화할 수 있습니까?
예.
사용자 지정 테이블에 구성 데이터를 저장하는 대신 환경 변수를 사용해야 합니까?
구성 데이터가 관계형이 아닌 경우 그렇습니다. 환경 변수는 키: 값 쌍과 값이 다른 환경에서 달라야 할 가능성이 있는 경우에 사용해야 합니다. 구성 마이그레이션 유틸리티와 같은 다른 도구는 사용자 지정 테이블에 저장된 관계형 구성 데이터의 마이그레이션에 더 적합합니다. 다른 구성 데이터와 달리 환경 변수는 솔루션 내에서 마이그레이션되므로 관리가 훨씬 간단하고 가져오기 성능이 향상됩니다.
데이터 원본 환경 변수에 대한 연결이 저장되지 않는 이유는 무엇입니까?
연결은 사용자 인터페이스를 생성하는 데만 사용됩니다. 예를 들어 사이트와 연결된 SharePoint 목록의 이름을 검색할 수 있습니다. 데이터 원본 환경 변수를 편집할 때는 데이터 원본에 액세스할 수 있는 연결을 선택해야 합니다. 연결에 더 이상 액세스할 수 없는 경우 값을 수동으로 입력할 수 있습니다. 예를 들어 목록의 SharePoint 사이트 URL 또는 GUID(고유 식별자)를 입력합니다.
단일(데이터 원본 유형) 환경 변수에 사용할 수 있는 연결이 여러 개 있는 경우 연결 목록에서 첫 번째 연결을 선택하는 설계상 구현이 있습니다. 일반적으로 환경 변수와 관련된 연결은 하나만 있기 때문에 일반적으로 유효성을 검사할 필요가 없습니다. 또한 환경 변수 값 가시성에 대한 최근 변경으로 인해 가져올 때 유효성을 검사하기가 더 쉬워졌습니다.
환경 변수에서 값을 어떻게 제거합니까?
솔루션을 내보내기 전에 솔루션에서 환경 변수 값을 제거할 수 있습니다. 그러면 기존 값이 개발 환경에 유지되지만 솔루션에서는 내보내지지 않습니다. 이 접근 방식을 사용하면 솔루션을 다른 환경으로 가져오는 동안 새로운 가치를 제공할 수 있습니다.
값을 제거하려면 다음 단계를 따르세요.
환경 변수가 있는 솔루션에서 환경 변수를 선택하여 속성을 표시합니다.
현재 값에서 ...>이 솔루션에서 제거를 선택합니다.
사용자 지정 커넥터에서 환경 변수를 사용할 수 있습니까?
참조 항목
캔버스 앱에서 데이터 원본 환경 변수 사용
Power Automate 솔루션 클라우드 흐름에 환경 변수 사용
EnvironmentVariableDefinition 테이블/엔터티 참조
웹 API 샘플
캔버스 앱에서 데이터 원본 환경 변수 사용
Power Automate 솔루션 클라우드 흐름에서 환경 변수 사용
Azure Key Vault 비밀 사용
사용자 지정 커넥터의 환경 변수 지원
Power Apps 블로그: 프리뷰에서 사용할 수 있는 환경 변수!