Fabric의 API for GraphQL을 통해 Lakehouse, Warehouse, SQL 데이터베이스, KQL 데이터베이스를 조회하도록 앱을 Microsoft Fabric에 연결합니다.
Microsoft Fabric에 앱 연결하기
Fabric의 API for GraphQL을 통해 미러링된 데이터베이스를 포함한 Lakehouse, Warehouse, SQL 데이터베이스, KQL 데이터베이스를 조회하도록 앱을 Microsoft Fabric에 연결합니다.
Microsoft Fabric은 Lakehouse, Warehouse, SQL 데이터베이스, 실시간 분석을 위한 Microsoft의 통합 데이터 플랫폼입니다. Microsoft Fabric connector는 데이터가 Lakehouse, Warehouse, SQL 데이터베이스 또는 Snowflake 미러에 있든 관계없이 Fabric API for GraphQL 항목에 연결된 모든 데이터 앞에 하나의 GraphQL endpoint를 제공합니다.
Microsoft Fabric은 app + chat connector로 제공됩니다. 하나의 공유 연결을 빌드 중 채팅과 게시된 앱 모두에서 사용할 수 있습니다.
Microsoft Fabric을 사용하면 앱에서 다음을 수행할 수 있습니다.
- 하나의 GraphQL endpoint를 통해 Fabric Lakehouse, Warehouse, SQL 데이터베이스의 데이터를 조회합니다.
- 소스별 driver를 관리하지 않고 미러링된 데이터베이스(Azure SQL, Cosmos DB, Snowflake, Databricks)를 조회합니다.
- GraphQL mutation을 통해 SQL 데이터베이스의 테이블과 뷰에서 행을 생성·수정·삭제하고 stored procedure를 호출합니다.
- 구성된 일대일, 일대다, 다대다 관계를 통해 한 번의 요청으로 관련 데이터를 가져옵니다.
인증에는 Microsoft Entra service principal을 사용합니다. 자격 증명은 Lovable gateway에 안전하게 저장되며 브라우저나 앱의 frontend 코드에 노출되지 않습니다.
일반적인 사용 사례와 앱 예시
| 앱 예시 | 프롬프트 예시 | 설명 |
|---|---|---|
| Warehouse 운영 대시보드 | Microsoft Fabric을 사용하여 Warehouse에서 일일 주문, 처리 상태, 재고 수준을 조회하는 운영 대시보드를 만들어 주세요. | Warehouse 데이터를 실시간으로 보여줍니다. 앱이 GraphQL을 통해 Warehouse를 조회하고 수동 내보내기 없이 지표를 최신 상태로 유지합니다. |
| 내부 CRUD 도구 | Microsoft Fabric을 사용하여 지원팀이 Fabric SQL 데이터베이스에서 고객 레코드를 조회, 생성, 수정할 수 있는 내부 도구를 만들어 주세요. | 데이터베이스 접근 권한을 직접 부여하지 않고 운영 레코드를 관리합니다. 앱이 GraphQL 쿼리와 mutation을 통해 Fabric SQL 데이터베이스의 행을 읽고 씁니다. |
| 교차 소스 계정 뷰 | Microsoft Fabric을 사용하여 미러링된 Snowflake 매출 데이터와 Lakehouse의 제품 테이블을 결합하는 앱을 만들어 주세요. | 미러링된 데이터와 Fabric 네이티브 데이터를 한 앱에서 결합합니다. 앱이 소스별 driver나 추가 연결 없이 동일한 GraphQL endpoint를 통해 두 소스를 가져옵니다. |
| KQL telemetry viewer | Microsoft Fabric을 사용하여 KQL 데이터베이스의 최근 event를 읽고 서비스별 오류율을 차트로 표시하는 telemetry viewer를 만들어 주세요. | 팀에 실시간 telemetry를 읽기 전용으로 제공합니다. 앱이 API for GraphQL 항목을 통해 KQL 데이터베이스를 조회하고 결과를 차트로 렌더링합니다. |
| Stored procedure 주문 입력 | Microsoft Fabric을 사용하여 Warehouse의 RegisterOrder stored procedure를 통해 각 주문을 제출하는 주문 입력 form을 만들어 주세요. | 서버 측 로직을 통해 쓰기 작업을 처리합니다. 앱이 stored procedure를 GraphQL mutation으로 호출하므로 검증과 생성된 ID가 데이터베이스에 유지됩니다. |
Microsoft Fabric 연결의 작동 방식
Connector는 Fabric workspace의 단일 API for GraphQL 항목과 통신합니다. 해당 항목에 추가한 테이블, 뷰, 관계가 앱에서 조회할 수 있는 GraphQL type이 되므로, 항목을 만들고 데이터를 추가하는 작업이 먼저 필요합니다.
인증은 Microsoft Entra service principal의 OAuth2 client credentials를 사용합니다. Lovable은 service principal의 자격 증명을 범위가 https://api.fabric.microsoft.com/.default인 Fabric token으로 교환합니다. 따라서 연결은 Fabric에서 service principal에 부여한 작업만 수행할 수 있습니다.
데이터 접근에 미치는 영향
Service principal의 권한에 따라 연결을 사용하는 모든 사용자가 접근할 수 있는 데이터가 결정됩니다. 사용자별 Microsoft login은 없으며, 연결을 사용하는 모든 앱과 builder가 동일한 principal로 Fabric을 조회합니다. 접근을 분리하려면 각각 별도의 Lovable 연결을 사용하는 service principal 또는 API for GraphQL 항목을 따로 만드세요.
Microsoft Fabric은 안전한 자격 증명 처리와 자동 token 갱신을 위해 Lovable의 gateway architecture를 사용합니다. 인증 및 사용량 제한에 관한 자세한 내용은 Gateway 기반 connector를 참고하세요.
이 connector를 통한 모든 쿼리는 사용자의 service principal로 자체 Microsoft Fabric 환경에서 실행됩니다. Fabric 사용량, 할당량, 청구는 Lovable이 아닌 Microsoft에서 직접 관리합니다.
Microsoft Fabric 연결하기
Microsoft Fabric 연결을 만들 수 있는 사용자는 플랜과 workspace 설정에 따라 달라집니다. Free, Pro, Business 플랜에서는 app + chat connector가 기본으로 제공됩니다. Enterprise 플랜에서는 처음에 사실상 비활성화되어 있습니다. Admin이 Connectors → Admin settings → App + chat connectors에서 변경하기 전까지 연결과 client를 만들 수 있는 사용자의 기본값이 No one이기 때문입니다.
사전 준비
연결하기 전에 다음을 준비하세요.
- 사용할 Lakehouse, Warehouse, SQL 데이터베이스 또는 KQL 데이터베이스 데이터가 추가된 API for GraphQL 항목이 있는 Microsoft Fabric workspace
- Microsoft Entra service principal과 client secret
- 아직 활성화되지 않았다면 Service principals can use Fabric APIs를 활성화할 수 있는 Fabric tenant admin
- API for GraphQL 항목에 활성화된 Introspection(Fabric workspace admin이 활성화할 수 있음)
- Lovable workspace에서 연결 생성 권한(연결과 client를 만들 수 있는 사용자 참고)
1단계: Microsoft Entra 및 Fabric 설정하기
1단계는 Microsoft Entra에서 service principal을 만들고 Fabric에서 API for GraphQL 항목을 준비하는 두 부분으로 이루어집니다. 두 작업이 모두 완료되어야 앱을 연결할 수 있습니다.
Microsoft Entra에서 service principal 만들기
애플리케이션 등록
Microsoft Entra admin center에 로그인하여 새 애플리케이션을 등록하거나 기존 애플리케이션을 재사용합니다. Microsoft의 Microsoft Entra 애플리케이션 및 service principal 만들기 가이드를 참고하세요.
Tenant ID와 client ID 기록
앱의 Overview 페이지에서 Directory (tenant) ID와 Application (client) ID를 복사합니다. 두 값 모두 2단계에서 Lovable에 입력합니다.
Client secret 만들기
Certificates & secrets → New client secret으로 이동해 secret value를 즉시 복사합니다. Microsoft는 이 값을 한 번만 표시합니다. 이 값은 비밀번호와 같으므로 안전하게 보관하세요. 선택한 만료일도 기록하세요. Secret이 만료되면 새 secret을 만들고 Lovable 연결을 업데이트할 때까지 연결이 작동하지 않습니다.
Fabric에서 API for GraphQL 항목 준비하기
Service principal의 Fabric API 사용 허용
Fabric tenant admin에게 Admin portal → Tenant settings → Developer settings를 열고 앱 또는 앱이 포함된 security group에 대해 Service principals can use Fabric APIs를 활성화해 달라고 요청합니다. 이 설정이 없으면 Fabric이 service principal의 모든 요청을 거부합니다.
API for GraphQL 항목 생성 또는 열기
Fabric workspace에서 API for GraphQL 항목을 만들거나 기존 항목을 열고, 앱에 필요한 Lakehouse, Warehouse, SQL 데이터베이스 또는 KQL 데이터베이스 데이터를 추가합니다. 이 항목에 추가된 데이터만 connector를 통해 조회할 수 있습니다.
Service principal 접근 권한 부여
API for GraphQL 항목을 service principal과 공유하고 Run Queries and Mutations 권한을 부여합니다. API가 single sign-on(SSO) 연결을 통해 데이터 소스에 연결된다면 기반 데이터 소스에 principal의 읽기 권한도 부여하고, 앱에서 mutation을 실행한다면 쓰기 권한도 부여합니다.
Introspection 활성화
API for GraphQL 항목에서 API settings → Introspection(항목 상단 메뉴의 gear icon)으로 이동하여 활성화하고 확인합니다. Fabric workspace admin만 이 설정을 변경할 수 있습니다.
Fabric에서는 introspection이 기본으로 꺼져 있으며, 이 connector는 introspection 없이는 작동하지 않습니다. Lovable은 새 연결마다 GraphQL introspection 쿼리를 실행하여 확인하고, Lovable agent는 빌드 중 스키마를 파악하는 데 introspection을 사용합니다. Introspection을 꺼 두면 Connect를 클릭하는 즉시 연결에 실패합니다.
Endpoint URL 복사
API for GraphQL 항목에서 공개 GraphQL endpoint URL을 복사합니다. URL은 https://api.fabric.microsoft.com/v1/workspaces/<workspace-id>/graphqlapis/<api-id>/graphql과 같은 형식이며 항상 /graphql로 끝납니다.
2단계: Microsoft Fabric을 Lovable에 연결하기
Connectors에서 Microsoft Fabric 열기
Connectors를 열고 Microsoft Fabric을 선택합니다. Catalog를 여는 다른 위치는 Connector 찾기를 참고하세요.
연결 추가
Add connection을 클릭합니다.
연결 이름 지정
Display name에 Lovable에서 이 연결을 식별할 이름(예: Fabric Analytics)을 입력합니다.
자격 증명 입력
- Microsoft Entra Tenant ID: Microsoft Entra tenant의 Directory (tenant) ID
- Service Principal Client ID: service principal의 Application (client) ID
- Client Secret: service principal용으로 생성한 client secret value
- Fabric GraphQL Endpoint: API for GraphQL 항목에서 복사한 전체 URL(예:
https://api.fabric.microsoft.com/v1/workspaces/<workspace-id>/graphqlapis/<api-id>/graphql). URL은/graphql로 끝나야 합니다.
연결 사용 권한 선택
Who can use this connection에서 workspace 내 연결 사용 권한을 결정합니다.
- Only you (기본값): 연결을 만든 사용자만 연결과 관련 데이터를 사용할 수 있습니다.
- Invite specific people: 본인과 명시적으로 추가한 workspace 멤버만 연결과 관련 데이터를 사용할 수 있습니다.
- Invite entire workspace: Invite entire workspace를 클릭하여 Lovable workspace의 모든 사용자가 연결을 사용할 수 있도록 합니다.
자세한 내용은 연결과 client를 사용할 수 있는 사용자를 참고하세요.
연결
Connect를 클릭합니다. Lovable이 endpoint에 GraphQL introspection 쿼리를 실행하여 연결을 즉시 테스트합니다. 테스트에 실패하는 원인은 대부분 1단계의 항목을 누락했기 때문입니다. 문제 해결을 참고하세요.
연결이 완료되면 Fabric 데이터를 조회할 프로젝트에 연결을 연결하고 앱 빌드를 시작할 수 있습니다.
제한 사항
- GraphQL API 전용: Connector는 API for GraphQL 항목만 호출합니다. Fabric REST API, 직접 SQL 또는 KQL endpoint, OneLake file 접근은 지원하지 않습니다. 앱에 필요한 테이블은 먼저 API 항목에 추가해야 합니다.
- 쓰기 작업은 SQL store에서만 지원: 생성, 수정, 삭제, stored procedure 호출은 Fabric Warehouse, Fabric SQL 데이터베이스, Azure SQL 데이터베이스에서 작동합니다. Lakehouse, KQL 데이터베이스, 모든 미러링 소스는 읽기 전용입니다.
- 스키마는 API 항목 owner가 공개한 범위로 제한: 앱에는 API for GraphQL 항목에 추가된 테이블, 뷰, 관계 중 service principal에 권한이 부여된 항목만 표시됩니다.
- 플랫폼 상한: Fabric은 모든 페이지를 합쳐 쿼리당 최대 100,000개 행을 반환하고, 응답을 64MB로 제한하며, 요청은 100초 후 timeout됩니다.
- 최종 사용자별 Microsoft login 미지원: 하나의 연결로 빌드된 모든 기능은 동일한 공유 service principal을 통해 Fabric을 조회합니다. 접근을 분리하려면 별도의 service principal로 연결을 각각 만드세요.
문제 해결
Lovable은 Connect를 클릭하는 즉시 모든 Microsoft Fabric 연결을 확인하므로, 오류가 바로 표시되며 Fabric 또는 Microsoft Entra 설정에서 원인을 찾을 수 있습니다. 자주 발생하는 문제는 다음과 같습니다.
Microsoft Fabric 연결 관리하기
연결은 Connectors에서 관리합니다. **Microsoft Fabric**을 선택한 다음 연결을 여세요.
- Unlink projects를 사용하면 다른 프로젝트에서 연결을 계속 사용할 수 있도록 유지하면서 특정 프로젝트의 Microsoft Fabric 접근 권한만 제거할 수 있습니다. 단계별 안내는 연결에서 프로젝트 연결 해제하기를 참고하세요.
- Delete the connection을 사용하면 workspace에서 연결을 완전히 제거합니다. 삭제는 영구적입니다. 연결된 모든 프로젝트에서 자격 증명이 제거되고, 새 연결을 추가할 때까지 Microsoft Fabric을 사용하는 앱 기능이 작동하지 않습니다. 단계와 삭제 권한은 연결 삭제하기를 참고하세요.