Fabric 앱(미리 보기)이란?

Fabric 앱(미리 보기)을 사용하면 데이터 모델, 생성된 API, 인증 및 호스팅을 하나의 개발 워크플로에서 결합하여 Microsoft Fabric 데이터 기반 애플리케이션을 빌드할 수 있습니다. TypeScript에서 데이터 모델을 정의하고 Fabric 앱은 이를 사용하여 앱에 필요한 백 엔드 조각을 생성합니다. Fabric 앱은 데이터 모델, 클라이언트 코드 및 애플리케이션 논리에 대한 언어로 TypeScript 지원합니다.

Important

이 기능은 프리뷰 상태입니다.

주요 기능

Fabric 앱은 다음과 같은 기능을 제공합니다.

  • 데이터 모델을 API로 – , @entity()@text()및 기타 데코레이터를 사용하여 @uuid()TypeScript 클래스를 데코레이트합니다. Fabric 앱은 데이터베이스 스키마 및 GraphQL 엔드포인트를 자동으로 생성합니다.
  • 형식이 안전한 클라이언트 – 클라이언트 SDK는 백 엔드에 도달하기 전에 쿼리 및 변형의 유효성을 검사하여 개발 중에 오류를 catch합니다.
  • 기본 제공 인증 – 세션 관리, 토큰 처리 및 인증 흐름이 포함됩니다. 배포된 애플리케이션에 대한 Fabric SSO를 구성하거나 로컬 개발 중에 전자 메일 및 암호를 사용합니다.
  • 정적 호스팅 – 단일 배포 명령을 사용하여 백 엔드 API와 함께 프런트 엔드 애플리케이션을 빌드하고 제공합니다.
  • 로컬 개발 – 빠른 반복을 위해 Docker를 사용하여 로컬로 전체 스택을 실행한 다음 프로덕션 준비가 되면 Microsoft Fabric 배포합니다. 프로젝트를 스캐폴드하고, GitHub Copilot 사용하여 개발하고, Rayfin CLI를 사용하여 Fabric 배포합니다.

사전 요구 사항

패브릭 용량

작업 영역에 Fabric 용량이 할당되어 있어야 합니다. 새 작업 영역을 만들 때 연결할 Fabric 용량을 선택합니다. Fabric 앱 서비스는 할당된 용량에서 용량 단위를 사용합니다.

테넌트 관리자 설정

사용자가 항목을 만들려면 먼저 Fabric 테넌트 관리자가 Fabric 앱 워크로드를 사용하도록 설정해야 합니다.

  1. 패브릭 관리 포털에 로그인합니다.
  2. 테넌트 설정으로 이동합니다.
  3. Fabric 앱(미리 보기) 아래에서 설정을 Enabled로 전환합니다.
  4. 전체 조직 또는 특정 보안 그룹에 대해 사용하도록 설정할지 여부를 선택합니다.
  5. 적용을 선택합니다.

변경 내용을 전파하는 데 몇 분 정도 걸릴 수 있습니다.

작동 방식

Fabric 앱은 앱 호스팅, 데이터베이스, GraphQL API 및 인증과 같은 백 엔드를 정의하는 서비스 모음을 사용하여 Microsoft Fabric 관리되는 서비스로 실행됩니다. Fabric 호스팅, 네트워킹 및 크기 조정을 관리합니다. 인증은 Fabric SSO(Microsoft Entra ID Single Sign-On)를 단독으로 사용합니다. 배포 후에는 다른 인증 공급자를 사용할 수 없습니다.

Fabric 앱 관리 서비스 및 구성 요소를 보여 주는 스크린샷.

rayfin up 사용하여 애플리케이션을 배포하는 경우 Fabric rayfin.yml 구성에 따라 자식 서비스를 만듭니다. 이러한 자식 서비스는 Fabric 포털의 Fabric 앱 아래에 자식 항목으로 표시됩니다.

자식 서비스 제공하는 내용 포털 기능
Fabric의 SQL 데이터베이스 TypeScript 데이터 모델 데코레이터를 통해 스키마가 적용된 관리형 SQL 데이터베이스. 데이터베이스를 보고, 쿼리 편집기를 사용하여 쿼리를 실행하고, 연결 문자열 복사합니다. 데이터베이스는 포털에서 읽기 전용이므로 스키마 변경은 rayfin up를 통해 사용자의 코드에서 이루어져야 합니다.
인증 Microsoft Entra ID(SSO)를 사용하는 Fabric 브로커 인증 사용자는 기존 Fabric ID를 통해 로그인합니다. SQL 데이터베이스에서 인증된 사용자를 봅니다.
정적 콘텐츠 빌드된 프런트 엔드 자산(HTML, CSS, JS)은 OneLake 스토리지를 사용하여 공용 URL에서 제공됩니다. 호스팅 URL을 봅니다. 자산은 각 배포에서 업데이트됩니다.

앱 백엔드 URL

각 Fabric 앱에는 모든 서비스에 대한 액세스를 제공하는 단일 엔드포인트가 있습니다.

https://<your-app>-app.rayfin.windows.net/

엔드포인트는 각 서비스에 대한 경로를 노출합니다.

Path 서비스
/api/graphql 데이터 API(GraphQL) - 읽기 및 쓰기 작업에 사용됩니다 RayfinClient .
/auth 인증 서비스
/storage 파일 저장소

Fabric 포털의 관리

배포 후 Fabric 포털에서 직접 Fabric 앱을 관리할 수 있습니다.

항목 속성 보기

포털에서 Fabric 앱을 열어 다음을 확인합니다.

  • 앱 백 엔드 URL - 이 엔드포인트는 애플리케이션에서 사용하는 모든 백 엔드 서비스에 사용됩니다.
  • 앱 URL - 정적 콘텐츠가 호스트되는 공용 URL입니다. 앱에 액세스하려면 Fabric SSO가 필요합니다.

자식 항목 관리

Fabric 앱을 선택하여 해당 자식 서비스를 확인합니다.

  • SQL 데이터베이스 Fabric - Fabric SQL Database 항목을 열어 개체 탐색기를 봅니다. 데이터에 대해 읽기 쿼리를 실행할 수 있습니다. 스키마 변경은 항상 폴더 아래 rayfin/data 의 코드에서 수행해야 합니다. 스키마 충돌은 SQL Database에서 스키마가 직접 변경되고 앱을 중단할 수 있는 경우 발생할 수 있습니다.

항목 권한

작업 영역 역할은 항목 수준 권한을 대체하지 않습니다. 조직의 다른 사용자와 앱을 공유하려면 앱을 실행하고 백 엔드 API를 호출하려면 실행 및 상호 작용 권한(읽기 및 실행)이 필요합니다.

허가 허용되는 내용
실행 및 상호 작용 (기본값) 배포된 애플리케이션을 열고 사용합니다. 모든 작업 영역 멤버는 기본적으로 이 수준을 받습니다.
편집(쓰기) Fabric 앱 수정 - rayfin up 사용하여 코드를 배포하고, 스키마 변경 내용을 적용하고, 설정을 업데이트하고, 자식 서비스를 관리합니다.
다시 공유 다른 사용자에게 Fabric 앱에 대한 액세스 권한을 부여합니다. 작업 영역에서 관리자 역할이 필요합니다.

작업 영역 역할에 대해 자세히 알아봅니다.

Rayfin CLI를 사용한 개발

CLI는 새 프로젝트를 스캐폴드하고, 로컬 인프라를 시작하고, 스키마 변경 내용을 동기화하고, Fabric 배포합니다. npm create @microsoft/rayfin@latest로 설치합니다.

키 명령:

Command Purpose
npm create @microsoft/rayfin@latest 템플릿에서 새 프로젝트를 만듭니다.
npx rayfin up 프로젝트를 Fabric에 배포하세요.
npx rayfin up db apply 데이터베이스 스키마 변경 내용을 적용합니다.

전체 명령 참조는 CLI 참조를 참조하세요.

데이터 모델 데코레이터

TypeScript 데코레이터를 사용하여 데이터 모델을 정의합니다.

import {
  entity,
  role,
  text,
  boolean,
  date,
  uuid,
} from '@microsoft/rayfin-core';

@entity()
@role('authenticated', '*', {
  policy: (claims, item) => claims.sub.eq(item.user_id),
})
export class Todo {
  @uuid() id!: string;
  @text({ min: 1, max: 100 }) title!: string;
  @boolean() isCompleted!: boolean;
  @date() createdAt!: Date;
  @date({ optional: true }) dueDate?: Date;
  @text() user_id!: string;
}

Fabric 앱은 이러한 데코레이터를 분석하고 다음을 생성합니다.

  • 데이터베이스 테이블 정의
  • GraphQL API 엔드포인트
  • 행 수준 권한 부여 규칙
  • 형식이 안전한 클라이언트 메서드

Fabric 앱을 사용하는 경우

Fabric 앱은 다음 작업에 적합합니다.

  • 빠른 프로토타입 생성 – 미리 구성된 인프라를 사용하여 몇 분 안에 아이디어에서 라이브 URL로 이동합니다.
  • 내부 도구 및 대시보드 – 백 엔드 상용구를 작성하지 않고 인증된 관리 인터페이스를 빌드합니다.
  • 데이터 탐색 및 시각화 – GraphQL을 통해 Fabric 데이터를 쿼리하고 사용자 지정 프런트 엔드에 표시합니다.
  • AI 및 에이전트 애플리케이션 – 영구 상태가 필요한 AI 에이전트에 대해 구조화된 백 엔드 서비스를 제공합니다.

Fabric 앱은 다음에 적합하지 않을 수 있습니다.

  • 복잡한 다단계 트랜잭션 또는 저장 프로시저가 필요한 애플리케이션.
  • Fabric SSO 및 전자 메일/암호 이외의 사용자 지정 인증 공급자가 필요한 앱입니다.

보안 책임

Fabric는 Fabric Microsoft Entra ID(Single Sign-On), @role 데코레이터, HTTPS, PKCE 및 작업 영역 및 항목 수준 권한을 통한 행 수준 보안을 제공합니다.

다음을 담당합니다.

  • 코드, 프런트 엔드 자산 및 리포지토리에서 비밀, API 키 및 중요한 데이터를 유지합니다. 정적 콘텐츠는 공용 URL에서 제공됩니다.
  • 코드가 인증된 사용자가 보고 수행하는 작업을 제어하기 때문에 Fabric SSO를 통해 앱이 노출하는 항목은 로그인을 제어합니다.
  • 기여자가 앱을 배포하거나 관리하는 데 필요한 권한만 부여합니다.
  • 앱이 수집, 처리 및 저장하는 데이터에 대한 법률 및 규정 준수 책임입니다.

다음 단계