이 문서에서는 Microsoft Fabric ALM(애플리케이션 수명 주기 관리) 기능의 일부로 Git 통합 및 배포 파이프라인을 사용하여 Fabric 데이터 에이전트를 관리하는 방법을 설명합니다. 작업 영역을 Git 리포지토리에 연결하는 방법을 알아봅니다. 데이터 에이전트 구성을 추적하고 버전 지정하는 방법도 알아봅니다. 마지막으로 개발, 테스트 및 프로덕션 환경에서 업데이트를 배포하는 방법을 알아봅니다. Git 통합 및 배포 파이프라인을 사용하면 데이터 에이전트 변경 내용의 CI/CD(연속 통합 및 연속 배포)가 가능하므로 ALM 워크플로의 일부로 업데이트를 자동으로 테스트하고 승격할 수 있습니다. Fabric 데이터 에이전트에 대한 소스 제어는 현재 미리 보기로 제공됩니다.
두 가지 보완 방법을 사용하여 Fabric 데이터 에이전트에 대한 ALM을 지원할 수 있습니다.
- Git 통합: Git 리포지토리(Azure DevOps 또는 git 공급자로 GitHub)와 전체 작업 영역을 동기화하여 Fabric 데이터 에이전트를 포함한 개별 항목에 대한 버전 제어, 분기를 통한 공동 작업 및 기록 추적을 사용하도록 설정합니다.
- 배포 파이프라인: 기본 제공 파이프라인을 사용하여 개발, 테스트 및 프로덕션 단계를 나타내는 별도의 작업 영역 간에 콘텐츠를 승격합니다.
이러한 기능은 함께 Fabric 데이터 에이전트에 대한 엔드투엔드 ALM 지원을 제공합니다.
필수 조건
- F2 이상의 유료 Fabric 용량 또는 Power BI 프리미엄(P1 이상) 용량에 Microsoft Fabric이 활성화된 용량.
- 패브릭 데이터 에이전트 테넌트 설정에 설명된 요구 사항에 따라 AI에 대해 지역 간 처리 및 지역 간 저장을 사용하도록 설정합니다.
- 적어도 데이터가 있는 다음 데이터 원본 중 하나 이상: 웨어하우스, 레이크하우스, Power BI 의미 체계 모델, KQL 데이터베이스, 미러된 데이터베이스 또는 온톨로지. 데이터 원본에 대한 읽기 권한이 있어야 합니다.
Git 통합
Microsoft Fabric Git 통합은 Fabric 작업 영역을 Git 리포지토리와 동기화하므로 Fabric 플랫폼에서 직접 기존 개발 프로세스, 도구 및 모범 사례를 사용할 수 있습니다. Azure DevOps 및 GitHub 지원하며 작업 영역 수준에서 사용할 수 있습니다. 데이터 에이전트 구성에 대한 업데이트를 포함하여 Fabric 변경 내용을 커밋하면 해당 변경 내용이 연결된 Git 리포지토리에 파일로 저장됩니다. 주요 기능은 다음과 같습니다.
- 작업 영역 항목의 전체 백업 및 버전 제어
- Git의 폴더 구조는 작업 영역 구조를 미러링합니다.
- 데이터 에이전트 구성(스키마 선택, AI 지침, 데이터 원본 지침, 예제 쿼리)은 전용 폴더의 구조적 파일에 저장됩니다.
- 데이터 에이전트를 비롯한 여러 작업 영역 항목에 대한 기록을 통해 차이점을 보고, 기록을 검토하고, 이전 상태로 되돌릴 수 있는 기능
- 분기 기반 공동 작업(기능 분기, 기본)
최신 Git 통합 향상
Fabric Git 통합은 이제 선택적 분기를 지원하므로 작업 영역 수준에서 연결된 분기를 기능 분기 워크플로에 맞게 전환할 수 있습니다. 또한 소스 제어 창에는 항목 변경에 대한 내장 차이 확인 기능이 있어 업데이트를 커밋, 풀하기 전에 변경된 내용을 정확히 검토할 수 있습니다. 분기된 작업 영역은 Fabric UI에 더 명확하게 표시되므로 각 작업 영역이 연결된 분기를 더 쉽게 식별할 수 있습니다.
Git 통합 프로세스에 대한 자세한 내용은 다음 리소스를 참조하세요.
소스 제어에 대한 연결 설정
Fabric 작업 영역을 Workspace 설정 페이지에서 Git 리포지토리에 연결할 수 있습니다. 이 연결을 사용하면 Fabric 직접 변경 내용을 커밋하고 동기화할 수 있습니다.
Azure DevOps 또는 GitHub Git 리포지토리에 연결하는 자세한 단계는 Git 통합 시작을 참조하세요.
Git 리포지토리에 연결한 후 Fabric 데이터 에이전트를 포함한 작업 영역 항목이 소스 제어판에 표시됩니다. 왼쪽 아래의 상태 표시줄에서 연결된 분기의 이름, 마지막 동기화 시간 및 Git 커밋 ID를 볼 수 있습니다.
- 연결된 Git 리포지토리에는 Fabric 데이터 에이전트 및 해당 구성 파일을 포함하여 작업 영역 항목을 나타내는 폴더 구조가 표시됩니다. 각 데이터 에이전트는 자체 폴더에 저장되므로 변경 내용을 검토하고, 버전 기록을 추적하고, 업데이트를 주 분기에 병합하기 위한 끌어오기 요청 만들기와 같은 Git 워크플로를 사용할 수 있습니다.
Git 연결 작업 영역에서 Fabric 데이터 에이전트를 수정하면 변경 내용이 검색되고 소스 제어 창에서 데이터 에이전트의 상태가 커밋되지 않은 변경 내용으로 변경됩니다. 이러한 수정 사항에는 다음이 포함될 수 있습니다.
- 스키마 선택 변경
- AI 지침 또는 데이터 원본 지침을 업데이트합니다.
- 예제 쿼리 편집
- 데이터 에이전트를 게시하거나 게시 설명을 업데이트합니다.
기능적 또는 설명적 변경으로 인해 데이터 에이전트가 연결된 Git 리포지토리와 동기화되지 않습니다. 변경 내용이 있는 작업 영역 항목이 원본 제어 창의 변경 내용 탭 아래에 표시됩니다. 이러한 변경 내용을 검토하고 커밋된 버전과 비교한 다음 Git 리포지토리로 다시 커밋하여 동기화할 수 있습니다.
- 연결된 Git 리포지토리(Azure DevOps 또는 GitHub)에서 직접 업데이트하는 경우 AI 지침 수정, 예제 쿼리 변경 또는 게시 설명 편집과 같은 작업을 포함할 수 있습니다. 그런 다음, 해당 변경 내용을 커밋하고 리포지토리에 푸시할 수 있습니다. 업데이트가 푸시되고 리포지토리에서 사용할 수 있게 되면 Fabric 작업 영역에서 업데이트를 검색하고 소스 제어 창에 사용 가능한 업데이트 알림을 표시합니다. 데이터 에이전트와 같은 업데이트된 항목은 업데이트 탭 아래에 표시되며, 여기서 검토하고 수락할 수 있습니다. 이러한 업데이트를 수락하면 작업 영역 항목에 리포지토리 변경 내용이 적용되어 작업 영역이 Git의 커밋된 최신 버전을 반영하도록 합니다.
Git 리포지토리의 폴더 및 파일 구조
다음에서는 데이터 에이전트의 구성이 Git 리포지토리에 저장되는 방식의 구조를 검토합니다. 이 구조를 이해하는 것은 변경 내용을 관리하고 모범 사례를 따르는 데 중요합니다. 기능 분기를 사용할 때는 작업 영역에 연결된 분기에서 변경하고, 소스 제어 창에서 변경 사항을 검토하며, 제어된 승격을 위해 끌어오기 요청을 통해 병합합니다. 데이터 에이전트의 파일 및 구성 구조는 분기 간에 동일하게 유지됩니다.
루트 구조체
루트에서 데이터 에이전트 콘텐츠는 파일 폴더 아래에 저장됩니다. 파일 안에는 구성 폴더가 있으며 그 안에 data_agent.json, publish_info.json, 초안 폴더, 및 게시된 폴더가 포함되어 있습니다.
구성 폴더 내에서 publish_info.json 데이터 에이전트에 대한 게시 설명을 포함합니다. 데이터 에이전트가 게시될 때 표시되는 설명을 변경하도록 이 파일을 업데이트할 수 있습니다.
초안 폴더에는 데이터 에이전트의 초안 버전에 해당하는 구성 파일이 포함되고 게시된 폴더에는 게시된 버전의 데이터 에이전트에 대한 구성 파일이 포함됩니다. 초안 폴더에는 다음이 포함됩니다.
- 데이터 에이전트에서 사용하는 각 데이터 원본에 대해 하나의 폴더가 있는 데이터 원본 폴더입니다.
-
Lakehouse 또는 웨어하우스 데이터 원본: 폴더 이름이 레이크하우스 또는 웨어하우스의 이름으로 시작
lakehouse-tables-하거나warehouse-tables-그 뒤에 잇습니다. -
의미 체계 모델 데이터 원본: 폴더 이름이 의미 체계 모델의 이름 뒤에 나오는 것으로 시작
semantic-model-합니다. -
KQL 데이터베이스 데이터 원본: 폴더 이름은 KQL 데이터베이스의 이름 뒤에 있는 이름으로 시작
kusto-합니다. -
온톨로지 데이터 원본: 폴더 이름부터 시작하여 온톨로
ontology-지의 이름으로 시작합니다.
-
Lakehouse 또는 웨어하우스 데이터 원본: 폴더 이름이 레이크하우스 또는 웨어하우스의 이름으로 시작
-
stage_config.json에는 에이전트 지침을 나타내는
aiInstructions이(가) 포함되어 있습니다.
각 데이터 원본 폴더에는 datasource.json 및 fewshots.json포함됩니다. 그러나 데이터 원본이 의미 체계 모델인 경우 예제 쿼리를 지원하지 않으므로 해당 폴더에는 datasource.json만 포함됩니다.
datasource.json 다음을 포함하여 해당 데이터 원본에 대한 구성을 정의합니다.
dataSourceInstructions- 해당 데이터 원본에 대해 제공된 지침을 나타냅니다.displayName데이터 원본의 이름을 표시하는 입니다.elements는 스키마 맵을 참조하며 데이터 원본의 테이블 및 열의 전체 목록을 포함하는 내용입니다.- 각 테이블에는 속성이 있습니다
is_selected. 테이블이 포함된 경우truefalse테이블이 선택되지 않고 데이터 에이전트에서 사용되지 않음을 의미합니다. - 열 항목에는
is_selected가 표시되지만, 열 수준 선택은 현재 지원되지 않습니다. 테이블을 선택하면 열 값에 관계없이 모든 열is_selected이 포함됩니다. 테이블이 선택되지 않은 경우(is_selected: 테이블false수준에서), 열 수준에서is_selectedtrue로 설정된 상태에도 불구하고 어떤 열도 고려되지 않습니다.
- 각 테이블에는 속성이 있습니다
형식 규칙:
- 형식이 데이터 원본인 경우 단순히 데이터 원본 형식(예:
"type": "lakehouse_tables")입니다. - 형식이 테이블이면 (예:
.table)로"type": "lakehouse_tables.table"끝납니다. - 형식이 열이면
.column로 끝납니다(예:"type": "lakehouse_tables.column").
- 형식이 데이터 원본인 경우 단순히 데이터 원본 형식(예:
fewshots.json 데이터 원본에 대한 예제 쿼리를 저장합니다. 각 항목에는 다음이 포함됩니다.
-
id예제 쿼리에 대한 고유 식별자입니다. -
question- 자연어 질문을 참조합니다. -
query는 데이터 원본 형식에 따라 SQL 또는 KQL일 수 있는 쿼리 텍스트를 표시합니다.
게시된 폴더는 초안 폴더의 구조를 미러링하지만 게시된 버전의 데이터 에이전트를 나타냅니다. 게시된 폴더의 파일을 직접 수정하지 않는 것이 좋습니다. 초안 폴더에서 변경해야 합니다. 데이터 에이전트가 게시되면 해당 변경 내용이 게시된 폴더에 반영됩니다. 이렇게 하면 게시된 버전이 항상 제어된 초안 상태에서 생성됩니다.
데이터 에이전트에 대한 배포 파이프라인
배포 파이프라인은 다양한 수명 주기 단계에 매핑된 작업 영역 간에 데이터 에이전트를 이동하는 제어된 방법을 제공합니다. 다음은 그 예입니다.
- 새 데이터 에이전트를 개발하거나 개발 작업 영역에서 기존 데이터 에이전트를 업데이트합니다.
- 유효성 검사를 위해 변경 내용을 테스트 워크스페이스에 반영합니다.
- 테스트된 변경 내용을 최종 사용자가 사용할 수 있는 프로덕션 작업 영역으로 승격합니다.
배포하기 전에 배포 파이프라인의 각 단계인 개발, 테스트 및 프로덕션에 작업 영역을 할당해야 합니다. 테스트 또는 프로덕션 단계에 작업 영역을 할당하지 않으면 작업 영역이 자동으로 만들어집니다. 자동으로 생성된 작업 영역의 이름은 [test] 또는 [prod]가 추가된 개발 작업 영역의 이름을 따서 지정됩니다.
변경 내용을 배포하려면 다음을 수행합니다.
- 파이프라인에서 배포하려는 단계(예: 개발)로 이동합니다.
- 배포하려는 작업 영역에서 항목을 선택합니다.
- 배포를 선택하여 다음 단계로 승격합니다.
변경 내용을 적용하기 전에 배포 계획을 검토하여 의도한 업데이트만 승격되도록 할 수 있습니다. 자세한 내용은 배포 파이프라인 시작을 참조하세요.
Azure DevOps Pipelines를 사용하여 CI/CD 자동화
Fabric용 Azure DevOps 파이프라인 확장은 Azure DevOps 파이프라인 작업에서 Fabric CLI 명령을 실행하는 네이티브 작업을 제공합니다. Teams는 배포 파이프라인과 함께 또는 Fabric 대신 CLI와 함께 Azure DevOps 사용하여 데이터 에이전트 업데이트를 위해 CI/CD를 오케스트레이션할 수 있습니다. 시작하려면 Visual Studio Marketplace에서 확장을 설치하고, Azure DevOps 프로젝트에서 서비스 연결을 설정하고, 파이프라인 정의에 Fabric CLI 작업을 추가합니다.
일괄 처리 API를 통한 대량 동기화(미리 보기)
항목 정의 가져오기/내보내기 일괄 처리 API(미리 보기)는 데이터 에이전트 구성을 포함하여 항목 정의의 대규모 동기화를 위한 옵션을 제공합니다. 데이터 에이전트 정의를 일괄 처리로 내보내고 가져와 환경 간 승격을 간소화할 수 있습니다. 자세한 내용은 Fabric REST API 설명서 참조하세요.
비고
서비스 주체는 ALM 시나리오의 일부로서 Fabric 데이터 에이전트만 지원됩니다. 이 지원은 ALM 작업(예: Git 통합 및 배포 파이프라인)을 사용하도록 설정하도록 제한되며 다른 Fabric 데이터 에이전트 기능으로 확장되지 않습니다. ALM 워크플로 외부에서 데이터 에이전트와 상호 작용해야 하는 경우 서비스 주체는 지원되지 않습니다.
배포 파이프라인에 대한 Fabric 데이터 에이전트 게시
Fabric 데이터 에이전트를 게시하면 Power BI의 Copilot, Microsoft Copilot Studio, Foundry 도구를 포함한 다양한 소비 채널에서 사용할 수 있게 됩니다. 이러한 채널에서 데이터 에이전트를 평가하고 사용하려면 데이터 에이전트를 게시해야 합니다. 게시되지 않은 데이터 에이전트는 프로덕션 작업 영역에 있더라도 사용할 수 없습니다. 배포 파이프라인에 따라 모범 사례를 따르려면 다음 사항에 유의하세요.
- 개발 작업 영역에서 게시는 데이터 에이전트 개발에 작업하고 다양한 소비 채널에서 성능을 평가하려는 권한 있는 사용자로만 제한되어야 합니다. 미완성 또는 실험적 데이터 에이전트가 광범위한 대상 그룹에 노출되지 않도록 이 작업 영역에 대한 액세스를 제한해야 합니다.
- 최종 사용자는 프로덕션 작업 영역에서만 게시된 데이터 에이전트에 액세스하여 안정적이고 승인된 버전의 데이터 에이전트와 상호 작용해야 합니다.
이 방법은 소비 및 성능 평가를 사용하도록 설정하는 기능 요구 사항을 모두 지원하며 개발 및 프로덕션 환경을 별도로 유지하여 적절한 액세스 제어를 보장합니다.
모범 사례
- 데이터 에이전트의 개발 작업에 전용 분기를 사용하고 코드 검토 후 기본으로 병합합니다.
- 더 쉽게 승격할 수 있도록 관련 리소스(데이터 원본, 데이터 에이전트, Notebook, 파이프라인)를 동일한 작업 영역에 유지합니다.
- 프로덕션으로 승격하기 전에 테스트 작업 영역에서 데이터 에이전트 변경 내용을 테스트합니다.
- 설명이 포함된 커밋 메시지를 사용하여 기록을 더 쉽게 이해할 수 있습니다.
- Git 리포지토리에서 게시된 폴더를 직접 변경하지 마세요.
- 환경 중립적 구성 패턴(예: 지원되는 경우 변수 라이브러리를 통한 연결 참조)을 사용하여 데이터 에이전트 데이터 원본 구성에서 환경별 값의 하드코딩을 방지합니다. 이 방법을 사용하면 개발, 테스트 및 프로덕션 전반에 걸쳐 보다 원활한 분기 병합 및 배포가 용이합니다.
제한 사항 및 고려 사항
- Git 리포지토리에 연결된 작업 영역만 Git 기반 ALM 기능을 사용할 수 있습니다.
- 서비스 주체는 ALM 시나리오의 일부로만 Fabric 데이터 에이전트에서 지원됩니다. ALM 워크플로 외부에서 데이터 에이전트와 상호 작용해야 하는 경우 서비스 주체는 지원되지 않습니다.
- 배포 파이프라인을 사용하려면 원본 및 대상 작업 영역이 동일한 테넌트에 있어야 합니다.
- 자주 커밋하는 경우가 많을 경우 리포지토리 크기 및 성능에 영향을 미칠 수 있습니다.