什麼是 Fabric 應用程式(預覽版)?

Fabric Apps(預覽版)協助你在 Microsoft Fabric 上建立資料驅動應用程式,結合資料模型、產生的 API、認證與主機託管於一個開發流程中。 你可以在 TypeScript 中定義資料模型,Fabric Apps 會用它們來產生應用程式所需的後端部分。 Fabric Apps 支援 TypeScript 作為資料模型、客戶端程式碼及應用邏輯的語言。

Important

這項功能目前處於預覽階段。

關鍵功能

Fabric Apps 提供以下功能:

  • 從資料模型到 API – 使用 @entity()@text()@uuid() 及其他裝飾器來裝飾 TypeScript 類別。 Fabric Apps 會自動產生資料庫架構與 GraphQL 端點。
  • 型別安全客戶端 ——客戶端 SDK 會在查詢與變異到達後端前驗證,並在開發過程中捕捉錯誤。
  • 內建認證 – 包含會話管理、權杖處理及認證流程。 為已部署的應用程式設定 Fabric SSO,或在本地開發時使用電子郵件與密碼。
  • 靜態主機 — 只需一個部署指令,就能在後端 API 旁建置並服務你的前端應用程式。
  • Local development – 用 Docker 本地執行全端以快速迭代,準備好後部署到 Microsoft Fabric。 建立專案骨架、使用 GitHub Copilot 進行開發,並使用 Rayfin CLI 部署至 Fabric。

先決條件

織物容量

你的工作區必須有分配 Fabric 容量。 建立新工作區時,請選擇要與該工作區建立關聯的 Fabric 容量。 Fabric Apps 服務會從指派的容量中耗用容量單位。

租戶管理員設定

Fabric 租戶管理員必須先啟用 Fabric Apps 工作負載,使用者才能建立項目。

  1. 登入 Fabric 管理入口網站
  2. 進入 租戶設定
  3. Fabric Apps (preview),將設定切換為 Enabled
  4. 選擇是為整個組織啟用,還是針對特定安全群組啟用。
  5. 選擇 「申請」

變化可能需要幾分鐘才能傳播。

運作原理

Fabric 應用程式在 Microsoft Fabric 中以管理服務形式執行,並包含定義後端的一系列服務,如應用程式主機、資料庫、GraphQL API 及認證。 Fabric 負責主機託管、網路與擴展。 認證僅使用 Fabric SSO(Microsoft Entra ID 單一登入)——部署後不再提供其他認證提供者。

截圖,顯示Fabric應用程式管理服務與元件。

當你使用 rayfin up 部署應用程式時,Fabric 會根據你的 rayfin.yml 設定來建立子服務。 這些兒童服務會在 Fabric 入口網站的 Fabric 應用程式中以兒童項目形式出現。

兒童服務 它所提供的是什麼 入口功能
Fabric 中的 SQL 資料庫 一個管理式 SQL 資料庫,並將你的結構描述透過 TypeScript 資料模型裝飾器套用其中。 查看資料庫,使用查詢編輯器執行查詢,複製連線字串。 資料庫在入口網站中是唯讀的——結構變更必須由您的程式碼透過 rayfin up 進行。
驗證 Fabric 使用 Microsoft Entra ID(SSO)進行代理驗證。 使用者透過現有的 Fabric 身份登入。 在 SQL 資料庫中查看已認證的使用者。
靜態內容 您建置的前端資產(HTML、CSS、JS)使用 OneLake 儲存體,並透過公開 URL 提供。 查看主機網址。 資產會在每次部署時更新。

應用程式後端網址

每個 Fabric 應用程式都有一個端點,提供所有服務的存取:

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

端點會為每個服務暴露一條路徑:

路徑 Service
/api/graphql 資料 API(GraphQL)— 供 RayfinClient 用於讀取與寫入作業
/auth 認證服務
/storage 檔案記憶體

Fabric 入口網站中的管理

部署完成後,你可以直接在 Fabric 入口網站管理你的 Fabric 應用程式。

查看項目屬性

在入口網站開啟 Fabric 應用程式,可以看到:

  • 應用程式後端網址 — 此端點用於應用程式所使用的所有後端服務。
  • App URL — 你靜態內容所託管的公開網址。 存取該應用程式需要 Fabric SSO。

管理子項目

選擇 Fabric 應用程式以查看其兒童服務:

  • SQL 資料庫 Fabric — 開啟 Fabric SQL 資料庫項目以檢視物件探索器。 你可以對資料執行讀取查詢。 架構變更應該總是在資料夾下的 rayfin/data 程式碼中進行。 如果直接在 SQL 資料庫中更改結構,可能會發生結構衝突,並可能導致應用程式失效。

項目權限

Workspace 角色不會凌駕於項目層級的權限。 要與組織內的某人分享應用程式,他們需要 執行與互動 權限(讀取與執行)來執行該應用程式並調用後端 API。

許可 它允許什麼
執行與互動 (預設) 打開並使用已部署的應用程式。 所有工作區成員預設都會收到此層級。
編輯(寫) 修改 Fabric 應用程式——部署帶有 rayfin up 的程式碼,套用結構變更,更新設定,並管理子服務。
重分享 授權其他使用者使用 Fabric 應用程式。 需要在工作區擔任 管理員 角色。

了解更多關於 工作區職務的資訊。

使用 Rayfin CLI 的開發

CLI 負責搭建新專案、啟動本地基礎設施、同步結構變更,並部署到 Fabric。 使用 npm create @microsoft/rayfin@latest 安裝。

關鍵指令:

命令 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 Apps 會分析這些裝飾項,並產生:

  • 資料庫資料表定義
  • GraphQL API 端點
  • 列層級授權規則
  • 型別安全的用戶端方法

何時使用 Fabric 應用程式

Fabric Apps 最適合:

  • 快速原型製作 ——利用預先設定的基礎設施,從構想到即時網址只需幾分鐘。
  • 內部工具與儀表板 ——建立認證的管理介面,無需撰寫後端範本。
  • 資料探索與視覺化 – 透過 GraphQL 查詢Fabric資料,並在自訂前端顯示。
  • AI 與代理應用 – 為需要持久狀態的 AI 代理提供結構化後端服務。

Fabric 應用程式可能不適合:

  • 需要複雜多步驟交易或儲存程序的應用。
  • 需要自訂認證提供者的應用程式,除了 Fabric SSO 和電子郵件/密碼之外。

安全職責

Fabric 提供:Fabric 單一登入(Microsoft Entra ID)、透過 @role 裝飾項實作的資料列層級安全性、HTTPS、PKCE,以及工作區和項目層級權限。

你負責:

  • 將秘密、API 金鑰和敏感資料排除在程式碼、前端資產和資料庫之外。 靜態內容則由公開網址提供。
  • 你的應用程式透過 Fabric SSO 暴露的內容會控制登入,因為你的程式碼控制了經過認證的使用者看到和做什麼。
  • 只授予貢獻者部署或管理應用程式所需的權限。
  • 你的應用程式所收集、處理及儲存之資料的法律與合規責任。

下一步