이 문서에서는 Microsoft Fabric 앱에 대한 일반적인 질문에 답변합니다.
General
Fabric 앱이란?
Fabric 앱은 TypeScript 개발자가 데이터 기반 애플리케이션을 더 빠르게 빌드하고 배포하는 데 도움이 되는 백 엔드 플랫폼입니다. TypeScript 데코레이터를 사용하여 데이터 모델을 정의하고 Fabric 앱은 GraphQL API, 데이터베이스 스키마 및 형식이 안전한 클라이언트를 자동으로 생성합니다.
Fabric 앱을 사용해야 하는 사람은 누구인가요?
Fabric 앱은 다음을 구축하는 개발자에게 이상적입니다:
- 내부 도구 및 대시보드
- 데이터 탐색 및 시각화 애플리케이션
- 신속한 프로토타입
- 영구 상태가 필요한 AI 및 에이전트 애플리케이션
지원되는 데이터베이스는 무엇인가요?
Fabric 앱은 SQL Server – Fabric 배포에 대한 기본값을 지원합니다.
기존 데이터베이스에서 Fabric 앱을 사용할 수 있나요?
No. Fabric 앱은 TypeScript 데이터 모델을 기반으로 데이터베이스 스키마를 관리합니다. 미리 정의된 스키마를 사용하여 기존 데이터베이스를 가리킬 수 없습니다.
발달
CLI를 설치하려면 어떻게 해야 하나요?
를 사용하여 Rayfin CLI를 npm설치할 수 있습니다. npm 패키지이므로 .으로 npm update업데이트할 수 있습니다.
npm i @microsoft/rayfin-cli
TypeScript 없이 Fabric 앱을 사용할 수 있나요?
No. 데이터 모델은 TypeScript 데코레이터를 사용하여 정의해야 합니다. 프런트 엔드 애플리케이션은 JavaScript를 사용할 수 있지만 백 엔드에는 모델 정의에 TypeScript가 필요합니다.
지원되는 프런트 엔드 프레임워크는 무엇인가요?
Fabric 앱은 HTTP 요청을 수행할 수 있는 프런트 엔드 프레임워크에서 작동합니다.
- React
- Vue
- Angular
- Svelte
- Vanilla JavaScript/TypeScript
클라이언트 SDK는 모든 프레임워크에 대해 형식이 안전한 API를 제공합니다.
Authentication
지원되는 인증 방법은 무엇인가요?
| 환경 | 지원되는 메서드 |
|---|---|
| 지역 개발 | Microsoft Entra SSO 및 이메일/암호 |
| Fabric에 배포됨 | Microsoft Entra SSO만 |
비고
Fabric 배포한 후에는 전자 메일 및 암호 인증이 작동하지 않습니다. 인증을 사용하도록 설정하지 않으면 Fabric 앱을 배포할 수 없습니다.
사용자 지정 인증 공급자를 사용할 수 있나요?
No. Fabric 앱은 SSO(Single Sign-On) 및 전자 메일/암호만 Microsoft Entra 지원합니다. 다른 공급자는 통합할 수 없습니다.
Deployment
인증을 사용하지 않고 앱을 배포할 수 있나요?
No. Fabric에서는 Fabric 앱을 배포하기 전에 Fabric 인증을 활성화해야 합니다.
여러 환경(개발, 스테이징, 프로덕션)에 배포할 수 있나요?
별도의 Fabric 작업 영역을 수동으로 관리하고 다른 항목에 배포할 수 있습니다.
배포는 얼마나 걸리나요?
초기 배포에는 일반적으로 2~5분이 걸립니다. (정적 콘텐츠만 해당)를 사용한 npx rayfin up staticapp deploy 후속 배포에는 30-60초가 걸립니다.
배포를 롤백할 수 있나요?
이전 git 커밋을 체크 아웃하고 실행 npx rayfin up하여 이전 버전을 다시 배포합니다.
배포 오류를 디버그하려면 어떻게 해야 하나요?
-
빌드 오류 - 배포하기 전에 실행
npm run build합니다. 가장 일반적인 배포 실패는 누락된 프로덕션 빌드입니다. 빌드가 성공하면 실행npx rayfin up합니다. - 용량 또는 사용 권한 오류 — 작업 영역에 Fabric 용량이 할당되어 있고 작업 영역에서 항목을 만들거나 수정할 수 있는 권한이 있는지 확인합니다.
- 데이터베이스 스키마 오류 - 데이터베이스 스키마를 적용하는 동안 오류가 발생하는 경우 마지막으로 배포에 성공한 이후 변경한 스키마를 검토하고 충돌을 해결합니다.
데이터 모델
복합 기본 키를 사용할 수 있나요?
No. 모든 엔터티는 기본 키로 명명된 id 단일 UUID 필드를 사용해야 합니다.
다대다 관계가 지원되나요?
No. 대신 두 개의 @one() 탐색 데코레이터가 있는 명시적 조인 엔터티를 사용합니다.
사용자 지정 SQL 쿼리를 작성할 수 있나요?
직접 SQL 쿼리 지원이 없습니다. 모든 데이터 액세스는 생성된 GraphQL API를 통과합니다.
성능과 규모
성능 제한은 무엇인가요?
성능은 Fabric 용량에 따라 달라집니다. 용량별 제한은 Fabric 관리자에게 문의하세요.
쿼리 결과를 캐시할 수 있나요?
Yes. 프런트 엔드 애플리케이션에서 클라이언트 쪽 캐싱을 구현합니다. 백 엔드는 기본 제공 캐싱을 제공하지 않습니다.
쿼리 성능을 최적화하려면 어떻게 해야 하나요?
- 필요한 필드만 선택
- 큰 결과 집합에 페이지 매김 사용
- 여러 요청을 하는 대신 단일 쿼리에 관련 엔터티 필드 포함
Security
데이터는 어떻게 보호되는가?
- 인증은 기본적으로 필요합니다(엔터티당 구성 가능)
- 행 수준 보안 정책은 JWT 클레임을 기반으로 데이터를 필터링합니다.
- 모든 통신은 Fabric 배포에서 HTTPS를 사용합니다.
Limitations
현재 제한 사항은 무엇인가요?
-
count()는 Fluent GraphQL 클라이언트에서는 사용할 수 없습니다 - 다대다 관계는 지원되지 않습니다.
- 복합 기본 키는 지원되지 않습니다.
- 사용자 지정 인증 공급자는 지원되지 않습니다.
- 여러 환경 관리를 기본으로 사용할 수 없습니다.
해결 방법은 앱 Fabric 문제 해결 참조하세요.
내 데이터를 내보낼 수 있나요?
Yes. 연결 문자열 있는 경우 SQL 데이터베이스에 직접 연결할 수도 있습니다.